Exemplo n.º 1
0
        public int CalcularDataEntrega(string tipoServico, string cepOrigem, string cepDestino, string dataPostagem)
        {
            string retorno     = string.Empty;
            string tipoEntrega = tipoServicoCorreios(tipoServico);

            // Instancio o web-service
            Correios.CalcPrecoPrazoWSSoapClient webServiceCorreios = new Correios.CalcPrecoPrazoWSSoapClient();

            //calcula o prazo de entrega
            Correios.cResultado retornoCorreios = webServiceCorreios.CalcPrazoData(tipoEntrega, cepOrigem.Replace("-", "").Trim(), cepDestino.Replace("-", "").Trim(), dataPostagem);

            if (retornoCorreios.Servicos.Length > 0)
            {
                // Se deu tudo certo, então retorna o valor
                if (retornoCorreios.Servicos[0].Erro == "0")
                {
                    retorno = retornoCorreios.Servicos[0].PrazoEntrega;
                }
                else
                {
                    String ret = retornoCorreios.Servicos[0].MsgErro;
                    retorno = retornoCorreios.Servicos[0].PrazoEntrega;
                }
            }
            else
            {
                retorno = "-1";//"NÃO FOI POSSÍVEL CONSULTAR O SERVIÇO DESEJADO!";
            }

            return(Convert.ToInt32(retorno));
        }
Exemplo n.º 2
0
        public CorreiosService(string cdServico, string cepDestino, string peso)
        {
            client = new Correios.CalcPrecoPrazoWSSoapClient();

            nCdEmpresa          = "";
            sDsSenha            = "";
            nCdServico          = cdServico;
            sCepOrigem          = "93022750";
            sCepDestino         = cepDestino;
            nVlPeso             = peso;
            nCdFormato          = 1;
            nVlComprimento      = nVlAltura = nVlLargura = nVlDiametro = 20.0m;
            sCdMaoPropria       = "N";
            nVlValorDeclarado   = 0.0m;
            sCdAvisoRecebimento = "N";
        }
        public void EnviarPedidos(string[] idPedidos)
        {
            string cepUnisinos     = "93022750";
            var    servicoEmail    = new Util.EmailService();
            var    servicoCorreios = new Correios.CalcPrecoPrazoWSSoapClient("CalcPrecoPrazoWSSoap12");

            foreach (var id in idPedidos)
            {
                if (!string.IsNullOrEmpty(id))
                {
                    long idPesquisa = Convert.ToInt64(id);
                    var  pedido     = contexto.PedidoCliente
                                      .Include("Cliente")
                                      .Include("EnderecoEntrega")
                                      .FirstOrDefault(p => p.IdPedidoCliente == idPesquisa);
                    servicoCorreios.Open();
                    var retorno = servicoCorreios.CalcPrazoData(
                        "40010", // sedex
                        cepUnisinos,
                        pedido.EnderecoEntrega.CEP.ToString(),
                        DateTime.Now.ToString("dd/MM/yyyy"));

                    if (retorno.Servicos.Count() > 0)
                    {
                        if (!string.IsNullOrEmpty(retorno.Servicos.FirstOrDefault().Erro) ||
                            !string.IsNullOrEmpty(retorno.Servicos.FirstOrDefault().MsgErro))
                        {
                            throw new Exception(retorno.Servicos.FirstOrDefault().Erro + " - " + retorno.Servicos.FirstOrDefault().MsgErro);
                        }
                        else
                        {
                            AlterarStatusParaAguardandoColeta(pedido);
                            servicoEmail.SendEmail(
                                new List <string>()
                            {
                                pedido.Cliente.Email
                            },
                                "Envio",
                                "Olá " + pedido.Cliente.Nome +
                                ", \n Seu pedido será enviado em breve.\n" +
                                "O prazo de entrega de seu pedido pelos correios é " + retorno.Servicos.FirstOrDefault().PrazoEntrega + " dias.");
                        }
                    }
                }
            }
        }
Exemplo n.º 4
0
        public string CalcularFreteValorData()
        {
            //40010 SEDEX Varejo
            //40045 SEDEX a Cobrar Varejo
            //40215 SEDEX 10 Varejo
            //40290 SEDEX Hoje Varejo
            //41106 PAC Varejo

            // Dados da empresa, se tiver contrato com os Correios
            string nCdEmpresa  = string.Empty;
            string sDsSenha    = string.Empty;
            string retorno     = string.Empty;
            string retornoErro = string.Empty;
            // Código do tipo de frete - por padrão deixei o SEDEX
            string nCdServico = "40010,41106";
            // Cep de origem e destino - apenas números
            string sCepOrigem  = "40280000";
            string sCepDestino = "40280000";
            // Peso total da encomenda - por padrão deixei 1kg
            string nVlPeso = "1";
            // Formato da encomenda - por padrão deixei caixa
            int nCdFormato = 1;
            // Para encomenda do tipo PAC, deve-se preencher a dimensão da embalagem
            decimal nVlComprimento = 20;
            decimal nVlAltura      = 20;
            decimal nVlLargura     = 20;
            decimal nVlDiametro    = 20;
            // Informa se é por mão própria - por padrão deixei Não
            string sCdMaoPropria = "N";
            // Valor declarado - por padrão não informo
            decimal nVlValorDeclarado = 10;
            // Se desejo recebr aviso de recebimento - por padrão não quero
            string sCdAvisoRecebimento = "N";


            // Instancio o web-service
            Correios.CalcPrecoPrazoWSSoapClient webServiceCorreios = new Correios.CalcPrecoPrazoWSSoapClient();


            // Efetuo a requisição
            Correios.cResultado retornoCorreios = webServiceCorreios.CalcPrecoPrazo(nCdEmpresa, sDsSenha, nCdServico, sCepOrigem, sCepDestino, nVlPeso, nCdFormato, nVlComprimento, nVlAltura, nVlLargura, nVlDiametro, sCdMaoPropria, nVlValorDeclarado, sCdAvisoRecebimento);

            // correios.cResultado retornoCorreios = webServiceCorreios.CalcPrazoData("40010", "06445130", "05311900", "03/05/2013");

            //correios.cResultado retornoCorreios2 =  webServiceCorreios.
            // Verifico se há retorno
            if (retornoCorreios.Servicos.Length > 0)
            {
                foreach (var item in retornoCorreios.Servicos.ToList())
                {
                    if (item.Erro == "0")
                    {
                        // Se deu tudo certo, então retorna o valor
                        retorno = "R$ " + item.Valor;
                    }
                    else
                    {
                        retornoErro = item.MsgErro;
                        retorno     = "R$ " + item.Valor;
                    }
                }
            }
            else
            {
                retorno = "01"; //"NÃO FOI POSSÍVEL CONSULTAR O SERVIÇO DESEJADO!";
            }


            return(retorno);
        }