Ejemplo n.º 1
0
        public CustomerServiceModel.Cost GetCost(ShippingModel shipping)
        {
            CustomerServiceModel.Cost costResponse   = new CustomerServiceModel.Cost();
            viewLiquidacion           preLiquidacion = new viewLiquidacion();


            double VL  = shipping.content.Measures.Sum(c => c.VolumetricWeight);
            double VLW = shipping.content.Measures.Sum(c => c.Weight);

            try
            {
                var result = client.GetPreLiquidacion(ref eEncabezado, 2739, (decimal)shipping.content.Value, shipping.content.Quantity, (decimal)VLW, (decimal)VL, shipping.origin.Location.CityCode, shipping.receiver.Location.CityCode, ref preLiquidacion);

                costResponse.MainCost     = (float)preLiquidacion.valorFlete;
                costResponse.VariableCost = (float)preLiquidacion.costoManejo;
                costResponse.TotalCost    = (float)preLiquidacion.TotalFlete;
            }
            catch (Exception e)
            {
                costResponse.error.HasError = true;
                costResponse.error.Message  = e.Message;
            }


            return(costResponse);
        }
        public void GetCostTest()
        {
            CoordinadoraWebService svc = new CoordinadoraWebService();


            CustomerServiceModel.Cost cst = svc.GetCost(GenerateShipping());

        }
Ejemplo n.º 3
0
        public CustomerServiceModel.Cost GetCost(ShippingModel shipping)
        {
            ServiceCotizadorManagement = new RpcServerSoapManagerService();
            ServiceGuiaManagement      = new JRpcServerSoapManagerService();
            List <Cotizador_detalleEmpaques> empaque = new List <Cotizador_detalleEmpaques>();

            CustomerServiceModel.Cost costResponse = new CustomerServiceModel.Cost();

            Cotizador_cotizarIn CotizarIn = new Cotizador_cotizarIn
            {
                apikey         = APIKEY,
                clave          = Cont,
                cuenta         = "1",
                nit            = "",
                origen         = Origen,
                producto       = "0",
                nivel_servicio = new int[0],
                valoracion     = shipping.content.Value.ToString().Replace(".", "").Replace(",", ""),
                destino        = shipping.receiver.Location.CityCode,
            };

            foreach (var measure in shipping.content.Measures)
            {
                empaque.Add(new Cotizador_detalleEmpaques()
                {
                    alto     = measure.Height.ToString(),
                    ancho    = measure.Width.ToString(),
                    largo    = measure.Length.ToString(),
                    peso     = measure.Weight.ToString(),
                    ubl      = "0",
                    unidades = "1"
                });
            }

            CotizarIn.detalle = empaque.ToArray();
            try
            {
                var request = ServiceCotizadorManagement.Cotizador_cotizar(CotizarIn);
                costResponse.MainCost     = request.flete_fijo;
                costResponse.VariableCost = request.flete_variable;
                costResponse.TotalCost    = request.flete_total;
            }
            catch (Exception e)
            {
                costResponse.error.HasError = true;
                costResponse.error.Message  = e.Message;
            }

            return(costResponse);
        }
Ejemplo n.º 4
0
        public CustomerServiceModel.Cost GetCost(ShippingModel shipping)
        {
            CustomerServiceModel.Cost cost = new CustomerServiceModel.Cost();

            try
            {
                var costRequest = Helpers.Utilities.doRequest <CustomerServiceModel.Cost>(CustomerServiceUrl, CustomerServiceModel.Resource.GETCOST, shipping, "POST", 50000);

                if (costRequest == null)
                {
                    cost.error.HasError = true;
                    cost.error.Message  = "Hubo un error al consumir el servicio de costo";
                    return(cost);
                }

                cost = costRequest;
            } catch (Exception e)
            {
                cost.error.HasError = true;
                cost.error.Message  = e.Message;
            }

            return(cost);
        }
Ejemplo n.º 5
0
        public CustomerServiceModel.Cost GetCost(ShippingModel shipping)
        {
            CustomerServiceModel.Cost costResponse = new CustomerServiceModel.Cost();

            BluWebService.viewLiquidacion liq = new BluWebService.viewLiquidacion();


            BluWebService.EError Er = client.GetPreLiquidacion(ref enc, 2739, (decimal)shipping.content.Value, (decimal)shipping.content.Measures.Count, (decimal)shipping.content.Measures.Sum(item => item.Weight), (decimal)shipping.content.Measures.Sum(item => item.VolumetricWeight), shipping.origin.Location.CityCode, shipping.receiver.Location.CityCode, ref liq);

            if (Er.Codigo == 1)
            {
                costResponse.MainCost     = (float)liq.valorFlete;
                costResponse.VariableCost = (float)liq.costoManejo;
                costResponse.TotalCost    = (float)liq.TotalFlete;
                return(costResponse);
            }
            else
            {
                costResponse.error.HasError = true;
                costResponse.error.Message  = Er.Descripcion;

                return(costResponse);
            }
        }
