Пример #1
0
        /// <summary>
        /// A partir do nivel atual e da pontuação do usuário, obtem o nível anterior e a pontuação necessária para o próximo nível.
        /// </summary>
        /// <param name="nivelId"></param>
        /// <param name="pontos"></param>
        /// <returns></returns>

        public comum.dto.classificacao.Nivel Obter(int nivelId, int pontos, List <comum.dto.Nivel> niveis)
        {
            var response = new comum.dto.classificacao.Nivel();

            ProcessarAnterior(response, nivelId, niveis);
            ProcessarProximo(response, nivelId, pontos, niveis);
            ProcessarAtual(response, nivelId, pontos, niveis);

            return(response);
        }
Пример #2
0
        private void ProcessarAtual(comum.dto.classificacao.Nivel dto, int nivelId, int pontos, List <comum.dto.Nivel> niveis)
        {
            var atual = niveis.Where(w => w.Id == nivelId).FirstOrDefault();

            dto.Atual = new comum.dto.classificacao.NivelItemAtual
            {
                Id      = atual.Id,
                Nome    = atual.Nome,
                Mostrar = true
            };

            if (dto.Proximo.Mostrar)
            {
                dto.Atual.PontosParaProximoNivel = dto.Proximo.Pontos - pontos;
            }
        }
Пример #3
0
        private void ProcessarAnterior(comum.dto.classificacao.Nivel dto, int nivelId, List <comum.dto.Nivel> niveis)
        {
            dto.Anterior = new comum.dto.classificacao.NivelItem {
                Mostrar = false
            };

            var anterior = niveis.Where(w => w.Id == nivelId - 1).LastOrDefault();

            if (anterior != null)
            {
                dto.Anterior = new comum.dto.classificacao.NivelItem
                {
                    Id      = anterior.Id,
                    Nome    = anterior.Nome,
                    Mostrar = true
                };
            }
        }
Пример #4
0
        private void ProcessarProximo(comum.dto.classificacao.Nivel dto, int nivelId, int pontos, List <comum.dto.Nivel> niveis)
        {
            dto.Proximo = new comum.dto.classificacao.NivelItemProximo {
                Mostrar = false
            };

            var proximo = niveis.Where(w => w.Id == nivelId + 1).FirstOrDefault();

            if (proximo != null)
            {
                dto.Proximo = new comum.dto.classificacao.NivelItemProximo
                {
                    Id      = proximo.Id,
                    Nome    = proximo.Nome,
                    Mostrar = true,
                    Pontos  = proximo.PontuacaoMinima
                };
            }
        }