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(); RecuperarUsuarioComMaisPublicacoesNaSemanaQueryModel usuarioQueryModel = _tituloUsuarioQuery.Query.RecuperarUsuarioComMaisPublicacoesNaSemana(); Usuario usuario = _usuarioRepository.Find(usuarioQueryModel.UsuarioId); var titulo = new TituloUsuario(Titulos.USUARIO_COM_MAIOR_QUANTIDADE_DE_PUBLICACOES.ToString(), usuarioQueryModel.QuantidadePublicacoes, usuario); _tituloUsuarioRepository.Save(titulo); return(Task.CompletedTask); }
public RecuperarUsuarioComMaisPublicacoesNaSemanaQueryModel RecuperarUsuarioComMaisPublicacoesNaSemana() { DateTime seteDiasAtras = DateTime.Now.AddDays(-7); seteDiasAtras = new DateTime(2019, 5, 1); RecuperarUsuarioComMaisPublicacoesNaSemanaQueryModel usuarioQueryModel = null; 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.Id).WithAlias(() => usuarioQueryModel.QuantidadePublicacoes)) .OrderByAlias(() => usuarioQueryModel.QuantidadePublicacoes).Desc .TransformUsing(Transformers.AliasToBean <RecuperarUsuarioComMaisPublicacoesNaSemanaQueryModel>()) .List <RecuperarUsuarioComMaisPublicacoesNaSemanaQueryModel>() .FirstOrDefault(); return(query); }