Ejemplo n.º 6
0
        public CustomerServiceModel.Cost GetCost(ShippingModel shipping)
        {
            CustomerServiceModel.Cost costResponse = new CustomerServiceModel.Cost();

            int unidad = ReturnUnidadDeNegocio(shipping);

            Liquidacion liquidacion = new Liquidacion
            {
                boomerang                  = "0",
                tipoenvio                  = "1",
                idciudadorigen             = "05001000",
                idciudaddestino            = shipping.receiver.Location.CityCode,
                valormercancia             = shipping.content.Value.ToString().Replace(".", "").Replace(",", ""),
                cuenta                     = "",
                fecharemesa                = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                idunidadestrategicanegocio = unidad.ToString(),
            };

            co.com.tcc.clientes.liquidacion.unidad[] _unidades = new co.com.tcc.clientes.liquidacion.unidad[shipping.content.Measures.Count];

            int i = 0;

            if (unidad == 1)
            {
                foreach (var measure in shipping.content.Measures)
                {
                    measure.VolumetricWeight = measure.VolumetricWeight == 0 ? 1 : measure.VolumetricWeight;
                    measure.Weight           = measure.Weight == 0 ? 1 : measure.Weight;

                    co.com.tcc.clientes.liquidacion.unidad x = new co.com.tcc.clientes.liquidacion.unidad
                    {
                        alto           = measure.Height.ToString(),
                        ancho          = measure.Width.ToString(),
                        largo          = measure.Length.ToString(),
                        numerounidades = "1",
                        pesoreal       = measure.Weight.ToString(),
                        pesovolumen    = measure.VolumetricWeight.ToString(),
                        tipoempaque    = ""
                    };
                    _unidades[i] = x;
                    i++;
                }
            }
            else
            {
                shipping.content.Measures[0].Weight           = shipping.content.Measures[0].Weight == 0 ? 1 : shipping.content.Measures[0].Weight;
                shipping.content.Measures[0].VolumetricWeight = shipping.content.Measures[0].VolumetricWeight == 0 ? 1 : shipping.content.Measures[0].VolumetricWeight;
                _unidades[0] = new co.com.tcc.clientes.liquidacion.unidad
                {
                    alto           = shipping.content.Measures[0].Height.ToString(),
                    ancho          = shipping.content.Measures[0].Width.ToString(),
                    largo          = shipping.content.Measures[0].Length.ToString(),
                    numerounidades = "1",
                    pesoreal       = shipping.content.Measures[0].Weight.ToString(),

                    pesovolumen = shipping.content.Measures[0].VolumetricWeight.ToString(),
                    tipoempaque = " ",
                };



                //_unidades[0] = new co.com.tcc.clientes.liquidacion.unidad
                //{
                //    alto = shipping.content.Measures[0].Height.ToString(),
                //    ancho = shipping.content.Measures[0].Width.ToString(),
                //    largo = shipping.content.Measures[0].Length.ToString(),
                //    dicecontener = shipping.content.Description,
                //    kilosreales = shipping.content.Measures[0].Weight > shipping.content.Measures[0].VolumetricWeight ? shipping.content.Measures[0].Weight.ToString() : shipping.content.Measures[0].VolumetricWeight.ToString(),
                //    valormercancia = shipping.content.Value.ToString(),
                //    pesovolumen = "1",
                //    tipoempaque = " ",
                //    tipounidad = "TIPO_UND_PAQ",
                //    claseempaque = "CLEM_CAJA",
                //    codigobarras = " ",
                //    numerobolsa = " ",
                //    referencias = " "

                //};
            }



            liquidacion.unidades = _unidades;


            try
            {
                string user = "******";

                log.Debug(liquidacion);

                var request = _paymentService.consultarliquidacion(user, liquidacion);
                if (request.respuesta.codigo != "0")
                {
                    costResponse.error.HasError = true;
                    costResponse.error.Message  = request.respuesta.mensaje + " | | " + request.respuesta.mensajeinterno + " usuario: " + user;
                    return(costResponse);
                }

                costResponse.VariableCost = float.Parse(request.subtotales[0].valor, CultureInfo.InvariantCulture.NumberFormat);
                costResponse.MainCost     = float.Parse(request.subtotales[1].valor, CultureInfo.InvariantCulture.NumberFormat);

                costResponse.TotalCost = float.Parse(request.total.totaldespacho);
            }
            catch (Exception e)
            {
                costResponse.error.HasError = true;
                costResponse.error.Message  = e.Message;
            }

            return(costResponse);
        }