本文整理汇总了C#中Order.AddItem方法的典型用法代码示例。如果您正苦于以下问题:C# Order.AddItem方法的具体用法?C# Order.AddItem怎么用?C# Order.AddItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Order
的用法示例。
在下文中一共展示了Order.AddItem方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AfterSetUp
protected override void AfterSetUp()
{
_order = new OrderBuilder().Build();
_item1 = new OrderItemBuilder().Build();
_item2 = new OrderItemBuilder().Build();
// there are no cascades defined for the following relationships, so we have to save these manually
Session.Save(_order.Employee);
Session.Save(_item1.Product);
Session.Save(_item2.Product);
_order.AddItem(_item1);
_order.AddItem(_item2);
Session.Save(_order);
Flush();
}
示例2: 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);
}
}
示例3: CanGiveTwoCups75PercentOffForFivePepsi
public void CanGiveTwoCups75PercentOffForFivePepsi()
{
// arrange
var order = new Order();
order.AddItem("pepsi").Quantity(5).PricePerUnit(1);
order.AddItem("souvenir cup").Quantity(2).PricePerUnit(2);
var bundle = new Bundle();
bundle.AddBaseProduct(5, "pepsi");
bundle.AddAdditionProduct("souvenir cup").WithPercentOff(75).OnQuantity(2);
order.AddDiscount(bundle);
// act
order.ApplyDiscounts();
var total = order.CalculateTotal();
// assert
Assert.Equal(6, total);
}
示例4: CalculateOrderPrice_NoDiscountAndNoTaxes_SumsPrice
public void CalculateOrderPrice_NoDiscountAndNoTaxes_SumsPrice()
{
var order = new Order();
order.AddItem(new Order.OrderItem {Price = 2});
var price = order.CalculateOrderPrice();
Expect(price, Is.EqualTo(2));
}
示例5: CalculateOrderPrice_WithTax_IncludesTax
public void CalculateOrderPrice_WithTax_IncludesTax()
{
var order = new Order {TaxRate = 0.10m};
order.AddItem(new Order.OrderItem {Price = 2});
var price = order.CalculateOrderPrice();
Expect(price, Is.EqualTo(2.2m));
}
示例6: CalculateOrderPrice_Discounted_IncludesDiscount
public void CalculateOrderPrice_Discounted_IncludesDiscount()
{
var order = new Order {DiscountRate = 0.20m};
order.AddItem(new Order.OrderItem {Price = 2});
var price = order.CalculateOrderPrice();
Expect(price, Is.EqualTo(1.6m));
}
示例7: 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);
}
}
示例8: ConvertToOrder
public static Order ConvertToOrder(this Cart cart)
{
var order = new Order();
foreach (var item in cart.Items)
{
order.AddItem(item.Album, item.Qty, item.Album.Title);
}
return order;
}
示例9: TakeOrder
public void TakeOrder(int tableNumber, IEnumerable<OrderItem> orderItems, Guid id, bool dodgeyCustomer)
{
var order = new Order(tableNumber, id, _name, dodgeyCustomer);
foreach (var item in orderItems)
{
order.AddItem(item);
}
_dispatcher.Publish(new OrderTaken(order, order.Id, null));
}
示例10: ConvertToOrder
public static Order ConvertToOrder(this Basket basket)
{
Order order = new Order();
order.ShippingCharge = basket.DeliveryCost();
order.ShippingService = basket.DeliveryOption.ShippingService;
foreach (BasketItem item in basket.Items())
{
order.AddItem(item.Product, item.Qty);
}
return order;
}
示例11: GivenIHaveAnOrderButNotPaidForIt
public void GivenIHaveAnOrderButNotPaidForIt()
{
_order = new Order();
ProductTitle productTitle = new ProductTitle("Hat", 9.00m, new Brand(), new Category(), new ProductColour(),
new List<Product> {_product});
_product = new Product(productTitle, new ProductSize());
_order.AddItem(_product, 1);
}
示例12: CanMakeDiscountOnGroupsOfFour
public void CanMakeDiscountOnGroupsOfFour()
{
// arrange
var order = new Order();
order.AddItem("pepsi").Quantity(2).PricePerUnit(1);
order.AddItem("pepsi").Quantity(3).PricePerUnit(1);
order.AddDiscount(
new BulkDiscount
{
Product = "pepsi",
NumberInGroup = 4,
SpecialPrice = 0.9m
});
order.ApplyDiscounts();
// act
decimal total = order.CalculateTotal();
// assert
Assert.Equal(4.6m, total);
}
示例13: Given
public void Given()
{
DomainEvents.DomainEventHandlerFactory = new StubDomaubinEventHandlerFactory();
_order = new Order();
ProductTitle productTitle = new ProductTitle("Hat", 9.00m, new Brand(), new Category(), new ProductColour(),
new List<Product>());
Product product = new Product(productTitle, new ProductSize());
_order.AddItem(product, 1);
}
示例14: WhenIsCalculatedTotalThenCouponIsConsidered
public void WhenIsCalculatedTotalThenCouponIsConsidered()
{
// arrange
var order = new Order();
order.AddItem("some dainty").PricePerUnit(5).Quantity(10);
order.AddCoupon(new Coupon {Threshold = 50m, AmountOff = 5m});
// act
var total = order.CalculateTotal();
// assert
Assert.Equal(45, total);
}
示例15: UnableToApplySameCouponTwice
public void UnableToApplySameCouponTwice()
{
// arrange
var order = new Order();
order.AddItem("some dainty").PricePerUnit(7).Quantity(10);
order.AddCoupon(new Coupon { Threshold = 50m, AmountOff = 5m });
// act
order.CalculateTotal();
var total = order.CalculateTotal();
// assert
Assert.Equal(65, total);
}