public marketingDto.ProductPromoEntry ToProductPromoEntryDto(PromotionProductEntry promoProductEntry)
        {
            var serviceModel = new marketingDto.ProductPromoEntry();

            serviceModel.InjectFrom <NullableAndEnumValueInjecter>(promoProductEntry);

            serviceModel.Discount   = promoProductEntry.Discount != null ? (double?)promoProductEntry.Discount.Amount : null;
            serviceModel.Price      = promoProductEntry.Price != null ? (double?)promoProductEntry.Price.Amount : null;
            serviceModel.Variations = promoProductEntry.Variations != null?promoProductEntry.Variations.Select(ToProductPromoEntryDto).ToList() : null;

            return(serviceModel);
        }
        public static MarketingModule.Client.Model.ProductPromoEntry ToServiceModel(this PromotionProductEntry webModel)
        {
            var serviceModel = new MarketingModule.Client.Model.ProductPromoEntry();

            serviceModel.InjectFrom <NullableAndEnumValueInjecter>(webModel);

            serviceModel.Discount   = webModel.Discount != null ? (double?)webModel.Discount.Amount : null;
            serviceModel.Price      = webModel.Price != null ? (double?)webModel.Price.Amount : null;
            serviceModel.Variations = webModel.Variations != null?webModel.Variations.Select(v => v.ToServiceModel()).ToList() : null;

            return(serviceModel);
        }
        public static PromotionProductEntry ToPromotionItem(this LineItem lineItem)
        {
            var promoItem = new PromotionProductEntry();

            promoItem.InjectFrom(lineItem);

            promoItem.Discount   = (double)lineItem.DiscountTotal.Amount;
            promoItem.Price      = (double)lineItem.PlacedPrice.Amount;
            promoItem.Quantity   = lineItem.Quantity;
            promoItem.Variations = null; // TODO

            return(promoItem);
        }
Example #4
0
        public static PromotionProductEntry ToPromotionItem(this Product product)
        {
            var promoItem = new PromotionProductEntry();

            promoItem.InjectFrom(product);

            if (product.Price != null)
            {
                promoItem.Discount = new Money(product.Price.ActiveDiscount != null ? product.Price.ActiveDiscount.Amount.Amount : 0m, product.Price.Currency);
                promoItem.Price    = product.Price.SalePrice;
            }

            promoItem.ProductId  = product.Id;
            promoItem.Quantity   = 1;
            promoItem.Variations = product.Variations.Select(v => v.ToPromotionItem()).ToList();

            return(promoItem);
        }
 public static marketingDto.ProductPromoEntry ToProductPromoEntryDto(this PromotionProductEntry promoProductEntry)
 {
     return(MarketingConverterInstance.ToProductPromoEntryDto(promoProductEntry));
 }