🔥 Apps, books, system as a service, podcast and more



Aniversariantes do dia - C# DateOnly

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.

Sign up to our newsletter

Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.

Top