public static NetSuiteSalesOrderFulfillment ToSVSalesOrderFulfillment(this NetSuiteSoapWS.ItemFulfillment orderFulfillment) { var svOrderFulfillment = new NetSuiteSalesOrderFulfillment() { Id = orderFulfillment.internalId, TransactionId = orderFulfillment.tranId, CreatedDateUtc = orderFulfillment.createdDate.ToUniversalTime(), LastModifiedDateUtc = orderFulfillment.lastModifiedDate.ToUniversalTime(), Status = ToSVSalesOrderFulfillmentStatus(orderFulfillment.shipStatus), ShipmentCarrier = GetSVSalesOrderFulfillmentCarrier(orderFulfillment), ShipmentClass = orderFulfillment.shipMethod?.name, ShippingCost = (decimal)orderFulfillment.shippingCost, Note = orderFulfillment.memo, Items = orderFulfillment.itemList.ToSVSalesOrderFulfillmentItems(), Packages = GetSVSalesOrderFullfillmentPackages(orderFulfillment) }; return(svOrderFulfillment); }
public static NetSuiteSalesOrderFulfillmentCarrierEnum GetSVSalesOrderFulfillmentCarrier(NetSuiteSoapWS.ItemFulfillment orderFulfillment) { if (orderFulfillment.packageFedExList != null) { return(NetSuiteSalesOrderFulfillmentCarrierEnum.FedEx); } if (orderFulfillment.packageUspsList != null) { return(NetSuiteSalesOrderFulfillmentCarrierEnum.USPS); } if (orderFulfillment.packageUpsList != null) { return(NetSuiteSalesOrderFulfillmentCarrierEnum.UPS); } return(NetSuiteSalesOrderFulfillmentCarrierEnum.Other); }
private static IEnumerable <NetSuiteSalesOrderFulfillmentPackage> GetSVSalesOrderFullfillmentPackages(NetSuiteSoapWS.ItemFulfillment orderFulfillment) { if (orderFulfillment.packageFedExList != null) { return(orderFulfillment.packageFedExList.ToSVSalesOrderFulfillmentPackages()); } if (orderFulfillment.packageUspsList != null) { return(orderFulfillment.packageUspsList.ToSVSalesOrderFulfillmentPackages()); } if (orderFulfillment.packageUpsList != null) { return(orderFulfillment.packageUpsList.ToSVSalesOrderFulfillmentPackages()); } return(orderFulfillment.packageList.ToSVSalesOrderFulfillmentPackages()); }
public void WhenToSVSalesOrderFulfillment_ThenFieldsAreMapped() { var nsOrderFulfillment = new NetSuiteSoapWS.ItemFulfillment() { internalId = "1", tranId = "100", createdDate = DateTime.UtcNow.AddDays(-1), lastModifiedDate = DateTime.UtcNow, shipStatus = NetSuiteSoapWS.ItemFulfillmentShipStatus._shipped, shipMethod = new NetSuiteSoapWS.RecordRef() { name = "UPS 2nd Day Air" }, shippingCost = 1.24, memo = "Some note here", itemList = new NetSuiteSoapWS.ItemFulfillmentItemList() { item = new NetSuiteSoapWS.ItemFulfillmentItem[] { new NetSuiteSoapWS.ItemFulfillmentItem() { itemName = "NS-testsku1", quantity = 2 }, new NetSuiteSoapWS.ItemFulfillmentItem() { itemName = "NS-testsku2", quantity = 4 } } }, packageUpsList = new NetSuiteSoapWS.ItemFulfillmentPackageUpsList() { packageUps = new NetSuiteSoapWS.ItemFulfillmentPackageUps[] { new NetSuiteSoapWS.ItemFulfillmentPackageUps() { packageTrackingNumberUps = "123456789ABCD", packageWeightUps = 4.12, packageDescrUps = "Fragile content", packageLengthUps = 2, packageHeightUps = 2, packageWidthUps = 1, insuredValueUps = 1.5 } } } }; var svSalesOrderFulfillment = nsOrderFulfillment.ToSVSalesOrderFulfillment(); svSalesOrderFulfillment.Id.Should().Be(nsOrderFulfillment.internalId); svSalesOrderFulfillment.TransactionId.Should().Be(nsOrderFulfillment.tranId); svSalesOrderFulfillment.CreatedDateUtc.Should().Be(nsOrderFulfillment.createdDate.ToUniversalTime()); svSalesOrderFulfillment.LastModifiedDateUtc.Should().Be(nsOrderFulfillment.lastModifiedDate.ToUniversalTime()); svSalesOrderFulfillment.Note.Should().Be(nsOrderFulfillment.memo); svSalesOrderFulfillment.Status.Should().Be(NetSuiteSalesOrderFulfillmentStatusEnum.Shipped); svSalesOrderFulfillment.ShipmentCarrier.Should().Be(NetSuiteSalesOrderFulfillmentCarrierEnum.UPS); svSalesOrderFulfillment.ShipmentClass.Should().Be(nsOrderFulfillment.shipMethod.name); svSalesOrderFulfillment.ShippingCost.Should().Be((decimal)nsOrderFulfillment.shippingCost); svSalesOrderFulfillment.Items.Count().Should().Be(nsOrderFulfillment.itemList.item.Count()); svSalesOrderFulfillment.Items.First().Name.Should().Be(nsOrderFulfillment.itemList.item.First().itemName); svSalesOrderFulfillment.Items.First().Quantity.Should().Be((int)nsOrderFulfillment.itemList.item.First().quantity); svSalesOrderFulfillment.Items.Last().Name.Should().Be(nsOrderFulfillment.itemList.item.Last().itemName); svSalesOrderFulfillment.Items.Last().Quantity.Should().Be((int)nsOrderFulfillment.itemList.item.Last().quantity); svSalesOrderFulfillment.Packages.Count().Should().Be(nsOrderFulfillment.packageUpsList.packageUps.Count()); var svSalesOrderFulfillmentPackage = svSalesOrderFulfillment.Packages.First(); var nsOrderFulfillmentPackage = nsOrderFulfillment.packageUpsList.packageUps.First(); svSalesOrderFulfillmentPackage.TrackingNumber.Should().Be(nsOrderFulfillmentPackage.packageTrackingNumberUps); svSalesOrderFulfillmentPackage.WeightLbs.Should().Be((decimal)nsOrderFulfillmentPackage.packageWeightUps); svSalesOrderFulfillmentPackage.WidthInches.Should().Be(nsOrderFulfillmentPackage.packageWidthUps); svSalesOrderFulfillmentPackage.LengthInches.Should().Be(nsOrderFulfillmentPackage.packageLengthUps); svSalesOrderFulfillmentPackage.HeightInches.Should().Be(nsOrderFulfillmentPackage.packageHeightUps); svSalesOrderFulfillmentPackage.InsuranceCost.Should().Be((decimal)nsOrderFulfillmentPackage.insuredValueUps); }