当前位置: 首页>>代码示例>>C#>>正文


C# Order.ItemsWithProduct方法代码示例

本文整理汇总了C#中Order.ItemsWithProduct方法的典型用法代码示例。如果您正苦于以下问题:C# Order.ItemsWithProduct方法的具体用法?C# Order.ItemsWithProduct怎么用?C# Order.ItemsWithProduct使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Order的用法示例。


在下文中一共展示了Order.ItemsWithProduct方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Apply

        public override void Apply(Order order)
        {
            var numberOfApplicableBundles = BaseProducts
                .Select(b => Convert.ToInt32(order.ProductQuantity(b.Product) / b.Quantity))
                .Min();

            foreach (var addition in AdditionProducts)
            {
                var actualQuantity = order.ProductQuantity(addition.Product);
                if (actualQuantity == 0) continue;

                var applicableQuantity = numberOfApplicableBundles * addition.Quantity;
                //
                // number of addition products in order can be bigger or lesser
                // than according to number of applicable items
                //
                var adjustmentQuantity = Math.Min(actualQuantity, applicableQuantity);

                string item = string.Format(
                    "{0}% off on '{1}' (bundle {2})",
                    addition.PercentOff, addition.Product, GetShortBundleDescr());

                decimal price = order.ItemsWithProduct(addition.Product).First().PricePerUnit;

                order.AddItem(item).Quantity(adjustmentQuantity)
                    .PricePerUnit(-price * addition.PercentOff / 100);
            }
        }
开发者ID:igor-toporet,项目名称:SampleCashRegister,代码行数:28,代码来源:Bundle.cs

示例2: Apply

        public override void Apply(Order order)
        {
            var affectedItems = order.ItemsWithProduct(Product);
            var adjustmentItems = affectedItems.Select(CreateAdjustmentItem);

            foreach (var newItem in adjustmentItems)
            {
                order.AddItem(newItem);
            }
        }
开发者ID:igor-toporet,项目名称:SampleCashRegister,代码行数:10,代码来源:SingleProductDiscount.cs

示例3: Apply

        public override void Apply(Order order)
        {
            var desiredItems = order.ItemsWithProduct(Product).ToArray();

            if (!desiredItems.Any()) return;

            var regularPrice = desiredItems.First().PricePerUnit;

            var sumOfDesiredItems = desiredItems.Sum(i => i.Quantity);

            int wholeGroupsCount = Convert.ToInt32(sumOfDesiredItems/NumberInGroup);

            string item = string.Format(
                "Bulk discount on '{0}' groups of {1} ({2} whole groups)",
                Product, NumberInGroup, wholeGroupsCount);

            order.AddItem(item).Quantity(wholeGroupsCount)
                .PricePerUnit((SpecialPrice - regularPrice)*wholeGroupsCount*NumberInGroup);
        }
开发者ID:igor-toporet,项目名称:SampleCashRegister,代码行数:19,代码来源:BulkDiscount.cs


注:本文中的Order.ItemsWithProduct方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。