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); }
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); }