public Task Execute(IJobExecutionContext context) { string hqlUpdate = "update tb_titulo t set t.atv_titulo = false where t.atv_titulo = true"; _tituloNoticiaQuery.Query.GetSession().CreateQuery(hqlUpdate) .ExecuteUpdate(); RecuperarNoticiaMaisConcordadaQueryModel noticiaQueryModel = _tituloNoticiaQuery.Query.RecuperarNoticiaMaisConcordada(); Noticia noticia = _noticiaRepository.Find(noticiaQueryModel.NoticiaId); var titulo = new TituloNoticia(Titulos.NOTICIA_MAIS_CONCORDADA.ToString(), noticiaQueryModel.Quantidade, noticia); _tituloNoticiaRepository.Save(titulo); return(Task.CompletedTask); }
public RecuperarNoticiaMaisConcordadaQueryModel RecuperarNoticiaMaisConcordada() { DateTime seteDiasAtras = DateTime.Now.AddDays(-7); RecuperarNoticiaMaisConcordadaQueryModel noticiaQueryModel = null; Noticia noticiaAlias = null; var query = _session.QueryOver <Opiniao>() .JoinAlias(x => x.Noticia, () => noticiaAlias) .Where(x => x.Data >= seteDiasAtras) .SelectList(l => l .Select(x => x.Id).WithAlias(() => noticiaQueryModel.NoticiaId) .SelectGroup(x => noticiaAlias.Id) .SelectCount(x => x.Tipo == TipoOpiniao.Concordo).WithAlias(() => noticiaQueryModel.Quantidade)) .OrderByAlias(() => noticiaQueryModel.Quantidade).Desc .TransformUsing(Transformers.AliasToBean <RecuperarNoticiaMaisConcordadaQueryModel>()) .List <RecuperarNoticiaMaisConcordadaQueryModel>() .FirstOrDefault(); return(query); }