public IActionResult Get() { var usuarios = _usuarioService.ObterTodos(); List <RankingViewModel> ranking = new List <RankingViewModel>(); foreach (var user in usuarios) { var hasPerguntas = _hasPerguntaService.ObterTodos().Where(r => r.IdUsuario == user.IdUsuario); var perguntasUsuario = from perg in _perguntaService.ObterTodos() join hasP in hasPerguntas on perg.IdPergunta equals hasP.IdPergunta where (hasP.Acertou == 1) select new { pontuacao = perg.Pontuacao }; ranking.Add ( new RankingViewModel { NomeUsuario = user.Nome, Pontos = perguntasUsuario.Sum(x => Int32.Parse(x.pontuacao)), Perfil = user.Perfil } ); } if (ranking != null) { ranking = ranking.OrderByDescending(s => s.Pontos).ToList(); return(Ok(ranking)); } return(NoContent()); }
public IActionResult Get() { var usuarioPergunta = _service.ObterTodos(); if (usuarioPergunta.Count != 0) { return(Ok(usuarioPergunta)); } return(NoContent()); }
public List <RankingWebViewModel> Usuarios() { var usuarios = _usuarioService.ObterTodos(); List <RankingWebViewModel> ranking = new List <RankingWebViewModel>(); foreach (var user in usuarios) { var hasPerguntas = _hasPerguntaService.ObterTodos().Where(r => r.IdUsuario == user.IdUsuario); var perguntasUsuario = from perg in _perguntaService.ObterTodos() join hasP in hasPerguntas on perg.IdPergunta equals hasP.IdPergunta where (hasP.Acertou == 1) select new { pontuacao = perg.Pontuacao }; if (user.Usuario.Equals("luciana")) { user.Nome = user.Nome + " * ADM"; } ranking.Add ( new RankingWebViewModel { NomeUsuario = user.Nome, Pontos = perguntasUsuario.Sum(x => Int32.Parse(x.pontuacao)), Id = user.IdUsuario } ); } ranking = ranking.OrderByDescending(s => s.Pontos).ToList(); return(ranking); }