public Task Execute(IJobExecutionContext context) { string hqlUpdate = "update tb_titulo t set t.atv_titulo = false where t.atv_titulo = true"; _tituloUsuarioQuery.Query.GetSession().CreateQuery(hqlUpdate) .ExecuteUpdate(); RecuperarUsuarioComMaisDownvotesNaSemanaQueryModel usuarioQueryModel = _tituloUsuarioQuery.Query.RecuperarUsuarioComMaisDownvotesNaSemana(); Usuario usuario = _usuarioRepository.Find(usuarioQueryModel.UsuarioId); var titulo = new TituloUsuario(Titulos.USUARIO_COM_MAIOR_QUANTIDADE_DE_DOWNVOTES.ToString(), usuarioQueryModel.QuantidadeDownvotes, usuario); _tituloUsuarioRepository.Save(titulo); return(Task.CompletedTask); }
public RecuperarUsuarioComMaisDownvotesNaSemanaQueryModel RecuperarUsuarioComMaisDownvotesNaSemana() { DateTime seteDiasAtras = DateTime.Now.AddDays(-7); RecuperarUsuarioComMaisDownvotesNaSemanaQueryModel usuarioQueryModel = null; seteDiasAtras = new DateTime(2019, 03, 30); Usuario usuarioAlias = null; var query = _session.QueryOver <Publicacao>() .JoinAlias(x => x.Usuario, () => usuarioAlias) .Where(x => x.Data >= seteDiasAtras) .SelectList(l => l .Select(x => usuarioAlias.Id).WithAlias(() => usuarioQueryModel.UsuarioId) .SelectGroup(x => usuarioAlias.Id) .SelectCount(x => x.DownVotes).WithAlias(() => usuarioQueryModel.QuantidadeDownvotes)) .OrderByAlias(() => usuarioQueryModel.QuantidadeDownvotes).Desc .TransformUsing(Transformers.AliasToBean <RecuperarUsuarioComMaisDownvotesNaSemanaQueryModel>()) .List <RecuperarUsuarioComMaisDownvotesNaSemanaQueryModel>() .FirstOrDefault(); return(query); }