コード例 #1
0
        public async Task <IActionResult> CalcularFrete(string CepDestino)
        {
            try
            {
                List <ShoppingCartItem> produtos = _carrinho.GetShoppingCartItens();

                List <PacoteFrete> pacotes = _calcularPacote.CalcularPacotesdeProdutos(produtos);

                ValorPrazoFrete ValorPAC = await _wscorreios.CalcularFrete(CepDestino.ToString(), TipoFreteConstante.PAC, pacotes);

                ValorPrazoFrete ValorSEDEX = await _wscorreios.CalcularFrete(CepDestino.ToString(), TipoFreteConstante.SEDEX, pacotes);

                ValorPrazoFreteModel valorPrazoFreteModel = new ValorPrazoFreteModel();

                valorPrazoFreteModel.ListaValorPrazoFrete = new List <ValorPrazoFrete>();

                //_frete = ValorPAC;
                ValorPAC.SomaTotal   = _carrinho.TotalCarrinho() + (decimal)ValorPAC.Valor;
                ValorSEDEX.SomaTotal = _carrinho.TotalCarrinho() + (decimal)ValorSEDEX.Valor;


                valorPrazoFreteModel.ListaValorPrazoFrete.Add(ValorPAC);
                valorPrazoFreteModel.ListaValorPrazoFrete.Add(ValorSEDEX);

                //valorPrazoFreteModel.SomaTotalFrete = valorPrazoFreteModel.ListaValorPrazoFrete[0].SomaTotal;


                return(PartialView("_CalculoFrete", valorPrazoFreteModel));
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }
        }
コード例 #2
0
        public async Task <IActionResult> CalcularFrete([FromRoute] string cepDestino)
        {
            var produtos = await _carrinhoCompras.TodosItemsCarrinho();

            Frete frete = _cookieFrete.Consultar().Where(a => a.CEP == Convert.ToInt32(cepDestino) && a.CodCarrinho == StringMD5.GerarHash(produtos)).FirstOrDefault();

            if (frete != null)
            {
                return(Ok(frete));
            }
            //await _memoryCache.GetOrCreate("Itens",async () => await _carrinhoCompras.TodosItemsCarrinho());
            List <Pacote> pacotes = _calcularPacote.CalcularPacotesDeProdutos(produtos);

            ValorPrazoFrete valorPAC = await _wscorreios.CalcularFrete(cepDestino, TipoFreteConstant.PAC, pacotes);

            ValorPrazoFrete valorSEDEX = await _wscorreios.CalcularFrete(cepDestino, TipoFreteConstant.SEDEX, pacotes);

            ValorPrazoFrete valorSEDEX10 = await _wscorreios.CalcularFrete(cepDestino, TipoFreteConstant.SEDEX10, pacotes);

            List <ValorPrazoFrete> lista = new List <ValorPrazoFrete>();

            if (valorPAC != null)
            {
                lista.Add(valorPAC);
            }
            if (valorSEDEX != null)
            {
                lista.Add(valorSEDEX);
            }
            if (valorSEDEX10 != null)
            {
                lista.Add(valorSEDEX10);
            }

            frete = new Frete()
            {
                CEP          = Convert.ToInt32(cepDestino),
                CodCarrinho  = StringMD5.GerarHash(produtos),
                ListaValores = lista
            };
            _cookieFrete.Cadastrar(frete);

            return(Ok(frete));
        }
コード例 #3
0
        public async Task <IActionResult> CalcularFrete(int cepDestino)
        {
            try
            {
                List <ProdutoItem> produtos = CarregarProdutoDB();

                List <Pacote> pacotes = _calcularPacote.CalcularPacotesDeProdutos(produtos);

                ValorPrazoFrete valorPAC = await _wscorreios.CalcularFrete(cepDestino.ToString(), TipoFreteConstant.PAC, pacotes);

                ValorPrazoFrete valorSEDEX = await _wscorreios.CalcularFrete(cepDestino.ToString(), TipoFreteConstant.SEDEX, pacotes);

                ValorPrazoFrete valorSEDEX10 = await _wscorreios.CalcularFrete(cepDestino.ToString(), TipoFreteConstant.SEDEX10, pacotes);

                List <ValorPrazoFrete> lista = new List <ValorPrazoFrete>();
                if (valorPAC != null)
                {
                    lista.Add(valorPAC);
                }
                if (valorSEDEX != null)
                {
                    lista.Add(valorSEDEX);
                }
                if (valorSEDEX10 != null)
                {
                    lista.Add(valorSEDEX10);
                }

                _cookieValorPrazoFrete.Cadastrar(lista);

                return(Ok(lista));
            }
            catch (Exception e)
            {
                _cookieValorPrazoFrete.Remover();

                return(BadRequest(e));
            }
        }