Olá, Adriano.
Tudo bem?
Pelas imagens que você compartilhou, parece que as datas de nascimento estão sendo salvas com o valor mínimo padrão do tipo DateTime
, que é 0001-01-01 00:00:00.000000
. Isso geralmente ocorre quando a data não é fornecida ou é fornecida de forma inválida, fazendo com que o DateTime
seja inicializado com seu valor padrão.
Considerando o contexto da sua atividade, aqui estão algumas verificações e passos que você pode seguir para resolver esse problema:
Verifique o Mapeamento DTO para Entidade: Certifique-se de que o mapeamento do CreateUsuarioDto
para a entidade Usuario
está sendo feito corretamente, especialmente para o campo DataNascimento
. Se estiver usando o AutoMapper, verifique as configurações de mapeamento.
Verifique os Dados Recebidos no Controller: Confirme se o campo DataNascimento
está sendo recebido corretamente no método CadastraUsuario
do seu controller. Você pode fazer isso inspecionando o valor de dto.DataNascimento
antes de mapeá-lo para a entidade Usuario
.
Análise de Model Binding: O ASP.NET Core utiliza o model binding para converter os dados de entrada em tipos .NET. Se o formato da data de nascimento não estiver compatível com o esperado pelo model binder, ele pode não ser capaz de converter corretamente e atribuir o valor padrão. Verifique se o formato da data de nascimento enviada na requisição está em conformidade com o esperado pela API.
Validação de Modelo: Certifique-se de que a validação do modelo não está falhando para o campo DataNascimento
. Se houver alguma regra de validação que não esteja sendo atendida, o valor pode não ser definido corretamente.
Debugging: Utilize a depuração para acompanhar o fluxo de dados desde o recebimento do DTO até a chamada do método CreateAsync
do UserManager. Isso ajudará a identificar em que ponto o valor da data de nascimento está sendo perdido ou alterado.
Verificação do Banco de Dados: Assegure-se de que o campo DataNascimento
na tabela do banco de dados esteja configurado para aceitar datas. Se o campo estiver definido como NOT NULL sem um valor padrão apropriado, e se um valor válido não for fornecido, o banco de dados pode estar preenchendo-o com o valor mínimo.
Se após essas verificações o problema persistir, você pode compartilhar um trecho do código onde o CreateUsuarioDto
é recebido e mapeado para a entidade Usuario
, assim como o trecho onde o usuário é salvo no banco de dados. Com essas informações, poderei fornecer uma orientação mais precisa.
Espero ter ajudado e bons estudos!
Olá, Renan.
Realizei o passo a passo e consegui resolver o problema. Obrigado.