.NET - ActiveRecord - Usando Group by e Sum com o DetachedCriteria

0 respostas
T

pessoal, tenho a seguinte query:

select a.Usuario, sum(a.Horas)
from tblAtividade a
where a.Usuario = 59
and CONVERT(char, a.Data, 103) = '04/11/2009'
group by a.Usuario

ela faz exatamente o q eu qro!!! Mas não consigo traduzir isso pro codigo do NHibernate.

O meu codigo eh o seguinte:

public decimal ObterTotalLancamentoDoDia(Int64 id, DateTime data)
        {
            IList<Atividade> listaDeAtividades = new List<Atividade>();

            DetachedCriteria cr = DetachedCriteria.For<Atividade>();
            cr.Add(Expression.Eq("Id", id));
            cr.Add(Expression.Between("Data", data.AddDays(-1).AddSeconds(1), data.AddDays(1).AddSeconds(-1))); 

            listaDeAtividades = ActiveRecordMediator<Atividade>.FindAll(cr);

            var a = listaDeAtividades.Sum<Atividade>(p => p.Horas); // devolve o total de lançamentos do dia somados
            return a;
        }

Ele funciona!! Mas o problema é que ele repete na lista criada, somente o primeiro valor da hora encontrada. Se o cara tiver 6 lancamentos, as mesmas 6 horas serao lançadas. E no caso, sao horas diferentes.

Q q eu faço??

Agradeço

Criado 30 de novembro de 2011
Respostas 0
Participantes 1