示例#1
0
        public dto.classificacao.Classificacao Obter(Guid usuarioId)
        {
            var result = repositorio.Obter(usuarioId);

            var classificacao = new dto.classificacao.Classificacao();

            classificacao.Nivel = nivelService.ObterFronteiros(result.NivelId, result.Pontos);

            classificacao.RedesSociais = pontuacaoService.Obter(usuarioId);

            classificacao.Pontuacao = new dto.classificacao.Pontuacao
            {
                Valor = result.Pontos
            };

            classificacao.Saldo = new dto.classificacao.Saldo
            {
                Valor = result.Saldo
            };

            return(classificacao);
        }
        public ClassificacaoResponse Response(dto.classificacao.Classificacao classificacao)
        {
            var response = new ClassificacaoResponse()
            {
                HttpStatusCode = (int)HttpStatusCode.OK
            };

            response.Classificacao = new ClassificacaoMessage
            {
                Pontuacao = new PontuacaoMessage
                {
                    Valor = classificacao.Pontuacao.Valor
                },
                Saldo = new SaldoMessage
                {
                    Valor = classificacao.Saldo.Valor
                },
                Nivel = new NivelMessage
                {
                    Anterior = new NivelItemMessage
                    {
                        Id      = classificacao.Nivel.Anterior.Id,
                        Nome    = classificacao.Nivel.Anterior.Nome.EmptyIfNull(),
                        Mostrar = classificacao.Nivel.Anterior.Mostrar
                    },
                    Atual = new NivelItemAtualMessage
                    {
                        Nivel = new NivelItemMessage
                        {
                            Id      = classificacao.Nivel.Atual.Id,
                            Nome    = classificacao.Nivel.Atual.Nome,
                            Mostrar = classificacao.Nivel.Atual.Mostrar
                        },
                        PontosParaProximoNivel = classificacao.Nivel.Atual.PontosParaProximoNivel
                    },
                    Proximo = new NivelItemProximoMessage
                    {
                        Nivel = new NivelItemMessage
                        {
                            Id      = classificacao.Nivel.Proximo.Id,
                            Nome    = classificacao.Nivel.Proximo.Nome.EmptyIfNull(),
                            Mostrar = classificacao.Nivel.Proximo.Mostrar
                        },
                        Pontos = classificacao.Nivel.Proximo.Pontos
                    },
                    Mudou = classificacao.Nivel.Mudou
                }
            };

            foreach (var item in classificacao.RedesSociais)
            {
                response.Classificacao.RedesSociais.Add(new RedeSocialMessage()
                {
                    Percent = item.Percent,
                    Pontos  = item.Pontos,
                    Id      = item.Id,
                    Nome    = item.Nome
                });
            }

            return(response);
        }