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