Пример #1
0
        public WSCorreiosCalcPrecoPrazo.cResultado RequestCorreios(GetShippingOptionRequest getShippingOptionRequest)
        {
            Binding binding = new BasicHttpBinding();

            binding.Name = "CalcPrecoPrazoWSSoap";

            getShippingOptionRequest.ZipPostalCodeFrom = GetZipPostalCodeFrom(getShippingOptionRequest);

            decimal length, width, height;

            GetDimensions(getShippingOptionRequest, out width, out length, out height);

            EndpointAddress endpointAddress = new EndpointAddress(_correiosSettings.Url);

            WSCorreiosCalcPrecoPrazo.CalcPrecoPrazoWSSoap wsCorreios = new WSCorreiosCalcPrecoPrazo.CalcPrecoPrazoWSSoapClient(binding, endpointAddress);
            return(wsCorreios.CalcPrecoPrazo(_correiosSettings.CompanyCode, _correiosSettings.Password, GetSelectecServices(_correiosSettings), getShippingOptionRequest.ZipPostalCodeFrom,
                                             getShippingOptionRequest.ShippingAddress.ZipPostalCode, GetWheight(getShippingOptionRequest).ToString(), 1, length, height, width, 0, "N", GetDeclaredValue(getShippingOptionRequest), "N"));
        }
        public async Task <WSCorreiosCalcPrecoPrazo.cResultado> RequestCorreiosAsync(GetShippingOptionRequest getShippingOptionRequest)
        {
            Binding binding = new BasicHttpBinding();

            binding.Name = "CalcPrecoPrazoWSSoap";

            if (string.IsNullOrEmpty(getShippingOptionRequest.ZipPostalCodeFrom))
            {
                getShippingOptionRequest.ZipPostalCodeFrom = _correiosSettings.PostalCodeFrom;
            }

            decimal length, width, height;

            (width, length, height) = await GetDimensions(getShippingOptionRequest);

            EndpointAddress endpointAddress = new EndpointAddress(_correiosSettings.Url);

            WSCorreiosCalcPrecoPrazo.CalcPrecoPrazoWSSoap wsCorreios = new WSCorreiosCalcPrecoPrazo.CalcPrecoPrazoWSSoapClient(binding, endpointAddress);

            var selectedServices = GetSelectecServices(_correiosSettings);
            var shippRequest     = await GetWheightAsync(getShippingOptionRequest);

            var declaredValue = await GetDeclaredValueAsync(getShippingOptionRequest);

            return(await wsCorreios.CalcPrecoPrazoAsync(
                       (_correiosSettings.CompanyCode == null ? "" : _correiosSettings.CompanyCode),
                       (_correiosSettings.Password == null ? "" : _correiosSettings.Password),
                       selectedServices,
                       getShippingOptionRequest.ZipPostalCodeFrom,
                       getShippingOptionRequest.ShippingAddress.ZipPostalCode,
                       shippRequest.ToString(),                                                          //nVlPeso
                       1,                                                                                //nCdFormato
                       length,                                                                           //nVlComprimento
                       height,                                                                           //nVlAltura
                       width,                                                                            //nVlLargura
                       0,                                                                                //nVlDiametro
                       "N",                                                                              //sCdMaoPropria
                       (declaredValue < decimal.Parse("20.5") ? decimal.Parse("20.51") : declaredValue), //nVlValorDeclarado
                       "N"                                                                               //sCdAvisoRecebimento
                       ));
        }