public OrderLineViewModel(Mediachase.Commerce.Orders.LineItem item)
 {
     Code          = item.CatalogEntryId;
     Name          = item.DisplayName;
     Description   = item.GetStringValue(Constants.Metadata.LineItem.Description);
     Price         = item.ExtendedPrice;
     Discount      = item.LineItemDiscountAmount + item.OrderLevelDiscountAmount;
     Quantity      = (int)item.Quantity;
     Size          = item.GetStringValue(Constants.Metadata.LineItem.Size);
     Color         = item.GetStringValue(Constants.Metadata.LineItem.Color);
     ArticleNumber = item.GetStringValue(Constants.Metadata.LineItem.ArticleNumber);
 }
Example #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);
        }