Ejemplo n.º 1
0
        public ResponseEnvelope <comum_dto.classificacao.Classificacao> Response(ClassificacaoResponse response)
        {
            var envelope = new ResponseEnvelope <comum_dto.classificacao.Classificacao>
            {
                HttpStatusCode = (HttpStatusCode)response.HttpStatusCode
            };

            if (envelope.Success)
            {
                var nivel = response.Classificacao.Nivel;

                envelope.Item = new comum_dto.classificacao.Classificacao
                {
                    Pontuacao = new comum_dto.classificacao.Pontuacao
                    {
                        Valor = response.Classificacao.Pontuacao.Valor
                    },
                    Saldo = new comum_dto.classificacao.Saldo
                    {
                        Valor = response.Classificacao.Saldo.Valor
                    },
                    Nivel = new comum_dto.classificacao.Nivel
                    {
                        Anterior = new comum_dto.classificacao.NivelItem
                        {
                            Id      = nivel.Anterior.Id,
                            Nome    = nivel.Anterior.Nome,
                            Mostrar = nivel.Anterior.Mostrar
                        },
                        Atual = new comum_dto.classificacao.NivelItemAtual
                        {
                            Id      = nivel.Atual.Nivel.Id,
                            Nome    = nivel.Atual.Nivel.Nome,
                            Mostrar = nivel.Atual.Nivel.Mostrar,
                            PontosParaProximoNivel = nivel.Atual.PontosParaProximoNivel
                        },
                        Proximo = new comum_dto.classificacao.NivelItemProximo
                        {
                            Id      = nivel.Proximo.Nivel.Id,
                            Nome    = nivel.Proximo.Nivel.Nome,
                            Mostrar = nivel.Proximo.Nivel.Mostrar,
                            Pontos  = nivel.Proximo.Pontos
                        }
                    }
                };

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

            return(envelope);
        }
Ejemplo n.º 2
0
        public override Task <ClassificacaoResponse> ObterClassificacao(ClassificacaoRequest classificacaoParametro, ServerCallContext context)
        {
            var response = new ClassificacaoResponse();

            try
            {
                var usuarioId = Guid.Parse(classificacaoParametro.UsuarioId);

                var classificacao = classificacaoService.Obter(usuarioId);

                response = obterClassificacao.Response(classificacao);
            }
            catch (Exception ex)
            {
                //## TODO log
                response.HttpStatusCode = (int)HttpStatusCode.InternalServerError;
            }

            return(Task.FromResult(response));
        }
        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);
        }