示例#1
0
        public USPSResponse CreateShipment(USPSRequest request, int ExpressId)
        {
            USPSResponse response = new USPSResponse();

            FrayteLogisticIntegration logisticIntegration = UtilityRepository.getLogisticIntegration(UtilityRepository.GetOperationZone().OperationZoneId, AppSettings.ApplicationMode, FrayteIntegration.USPS);

            string res = string.Empty;

            request.header.key     = logisticIntegration.InetgrationKey;
            request.header.version = logisticIntegration.AppVersion;

            var usps = Newtonsoft.Json.JsonConvert.SerializeObject(request);

            res      = GetResponse(logisticIntegration, usps);
            response = JsonConvert.DeserializeObject <USPSResponse>(res);
            var error = JsonConvert.DeserializeObject <USPSError>(res);

            return(response);
        }
示例#2
0
        public USPSRequest MapExpressShipmentToUSPSShipmentRequest(ExpressShipmentModel shipment)
        {
            USPSRequest request = new USPSRequest();

            try
            {
                request.header         = new USPSHeader();
                request.header.key     = "";
                request.header.version = "";

                request.shipment             = new USPSShipment();
                request.shipment.date        = DateTime.Now.ToString("yyyy-MM-dd");
                request.shipment.labelType   = "PNG";
                request.shipment.mailClass   = "EX";
                request.shipment.packageType = "LEGAL FLAT RATE ENV";
                request.shipment.weight      = shipment.Service.ActualWeight;

                request.shipment.dimensions        = new USPSDimensions();
                request.shipment.dimensions.height = shipment.Packages.FirstOrDefault().Height;
                request.shipment.dimensions.length = shipment.Packages.FirstOrDefault().Length;
                request.shipment.dimensions.width  = shipment.Packages.FirstOrDefault().Width;

                request.shipment.sender          = new USPSSenderAddress();
                request.shipment.sender.address1 = shipment.ShipFrom.Address;
                request.shipment.sender.address2 = shipment.ShipFrom.Address2;
                request.shipment.sender.city     = shipment.ShipFrom.City;
                request.shipment.sender.company  = shipment.ShipFrom.CompanyName;
                request.shipment.sender.country  = shipment.ShipFrom.Country.Code2;
                request.shipment.sender.name     = shipment.ShipFrom.FirstName + " " + shipment.ShipFrom.LastName;
                request.shipment.sender.phone    = shipment.ShipFrom.Phone;
                request.shipment.sender.state    = dbContext.CountryStates.Where(x => x.CountryId == shipment.ShipFrom.Country.CountryId && x.StateName == shipment.ShipFrom.State).FirstOrDefault().StateCode;
                request.shipment.sender.zip      = shipment.ShipFrom.PostCode;
                request.shipment.sender.zip4     = "1111";

                request.shipment.receiver          = new USPSSenderAddress();
                request.shipment.receiver.address1 = shipment.ShipTo.Address;
                request.shipment.receiver.address2 = shipment.ShipTo.Address2;
                request.shipment.receiver.city     = shipment.ShipTo.City;
                request.shipment.receiver.company  = shipment.ShipTo.CompanyName;
                request.shipment.receiver.country  = shipment.ShipTo.Country.Code2;
                request.shipment.receiver.name     = shipment.ShipTo.FirstName + " " + shipment.ShipTo.LastName;
                request.shipment.receiver.state    = dbContext.CountryStates.Where(x => x.CountryId == shipment.ShipTo.Country.CountryId && x.StateName == shipment.ShipTo.State).FirstOrDefault().StateCode;
                request.shipment.receiver.zip      = shipment.ShipTo.PostCode;
                request.shipment.receiver.zip4     = "1111";

                request.shipment.options           = new USPSOptions();
                request.shipment.options.insurance = 0;
                request.shipment.options.signature = "N";

                request.shipment.items = new List <USPSItems>();
                foreach (var item in shipment.Packages)
                {
                    if (item.CartonValue > 0)
                    {
                        for (int i = 0; i < item.CartonValue; i++)
                        {
                            USPSItems piece = new USPSItems();
                            if (shipment.PakageCalculatonType.ToUpper() == FraytePakageCalculationType.kgtoCms.ToUpper())
                            {
                                piece.description = item.Content;
                                piece.quantity    = item.CartonValue;
                                piece.unitValue   = item.Value;
                                piece.weight      = (shipment.Packages[i].Weight) * 35.27396195M;
                                piece.weightUnit  = "oz";
                            }
                            else if (shipment.PakageCalculatonType.ToUpper() == FraytePakageCalculationType.LbToInchs.ToUpper())
                            {
                                piece.description = item.Content;
                                piece.quantity    = item.CartonValue;
                                piece.unitValue   = item.Value;
                                piece.weight      = (shipment.Packages[i].Weight) * 16;
                                piece.weightUnit  = "oz";
                            }
                            request.shipment.items.Add(piece);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }

            return(request);
        }