none
EF - Comparar com Datas (ultimos 7 dias) RRS feed

  • Pergunta

  •  

    Boas,

    Estou a tentar preencher um controlo Chart para mostrar as vendas dos últimos 7 dias (o eixo do X vai ter 7 entradas de segunda, terça quarta, etc e o eixo do Y vai ter o valor total de vendas desse dia).
    Para seleccionar as vendas do dia de Hoje estou a fazer o seguinte:

    Sales.Where(n => n.Date.Value.Day == DateTime.Now.Day && n.Date.Value.Month == DateTime.Now.Month && n.Date.Value.Year == DateTime.Now.Year).ToList();
    

    Isto funciona sem problemas. Agora para seleccionar o dia anterior faço isto:

    Sales.Where(n => n.Date.Value.Day == DateTime.Now.AddDays(-1).Day && n.Date.Value.Month == DateTime.Now.Month && n.Date.Value.Year == DateTime.Now.Year).ToList();
    

    Aqui já tenho um problema. Se o dia de Hoje for 01/02/2010 , o dia de ontem é 31/01/2010 e na comparação de cima, vou procurar procurar no dia anterior mas o mês continua o mesmo.

    Alguem me pode ajudar a fazer estas comparações correctamente? As comparações são apenas em relação ao dia (horas minutos e segundo não interessam).

    Abraços


    http://twitter.com/guilhermegeek http://weblogs.pontonetpt.com/guilhermecardoso I'm Portuguese from Portugal, so don't expect an perfect English ;)
    quinta-feira, 20 de maio de 2010 14:57

Respostas

  • Consegui resolver da seguinte forma:

     

    Sales.Where(n => n.Date.Value.ToShortDateString() == DateTime.Now.AddDays(-1).ToShortDateString())
         .ToList();

     


    http://twitter.com/guilhermegeek http://weblogs.pontonetpt.com/guilhermecardoso I'm Portuguese from Portugal, so don't expect an perfect English ;)
    quinta-feira, 20 de maio de 2010 15:31