Aniversariantes do dia - C# DateOnly
Olá pessoal, meu nome é Mauricio Junior e hoje eu vou falar um pouco sobre o C# com a variável do tipo DateOnly que representa apenas o dia, mês e ano. Isso mesmo, não existe time para esse tipo.
Eu estava trabalhando e desenvolvendo um sistema que tinha esse campo e eu preciso mostrar os aniversariantes do dia na tela. O que eu fiz foi Web mas pode ser feito o mesmo com Desktop ou Api.
Esee é o campo:
public DateOnly PacientBirthday { get; set; }
Como eu já tenho um método que retorna todos os usuários do sistema, agora eu preciso fazer uma busca neste campo que analisa o valor para informar que esse determinado paciente vai fazer aniversário hoje.
O primeiro ponto é: o aniversariante não pode ser verificado pelo ano, para identificar o sistema é necessário verificar o mês e o dia com o valor do database.
Segundo: Para esse tipo de campo você pode fazer uma verificação usando LINQ sem qualquer problema.
Pega todos os pacientes:
var pacients = _clinicPacientService.GetAll();
Pega o dia de hoje pelo DateOnly:
DateOnly.FromDateTime(DateTime.Today).Day
Pega o mês de hoje pelo DateOnly:
DateOnly.FromDateTime(DateTime.Today).Month
Dentro da variável pacients eu posso verificar com o .where para verificar se o paciente aparece na lista.
Pesquisa com o LINQ:
//filtering
var results = pacients
.Where(x => x.PacientBirthday.Day == DateOnly.FromDateTime(DateTime.Today).Day &&
x.PacientBirthday.Month == DateOnly.FromDateTime(DateTime.Today).Month);
Note que eu verifiquei o dia e o mês para que identifique quem pode ser o aniversariante do dia.
Espero ter ajudado e qualquer dúvida pode entrar em contato comigo pelo site www.mauriciojunior.net.
Subscribe ecode10.com
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
You can cancel anytime.
Log In