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(); RecuperarNoticiaMaisDiscordadaQueryModel noticiaQueryModel = _tituloNoticiaQuery.Query.RecuperarNoticiaMaisDiscordada(); Noticia noticia = _noticiaRepository.Find(noticiaQueryModel.NoticiaId); var titulo = new TituloNoticia(Titulos.NOTICIA_MAIS_DISCORDADA.ToString(), noticiaQueryModel.Quantidade, noticia); _tituloNoticiaRepository.Save(titulo); return(Task.CompletedTask); }
public RecuperarNoticiaMaisDiscordadaQueryModel RecuperarNoticiaMaisDiscordada() { DateTime seteDiasAtras = DateTime.Now.AddDays(-7); RecuperarNoticiaMaisDiscordadaQueryModel 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.Discordo).WithAlias(() => noticiaQueryModel.Quantidade)) .OrderByAlias(() => noticiaQueryModel.Quantidade).Desc .TransformUsing(Transformers.AliasToBean <RecuperarNoticiaMaisDiscordadaQueryModel>()) .List <RecuperarNoticiaMaisDiscordadaQueryModel>() .FirstOrDefault(); return(query); }