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.
Related articles
C# even or odd
Coding in practice
Curso básico de C# com aulas grátis
10 aulas gratuitas para você que quer aprender uma
ecode10 subscription
✓ Read full articles ✓ Read/write forums ✓ Access podcast ✓ Access full jobs opportunities (+288) ✓ Access eBooks ✓ Access magazine ✓ Access videos |
Subscribe now $1/mo |
✓ Read open articles x Read/write forums ✓ Access podcast x Access full jobs opportunities (+288) x Access eBooks x Access magazine x Access videos |