Beispiel #1
0
        //Buscar informacao de CEP para cálculo
        public async Task <List <CorreiosFreteRetorno> > buscar(string cepOrigem, string cepDestino, decimal peso, decimal comprimento, decimal altura, decimal largura)
        {
            cepDestino = UtilString.onlyNumber(cepDestino);

            List <CorreiosFreteRetorno> listaRetorno = new List <CorreiosFreteRetorno>();

            if (peso > 0)
            {
                var listaFretes = this.OCorreiosBL.calcularPrecoPrazo(cepOrigem, cepDestino, peso, comprimento, altura, largura);

                listaRetorno = new List <CorreiosFreteRetorno>();

                foreach (var DadosFrete in listaFretes)
                {
                    var ItemRetorno = new CorreiosFreteRetorno();

                    foreach (var Item in DadosFrete.Servicos)
                    {
                        ItemRetorno.valorEntrega  = UtilNumber.toDecimal(Item.Valor);
                        ItemRetorno.prazoEntrega  = Item.PrazoEntrega;
                        ItemRetorno.codigoServico = Item.Codigo;

                        listaRetorno.Add(ItemRetorno);
                    }
                }
            }

            CepBrasil OCep = await this.OCepBrasilBL.buscarEndereco(cepDestino);

            if (OCep.id > 0)
            {
                if (listaRetorno.Count == 0)
                {
                    listaRetorno = new List <CorreiosFreteRetorno>()
                    {
                        new CorreiosFreteRetorno()
                    };
                }

                listaRetorno.ForEach(Item => {
                    Item.cepOriginal = OCep.cepOriginal;

                    Item.bairro = OCep.bairroIni;

                    Item.idCidade = OCep.idCidade;

                    Item.nomeCidade = OCep.nomeCidade;

                    Item.idEstado = OCep.idEstado;

                    Item.siglaEstado = OCep.siglaEstado;

                    Item.tipoLogradouro = OCep.tipoLogradouro;

                    Item.logradouro = OCep.logradouro;
                });
            }

            return(listaRetorno);
        }
        public async Task <ActionResult> buscarEndereco(string cep)
        {
            CepBrasil CepBrasil = await this.OCepBrasilBL.buscarEndereco(cep);

            return(Json(CepBrasil, JsonRequestBehavior.AllowGet));
        }