예제 #1
0
        private static void ConvertToLineItem(this Models.LineItem lineItemDto, ILineItem lineItem)
        {
            var li = lineItem;

            li.DisplayName             = lineItemDto.DisplayName;
            li.PlacedPrice             = lineItemDto.PlacedPrice;
            li.Quantity                = lineItemDto.Quantity;
            li.ReturnQuantity          = lineItemDto.ReturnQuantity;
            li.InventoryTrackingStatus = lineItemDto.InventoryTrackingStatus;
            li.IsInventoryAllocated    = lineItemDto.IsInventoryAllocated;
            li.IsGift = lineItemDto.IsGift;
            lineItemDto.MapPropertiesToModel(li);
        }
예제 #2
0
        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);
        }