private static void MapLineItems( Shipment shipmentDto, Mediachase.Commerce.Orders.Shipment shipment, OrderForm orderForm) { foreach (var lineItemDto in shipmentDto.LineItems) { var lineItem = CreateLineItem(orderForm, lineItemDto); lineItemDto.ConvertToLineItem(lineItem); shipment.LineItems.Add(lineItem); } }
public static void ConvertToShipment( this Shipment shipmentDto, Mediachase.Commerce.Orders.Shipment shipment, OrderForm orderForm) { shipment.Status = shipmentDto.Status; shipment.ShippingMethodId = shipmentDto.ShippingMethodId; shipment.SubTotal = shipmentDto.SubTotal; shipment.ShippingTax = shipmentDto.ShippingTax; shipment.ShippingDiscountAmount = shipmentDto.ShippingDiscountAmount; shipment.ShipmentTrackingNumber = shipmentDto.ShipmentTrackingNumber; shipment.WarehouseCode = shipmentDto.WarehouseCode; shipment.ShippingAddressId = shipmentDto.ShippingAddressId; shipment.ShippingMethodName = shipmentDto.ShippingMethodName; shipment.PrevStatus = shipmentDto.PrevStatus; shipment.PickListId = shipmentDto.PickListId; shipmentDto.MapPropertiesToModel(shipment); MapLineItems(shipmentDto, shipment, orderForm); }
private static LineItem CreateLineItem(OrderForm orderForm, Models.LineItem lineItemDto) { var existing = orderForm.LineItems.FirstOrDefault(x => x.Code == lineItemDto.Code); if (existing == null) { return(new LineItem { Code = lineItemDto.Code }); } var lineItem = new LineItem { Code = lineItemDto.Code, LineItemDiscountAmount = CalculateItemDiscount(existing.LineItemDiscountAmount, existing.Quantity, lineItemDto.Quantity), OrderLevelDiscountAmount = CalculateItemDiscount(existing.OrderLevelDiscountAmount, existing.Quantity, lineItemDto.Quantity) }; return(lineItem); }