Exemple #1
0
        public static ListarAvaliacoesProdutosRS ListarAvaliacoesProdutosValidar(this ListarAvaliacoesProdutosRQ request)
        {
            var response = new ListarAvaliacoesProdutosRS();

            response.Mensagens        = new System.Collections.Generic.List <Mensagem>();
            response.ProtocoloRetorno = Guid.NewGuid();

            if (response.Mensagens.Count == 0 && (request != null))
            {
                if (string.IsNullOrEmpty(request.CodigoLoja))
                {
                    response.AdicionarMensagemErro(CodigoMensagem.NAO_INFORMADO_ID_LOJA.CodigoErro, CodigoMensagem.NAO_INFORMADO_ID_LOJA.Descricao, TipoMensagem.ErroValidacao);
                }

                if (string.IsNullOrEmpty(request.PrdCodigo))
                {
                    response.AdicionarMensagemErro("PrdCodigo", "PrdCodigo não informado", TipoMensagem.ErroValidacao);
                }

                if (request.ActualPageNumber <= 0)
                {
                    response.AdicionarMensagemErro(CodigoMensagem.NAO_INFORMADO_CAMPOS.CodigoErro, CodigoMensagem.NAO_INFORMADO_CAMPOS.SetFormat("PageNumber").Descricao, TipoMensagem.ErroValidacao);
                }
            }
            else
            {
                response.AdicionarMensagemErro(CodigoMensagem.REQUEST_INVALIDO.CodigoErro, CodigoMensagem.REQUEST_INVALIDO.Descricao, TipoMensagem.ErroValidacao);
            }

            response.Valido = response.Mensagens.Count == 0;
            return(response);
        }
Exemple #2
0
        public async Task <ListarAvaliacoesProdutosRS> ListarAvaliacoesProdutos(ListarAvaliacoesProdutosRQ request)
        {
            ListarAvaliacoesProdutosRS response = request.ListarAvaliacoesProdutosValidar();

            try
            {
                if (response.Valido)
                {
                    if (response.Mensagens.All(m => m.Tipo == TipoMensagem.Negocio))
                    {
                        response = await avaliacaoService.AvaliacoesProdutosListar(request);


                        if (response.Avaliacoes.Any() && response.Avaliacoes.Any())
                        {
                            //int totalAvaliacoes = response.AvaliacaoGeral.TotalAvaliacoes;

                            //double mp = 0;
                            //mp = mp + (response.AvaliacaoGeral.Total1Estrela * 1);
                            //mp = mp + (response.AvaliacaoGeral.Total2Estrela * 2);
                            //mp = mp + (response.AvaliacaoGeral.Total3Estrela * 3);
                            //mp = mp + (response.AvaliacaoGeral.Total4Estrela * 4);
                            //mp = mp + (response.AvaliacaoGeral.Total5Estrela * 5);

                            ////MP = TOTAL ESTRELA * PESO(ESTRELA)//MEDIA = MP/total distribuido /
                            //if (totalAvaliacoes > 0 && mp > 0)
                            //{
                            //    response.AvaliacaoGeral.TotalAvaliacoes = totalAvaliacoes;
                            //    double PontuacaoMedia = (mp / totalAvaliacoes);
                            //    response.AvaliacaoGeral.AvaliacaoGeral = Math.Round(PontuacaoMedia, 1);
                            //}
                            //if (response.AvaliacaoGeral.TotalRecomendaProduto > 0 && totalAvaliacoes > 0)
                            //{
                            //   response.AvaliacaoGeral.TotalRecomendaProduto = Math.Round(100 * response.AvaliacaoGeral.TotalRecomendaProduto / totalAvaliacoes);
                            //}
                        }
                        else
                        {
                            response.Valido = false;
                            response.AdicionarMensagemErro("sem resultados", "não tem avaliações", TipoMensagem.NenhumErro);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                var jsonRequest = JsonConvert.SerializeObject(request);
                logService.AdicionarLogErro("ListarAvaliacoesPagina", response.ProtocoloRetorno.ToString(), CodigoMensagem.ERRO_APLICAO.CodigoErro, CodigoMensagem.ERRO_APLICAO.SetFormat(string.Format("MENSAGEM={0}\nINNER_EXCEPTION={1}\nSTACK_TRACE={2}\n JSON REQUEST=={3}", ex.Message, (ex.InnerException != null ? ex.InnerException.ToString() : ""), ex.StackTrace.ToString()), jsonRequest).Descricao, TipoMensagem.ErroAplicacao);
                response.AdicionarMensagemErro(CodigoMensagem.ERRO_APLICAO_GENERICO.CodigoErro, CodigoMensagem.ERRO_APLICAO_GENERICO.Descricao, TipoMensagem.ErroAplicacao);
                response.StatusCode = System.Net.HttpStatusCode.BadRequest;
            }
            response.Valido     = response.Mensagens.All(m => m.Tipo == TipoMensagem.Negocio);
            response.StatusCode = System.Net.HttpStatusCode.OK;
            return(response);
        }