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(); RecuperarUsuarioComMaisUpvotesNaSemanaQueryModel usuarioQueryModel = _tituloUsuarioQuery.Query.RecuperarUsuarioComMaisUpvotesNaSemana(); Usuario usuario = _usuarioRepository.Find(usuarioQueryModel.UsuarioId); var titulo = new TituloUsuario(Titulos.USUARIO_COM_MAIOR_QUANTIDADE_DE_UPVOTES.ToString(), usuarioQueryModel.QuantidadeUpvotes, usuario); _tituloUsuarioRepository.Save(titulo); return(Task.CompletedTask); }
public RecuperarUsuarioComMaisUpvotesNaSemanaQueryModel RecuperarUsuarioComMaisUpvotesNaSemana() { DateTime seteDiasAtras = DateTime.Now.AddDays(-7); RecuperarUsuarioComMaisUpvotesNaSemanaQueryModel 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.UpVotes).WithAlias(() => usuarioQueryModel.QuantidadeUpvotes)) .OrderByAlias(() => usuarioQueryModel.QuantidadeUpvotes).Desc .TransformUsing(Transformers.AliasToBean <RecuperarUsuarioComMaisUpvotesNaSemanaQueryModel>()) .List <RecuperarUsuarioComMaisUpvotesNaSemanaQueryModel>() .FirstOrDefault(); return(query); }