private async Task <ValorPrazoFrete> CalcularValorPrazoFrete(String cepDestino, String tipoFrete, Pacote pacote) { var cepOrigem = _configuration.GetValue <String>("Frete:CepOrigem"); var maoPropria = _configuration.GetValue <String>("Frete:MaoPropria"); var avisoRecebimento = _configuration.GetValue <String>("Frete:AvisoRecebimento"); var diametro = Math.Max(Math.Max(pacote.Comprimento, pacote.Largura), pacote.Altura); cResultado resultado = await _servico.CalcPrecoPrazoAsync("", "", tipoFrete, cepOrigem, cepDestino, pacote.Peso.ToString(), 1, pacote.Comprimento, pacote.Altura, pacote.Largura, diametro, maoPropria, 0, avisoRecebimento); if (resultado.Servicos[0].Erro == "0") { var valorLimpo = resultado.Servicos[0].Valor.Replace(".", ""); var valorFinal = double.Parse(valorLimpo); return(new ValorPrazoFrete() { TipoFrete = TipoFreteConstant.GetNames(tipoFrete), CodTipoFrete = tipoFrete, Prazo = int.Parse(resultado.Servicos[0].PrazoEntrega), Valor = valorFinal }); } else if (resultado.Servicos[0].Erro == "008") { //Ex.: SEDEX10 - não entrega naquela região return(null); } else { throw new Exception("Erro: " + resultado.Servicos[0].MsgErro); } }
public async Task <ValorPrazoFrete> CalcularValorPrazoFrete(string cepDestino, string tipoFrete, Pacote pacote) { var cepOrigem = _configuration.GetValue <String>("Frete:CepOrigem"); var maoPropria = _configuration.GetValue <String>("Frete:MaoPropria"); var avisoRecebimento = _configuration.GetValue <String>("Frete:AvisoRecebimento"); var diametro = Math.Max(Math.Max(pacote.Comprimento, pacote.Largura), pacote.Altura); // cResultado resultado = await _servico.CalcPrecoPrazoAsync("", "", tipoFrete, cepOrigem, cepDestino, pacote.Peso.ToString(), 1, pacote.Comprimento, pacote.Altura, pacote.Largura, diametro, maoPropria, 0, avisoRecebimento); if (resultado.Servicos[0].Erro == "0") { //Deu certo - implementar um resultado - valor e prazo de entrega, tipo frete return(new ValorPrazoFrete() { TipoFrete = TipoFreteConstante.GetNames(tipoFrete), CodigoTipoFrete = tipoFrete, Prazo = int.Parse(resultado.Servicos[0].PrazoEntrega), Valor = double.Parse(resultado.Servicos[0].Valor.Replace(".", "")) }); } else if (resultado.Servicos[0].Erro == "008" || resultado.Servicos[0].Erro == "-888") { //Exempo de codigo para n possuir entrega na região, ex: SEDEX10 return(null); } else { //Deu ruim throw new Exception("Erro: " + resultado.Servicos[0].MsgErro); } }
private async Task <ValorPrazoFrete> CalcularValorPrazoFrete(String cepDestino, String tipoFrete, PacoteFrete pacoteFrete) { var cepOrigem = _configuration.GetValue <string>("Frete:cepOrigem"); var maoPropria = _configuration.GetValue <string>("Frete:maoPropria"); var avisoRecebimento = _configuration.GetValue <string>("Frete:avisoRecebimento"); var diametro = Math.Max(Math.Max(pacoteFrete.Comprimento, pacoteFrete.Largura), pacoteFrete.Altura); cResultado resultado = await _servico.CalcPrecoPrazoAsync("", "", tipoFrete, cepOrigem, cepDestino, pacoteFrete.Peso.ToString(), 1, pacoteFrete.Comprimento, pacoteFrete.Altura, pacoteFrete.Largura, diametro, maoPropria, 0, avisoRecebimento); if (resultado.Servicos[0].Erro == "0") { return(new ValorPrazoFrete() { TipoFrete = int.Parse(tipoFrete), Prazo = int.Parse(resultado.Servicos[0].PrazoEntrega), Valor = double.Parse(resultado.Servicos[0].Valor.Replace(".", "").Replace(",", ".")), }); } else { return(new ValorPrazoFrete() { }); //("Erro: " + resultado.Servicos[0].MsgErro); } }
public async Task <ValueDeadlineFreight> CalculateValueDeadLineFreight(string cepDestiny, string typeFreight, Package package) { var cepOrigem = _configuration.GetValue <string>("Freight:CepOrigem"); var maoPropria = _configuration.GetValue <string>("Freight:MaoPropria"); var avisoRecebimento = _configuration.GetValue <string>("Freight:AvisoRecebimento"); var diametro = Math.Max(Math.Max(package.Length, package.Width), package.Height); cResultado result = await _service.CalcPrecoPrazoAsync("", "", typeFreight, cepOrigem, cepDestiny, package.Weight.ToString(), 1, package.Length, package.Height, package.Width, diametro, maoPropria, 0, avisoRecebimento); if (result.Servicos[0].Erro == "0") { var cleanValue = result.Servicos[0].Valor.Replace(".", ""); var finalValue = double.Parse(cleanValue); return(new ValueDeadlineFreight() { TypeFreight = TypeFreightConstant.GetNames(typeFreight), ServiceCode = typeFreight, Deadline = int.Parse(result.Servicos[0].PrazoEntrega), Value = finalValue }); } else if (result.Servicos[0].Erro == "008" || result.Servicos[0].Erro == "-888") { //SEDEX10 - Don't delivery in region return(null); } else { throw new Exception("Erro" + result.Servicos[0].MsgErro); } }