コード例 #1
0
        public List <RespRanking> Ranking(int idUsuario)
        {
            List <RespRanking> rankings    = new List <RespRanking>();
            List <Experiencia> experiencia = JogoBD.PegarExperiencias();

            List <Usuario> usuariosTop = JogoBD.TopCinco();

            foreach (Usuario usuario in usuariosTop)
            {
                RespRanking ranking = new RespRanking();

                List <Experiencia> niveisAbaixo = experiencia.Where(e => e.Valor < usuario.Experiencia).ToList();

                if (niveisAbaixo == null || niveisAbaixo.Count == 0)
                {
                    ranking.Nivel = 0;
                }
                else
                {
                    ranking.Nivel = niveisAbaixo.Max(e => e.Nivel);
                }

                ranking.Login       = usuario.Login;
                ranking.Posicao     = usuariosTop.IndexOf(usuario) + 1;
                ranking.Experiencia = usuario.Experiencia;

                rankings.Add(ranking);
            }

            if (!usuariosTop.Any(u => u.Id == idUsuario))
            {
                Usuario usuario = UsuarioBD.PegarUsuarioPeloId(idUsuario);

                RespRanking ranking = new RespRanking();

                List <Experiencia> niveisAbaixo = experiencia.Where(e => e.Valor < usuario.Experiencia).ToList();

                if (niveisAbaixo == null || niveisAbaixo.Count == 0)
                {
                    ranking.Nivel = 0;
                }
                else
                {
                    ranking.Nivel = niveisAbaixo.Max(e => e.Nivel);
                }

                ranking.Login       = usuario.Login;
                ranking.Experiencia = usuario.Experiencia;
                ranking.Posicao     = JogoBD.PegarColocacaoPelaExperiencia(usuario.Experiencia);

                rankings.Add(ranking);
            }

            return(rankings);
        }
コード例 #2
0
        public static RespUsuario MontarRespUsuario(Usuario usuarioBD)
        {
            JogoBD JogoBD = new JogoBD();
            Token  Token  = new Token();

            RespUsuario usuario = new RespUsuario
            {
                Id          = usuarioBD.Id,
                Login       = usuarioBD.Login,
                Email       = usuarioBD.Email,
                Experiencia = usuarioBD.Experiencia,
                Cash        = usuarioBD.Cash
            };

            List <Experiencia> experiencia = JogoBD.PegarExperiencias();

            List <Experiencia> niveisAbaixo = experiencia.Where(e => e.Valor < usuario.Experiencia).ToList();

            if (niveisAbaixo == null || niveisAbaixo.Count == 0)
            {
                usuario.Nivel = 0;
            }
            else
            {
                usuario.Nivel = niveisAbaixo.Max(e => e.Nivel);
            }

            List <Experiencia> niveisAcima = experiencia.Where(e => e.Valor > usuario.Experiencia).ToList();

            if (niveisAcima == null || niveisAcima.Count == 0)
            {
                usuario.ExperienciaProximoNivel = 0;
            }
            else
            {
                usuario.ExperienciaProximoNivel = niveisAcima.Min(e => e.Valor) - usuario.Experiencia;
            }

            usuario.Skins = JogoBD.PegarSkinAtiva(usuario.Id);
            usuario.Token = Token.Gerar(usuario.Login, usuario.Id, usuarioBD.IsAdmin);

            return(usuario);
        }