dotnetbr | Неотсортированное

Telegram-канал dotnetbr - .NET BR 🇧🇷

3740

🔥Desde 2016! 💥O maior e mais ativo grupo de .NET do Telegram há 9 anos. 🎯Grupo sobre .NET, ASP.NET, Mono, .NET Core, Xamarin, C# etc. Use /info para as regras e informações adicionais. 👉Regras: go.gaGO.io/dotnetbr-rules

Подписаться на канал

.NET BR 🇧🇷

Eu só queria dar clareza sobre o que estávamos falando.

Formato
Validade (conformidade)
Existência (fidelidade)

Para que ele não fizesse tivesse todas as informações para não fazer besteira, ou pior, assumir de antemão conceitos equivocados.

Читать полностью…

.NET BR 🇧🇷

Mas aí já teria que usar uma API externa pra garantir 🤡

Читать полностью…

.NET BR 🇧🇷

e essa implementação ainda não garante que seja um CPF existente na Receita Federal

Читать полностью…

.NET BR 🇧🇷

fiz um exemplo no Replit de como, mais ou menos, está implementada minha classe

(p.s.:não é o mesmo código e a parte de validação eu pedi pra LLM gerar, então não tenho certeza de que está 100% correto)

(p.s.2: eu costumo habilitar o <Nullable> em meus projetos, mas não funciona no Replit)

TenshiZer0/ExemploCpf?v=1" rel="nofollow">https://replit.com/@TenshiZer0/ExemploCpf?v=1

Читать полностью…

.NET BR 🇧🇷

Boa lembrança, mas lembra que número de CPF formatado não é o suficiente para ser válido.

Um CPF ou CNPJ para ser válido precisa que o digito seja verificado.

E isso ainda não tem relação com ser existente ou real, ainda estamos falando apenas sobre ser um número válido.

Читать полностью…

.NET BR 🇧🇷

Quem vem do javascript ou PHP está acostumado a fazer tudo em um projeto só, separando tudo em pastas.

Aqui temos mais uma camada de separação, os projetos.

Читать полностью…

.NET BR 🇧🇷

Cuidado para não confundir lazy load nas entidades e propriedades com uma conexão criada com lazy.

Читать полностью…

.NET BR 🇧🇷

Valeu cara!, vou testar aqui

Читать полностью…

.NET BR 🇧🇷

<input type="text" id="cpf" name="Cpf" class="form-control" data-mask="000.000.000-00">

Читать полностью…

.NET BR 🇧🇷

Bom? teve problemas?

Читать полностью…

.NET BR 🇧🇷

Primeira vez mexendo com essa tecnologia e estou bem perdido kkk

Читать полностью…

.NET BR 🇧🇷

É que ele falou manualmente, então quis dar um exemplo sem libs.

Читать полностью…

.NET BR 🇧🇷

Obrigado pelos links

Читать полностью…

.NET BR 🇧🇷

Tem um detalhe que eu acho importante: quando você implementa o UnitOfWork, qualquer ação de qualquer repo pode ser chamada em qualquer momento e em qualquer ordem. Assim, o único ponto comum é o construtor: seja do DbSession (exemplo do Balta) seja do UnitOfWork (exemplo do Tim)

Читать полностью…

.NET BR 🇧🇷

O Balta tem esse exemplo aqui e ele inicia a conexão no construtor também.

https://balta.io/blog/dapper-unit-of-work-repository-pattern

E tem também esse repo em que a conexão é aberta no construtor do Unit (o que teria o mesmo “problema”). Esse repo tem vários forks e várias estrelas (embora nunca tenha visto ele antes).
https://github.com/timschreiber/DapperUnitOfWork/blob/master/DapperUnitOfWork/UnitOfWork.cs

Honestamente eu não tenho preferência em abrir a conexão 50 ms antes ou depois e não sei se vai fazer alguma diferença.

Читать полностью…

.NET BR 🇧🇷

Eu acho que o colega só quer mesmo para estudos e formato válido dos nossos amigos cpf e cnpj

Читать полностью…

.NET BR 🇧🇷

era isso que eu queria dizer

Читать полностью…

.NET BR 🇧🇷

a vantagem que eu vejo em fazer dessa forma é que, além de ficar centralizada a validação do CPF, também garante que, em qualquer parte do meu projeto, se eu receber um objeto Cpf, ele vai sempre ser um Cpf válido

Читать полностью…

.NET BR 🇧🇷

Primitive obsession.

Aqui pra empresa, eu criei uma lib de tipos que acabam indo em todos os projetos. CPF e CNPJ são dois desses tipos. Nossos modelos não tem um string Cpf ou um string Cnpj, mas sim um

public Cpf Cpf { get; }
public Cnpj Cnpj { get; }

Eles implementam a interface IParsable, então é só fazer Cnpj.TryParse, que ele faz a verificação inclusive dos dígitos

Читать полностью…

.NET BR 🇧🇷

Se for no model e só colocar uma expressão regular de cpf

[RegularExpression("xyz")]
public string Cpf { get; set; }

Читать полностью…

.NET BR 🇧🇷

Fica em outra classe, que por sua vez não deveria estar nesse projeto.

Читать полностью…

.NET BR 🇧🇷

Se você respeitar o escopo (scoped da injeção de dependências do aspnet) para fazer o lazy, não há impacto.

Читать полностью…

.NET BR 🇧🇷

Creio que só assim dá bom

Читать полностью…

.NET BR 🇧🇷

No caso só o formato, né?

Читать полностью…

.NET BR 🇧🇷

Eu ja vi esse lá... fiquei entre ele e o QRCoder

Читать полностью…

.NET BR 🇧🇷

Boa tarde pessoal tudo joia? eu estou fazendo um projeto com ASP.NET Core MVC, um verificador de CPF coisa simples, e eu queria saber em qual arquivo que eu devo colocar o algoritmo de cálculo para fazer a verificação e retornar a resposta para o usuário, se é no index.cshtml, ou no program.cs

Читать полностью…

.NET BR 🇧🇷

Mapperly faz toda a geração do mapeamento com source generators

Читать полностью…

.NET BR 🇧🇷

Interessante. Acho que a ideia é mesmo manter a consistência. Tentei trazer a ideia e esse padrão para a aplicação, mas estão achando um absurdo isso. O tech lead disse que eu estou trazendo muita complexidade.

Читать полностью…

.NET BR 🇧🇷

Da sim. Como eu disse, não curti a UX.
Poderia ser uma única visão já o padrão.

Читать полностью…

.NET BR 🇧🇷

Fala galera, surgiu aqui uma questão:

Estamos trabalhando com o Dapper e resolvi implementar o padrão UoW (AddScoped), onde no construtor a factory cria e abre a conexão. No entanto, um outro dev viu um absurdo nisso, pois neste caso conexão é aberta logo quando a requisição é enviada para a aplicação.
Ele quer que a conexão seja aberta exatamente no momento de fazer a consulta na base (na linha acima do QueryAsync()). Parece que o lazy loading resolveria isto, mas pode ter outros impactos. A questão é: saber onde é o momento exato para abrir a conexão em uma webapi muito simples, não é overthinking?

Читать полностью…
Подписаться на канал