none
alguem poderia ajudar RRS feed

  • Pergunta

  •  Error 1  The best overloaded method match for 'LojaVirtual.WEB.CarrinhoCompra.CalculaSedex(string, string, decimal, bool, bool, double)' has some invalid arguments C:\LOJA5\LojaVirtual\lojaVirtual.WEB\CarrinhoCompra.aspx.cs 148 26  lojaVirtual.WEB
    Error 2  Argument 3: cannot convert from 'double' to 'decimal' C:\LOJA5\LojaVirtual\lojaVirtual.WEB\CarrinhoCompra.aspx.cs 148 73  lojaVirtual.WEB

    public decimal CalculaSedex(string cepOrigem, string cepDestino, decimal peso, bool MaoPropria, bool avisoRecebimento, double valorDeclarado = 0.0)
    {
    decimal functionReturnValue = default(decimal);
    //Cria uma requisição ao service dos correios, com os dados informados
            System.Net.WebRequest Req = System.Net.WebRequest.Create("http://ws.correios.com.br/calculador/CalcPrecoPrazo.asmx" + "cepOrigem=" + cepOrigem + "&cepDestino=" + cepDestino + "&peso=" + peso.ToString().Replace(",", ".") + "&resposta=xml");
    System.Net.WebResponAse Resp = Req.GetResponse();
    System.IO.StreamReader sr = new System.IO.StreamReader(Resp.GetResponseStream(), System.Text.Encoding.UTF7);
    System.Data.DataSet ds = new System.Data.DataSet();
    //Coloca os dados recebidos em um DataSet
    ds.ReadXml(sr);
    sr.Close();
    Resp.Close();
    if (Convert.ToInt16(ds.Tables["erro"].Rows[0]["codigo"].ToString()) != 0) {
    throw (new Exception(ds.Tables["erro"].Rows[0]["descricao"].ToString()));
    } else {
    functionReturnValue = (Convert.ToInt16(ds.Tables["Dados_Postais"].Rows[0]["preco_postal"].ToString().Replace(".", ",")));
    }
    return functionReturnValue;
    }

    protected void cmdCalcular_Click(object sender, EventArgs e)
    {
    try {
             decimal preco = CalculaSedex("27330680", (txtCEPDestino.Text), 1.23, false, true, 120.5);
    lblResultado.Text = "O valor do frete é " + string.Format(CultureInfo.GetCultureInfo("pt-BR"), "{0:C}", preco);
            }
            catch (Exception ex)
            {
                lblResultado.Text = ex.Message;

            }
            }


               

    • Editado JonatasC segunda-feira, 24 de outubro de 2016 20:51
    segunda-feira, 24 de outubro de 2016 20:47

Todas as Respostas

  • CalculaSedex("27330680", "08240-680", 1.23M, false, true, 120.5);

    Onde for decimal e você estiver colocando o valor fixo no código, você tem que declarar com o "M" após o valor, por exemplo:

     decimal valor1 = 1.00M;

    decimal valor2 = 1.23M;

    segunda-feira, 24 de outubro de 2016 21:52
  • então , quando clico no botão para buscar o cep e calcular aparece O servidor remoto retornou um erro: (404) Não Localizado.
    segunda-feira, 24 de outubro de 2016 23:21