Exemple #1
0
        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);
        }