本文整理汇总了C#中SalesOrderItemBuilder.AddOrderedWithFeature方法的典型用法代码示例。如果您正苦于以下问题:C# SalesOrderItemBuilder.AddOrderedWithFeature方法的具体用法?C# SalesOrderItemBuilder.AddOrderedWithFeature怎么用?C# SalesOrderItemBuilder.AddOrderedWithFeature使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SalesOrderItemBuilder
的用法示例。
在下文中一共展示了SalesOrderItemBuilder.AddOrderedWithFeature方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SalesOrderBuilder
public void GivenOrderItemWithOrderedWithFeature_WhenDeriving_ThenOrderedWithFeatureOrderItemMustBeForProductFeature()
{
this.InstantiateObjects(this.DatabaseSession);
var salesOrder = new SalesOrderBuilder(this.DatabaseSession)
.WithTakenByInternalOrganisation(this.internalOrganisation)
.WithShipToAddress(this.shipToContactMechanismMechelen)
.WithBillToCustomer(this.billToCustomer)
.Build();
var productOrderItem = new SalesOrderItemBuilder(this.DatabaseSession)
.WithProduct(this.good)
.WithQuantityOrdered(3)
.WithActualUnitPrice(5)
.Build();
var productFeatureOrderItem = new SalesOrderItemBuilder(this.DatabaseSession)
.WithProductFeature(this.feature1)
.WithQuantityOrdered(3)
.WithActualUnitPrice(5)
.Build();
productOrderItem.AddOrderedWithFeature(productFeatureOrderItem);
salesOrder.AddSalesOrderItem(productOrderItem);
salesOrder.AddSalesOrderItem(productFeatureOrderItem);
Assert.IsFalse(this.DatabaseSession.Derive().HasErrors);
productFeatureOrderItem.RemoveProductFeature();
productFeatureOrderItem.Product = this.good;
Assert.IsTrue(this.DatabaseSession.Derive().HasErrors);
}
示例2: GivenPickList_WhenPicked_ThenInventoryIsAdjustedAndOrderItemsQuantityPickedIsSet
//.........这里部分代码省略.........
.WithProductPurchasePrice(good1PurchasePrice)
.WithSupplier(supplier)
.WithFromDate(DateTime.UtcNow)
.Build();
new SupplierOfferingBuilder(this.DatabaseSession)
.WithProduct(good2)
.WithProductPurchasePrice(good2PurchasePrice)
.WithSupplier(supplier)
.WithFromDate(DateTime.UtcNow)
.Build();
this.DatabaseSession.Derive(true);
var good1Inventory = (NonSerializedInventoryItem)good1.InventoryItemsWhereGood[0];
good1Inventory.AddInventoryItemVariance(new InventoryItemVarianceBuilder(this.DatabaseSession).WithQuantity(100).WithReason(new VarianceReasons(this.DatabaseSession).Unknown).Build());
this.DatabaseSession.Derive(true);
var good2Inventory = (NonSerializedInventoryItem)good2.InventoryItemsWhereGood[0];
good2Inventory.AddInventoryItemVariance(new InventoryItemVarianceBuilder(this.DatabaseSession).WithQuantity(100).WithReason(new VarianceReasons(this.DatabaseSession).Unknown).Build());
this.DatabaseSession.Derive(true);
var colorWhite = new ColourBuilder(this.DatabaseSession)
.WithName("white")
.WithLocalisedName(new LocalisedTextBuilder(this.DatabaseSession)
.WithText("white")
.WithLocale(Singleton.Instance(this.DatabaseSession).DefaultLocale)
.Build())
.Build();
var extraLarge = new SizeBuilder(this.DatabaseSession)
.WithName("extra large")
.WithLocalisedName(new LocalisedTextBuilder(this.DatabaseSession)
.WithText("Extra large")
.WithLocale(Singleton.Instance(this.DatabaseSession).DefaultLocale)
.Build())
.Build();
var order = new SalesOrderBuilder(this.DatabaseSession)
.WithBillToCustomer(customer)
.WithShipToCustomer(customer)
.WithVatRegime(new VatRegimes(this.DatabaseSession).Export)
.Build();
var item1 = new SalesOrderItemBuilder(this.DatabaseSession).WithProduct(good1).WithQuantityOrdered(1).WithActualUnitPrice(15).Build();
var item2 = new SalesOrderItemBuilder(this.DatabaseSession).WithProductFeature(colorWhite).WithQuantityOrdered(1).WithActualUnitPrice(15).Build();
var item3 = new SalesOrderItemBuilder(this.DatabaseSession).WithProductFeature(extraLarge).WithQuantityOrdered(1).WithActualUnitPrice(15).Build();
item1.AddOrderedWithFeature(item2);
item1.AddOrderedWithFeature(item3);
var item4 = new SalesOrderItemBuilder(this.DatabaseSession).WithProduct(good1).WithQuantityOrdered(2).WithActualUnitPrice(15).Build();
var item5 = new SalesOrderItemBuilder(this.DatabaseSession).WithProduct(good2).WithQuantityOrdered(5).WithActualUnitPrice(15).Build();
order.AddSalesOrderItem(item1);
order.AddSalesOrderItem(item2);
order.AddSalesOrderItem(item3);
order.AddSalesOrderItem(item4);
order.AddSalesOrderItem(item5);
this.DatabaseSession.Derive(true);
order.Confirm();
this.DatabaseSession.Derive(true);
var shipment = (CustomerShipment)mechelenAddress.ShipmentsWhereShipToAddress[0];
var pickList = good1.InventoryItemsWhereGood[0].PickListItemsWhereInventoryItem[0].PickListWherePickListItem;
pickList.Picker = new Persons(this.DatabaseSession).FindBy(Persons.Meta.LastName, "orderProcessor");
//// item5: only 4 out of 5 are actually picked
foreach (PickListItem pickListItem in pickList.PickListItems)
{
if (pickListItem.RequestedQuantity == 5)
{
pickListItem.ActualQuantity = 4;
}
}
pickList.SetPicked();
this.DatabaseSession.Derive(true);
//// all orderitems have same physical finished good, so there is only one picklist item.
Assert.AreEqual(new CustomerShipmentObjectStates(this.DatabaseSession).Picked, shipment.CurrentShipmentStatus.CustomerShipmentObjectState);
Assert.AreEqual(new PickListObjectStates(this.DatabaseSession).Picked, pickList.CurrentPickListStatus.PickListObjectState);
Assert.AreEqual(1, item1.QuantityPicked);
Assert.AreEqual(0, item1.QuantityReserved);
Assert.AreEqual(0, item1.QuantityRequestsShipping);
Assert.AreEqual(2, item4.QuantityPicked);
Assert.AreEqual(0, item4.QuantityReserved);
Assert.AreEqual(0, item4.QuantityRequestsShipping);
Assert.AreEqual(4, item5.QuantityPicked);
Assert.AreEqual(1, item5.QuantityReserved);
Assert.AreEqual(0, item5.QuantityRequestsShipping);
Assert.AreEqual(97, good1Inventory.QuantityOnHand);
Assert.AreEqual(0, good1Inventory.QuantityCommittedOut);
Assert.AreEqual(96, good2Inventory.QuantityOnHand);
Assert.AreEqual(1, good2Inventory.QuantityCommittedOut);
}
示例3: CityBuilder
public void GivenSalesOrderWithMultipleRecipients_WhenConfirmed_ThenShipmentIsCreatedForEachRecipientAndPickListIsCreated()
{
var mechelen = new CityBuilder(this.DatabaseSession).WithName("Mechelen").Build();
var mechelenAddress = new PostalAddressBuilder(this.DatabaseSession).WithGeographicBoundary(mechelen).WithAddress1("Haverwerf 15").Build();
var shipToMechelen = new PartyContactMechanismBuilder(this.DatabaseSession)
.WithContactMechanism(mechelenAddress)
.WithContactPurpose(new ContactMechanismPurposes(this.DatabaseSession).ShippingAddress)
.WithUseAsDefault(true)
.Build();
var baal = new CityBuilder(this.DatabaseSession).WithName("Baal").Build();
var baalAddress = new PostalAddressBuilder(this.DatabaseSession).WithGeographicBoundary(baal).WithAddress1("Haverwerf 15").Build();
var shipToBaal = new PartyContactMechanismBuilder(this.DatabaseSession)
.WithContactMechanism(baalAddress)
.WithContactPurpose(new ContactMechanismPurposes(this.DatabaseSession).ShippingAddress)
.WithUseAsDefault(true)
.Build();
var person1 = new PersonBuilder(this.DatabaseSession).WithLastName("person1").WithPartyContactMechanism(shipToMechelen).Build();
var person2 = new PersonBuilder(this.DatabaseSession).WithLastName("person2").WithPartyContactMechanism(shipToBaal).Build();
var internalOrganisation = Singleton.Instance(this.DatabaseSession).DefaultInternalOrganisation;
new CustomerRelationshipBuilder(this.DatabaseSession).WithFromDate(DateTime.UtcNow).WithCustomer(person1).WithInternalOrganisation(internalOrganisation).Build();
new CustomerRelationshipBuilder(this.DatabaseSession).WithFromDate(DateTime.UtcNow).WithCustomer(person2).WithInternalOrganisation(internalOrganisation).Build();
var vatRate21 = new VatRateBuilder(this.DatabaseSession).WithRate(21).Build();
var part = new FinishedGoodBuilder(this.DatabaseSession)
.WithName("part1")
.WithOwnedByParty(new InternalOrganisations(this.DatabaseSession).FindBy(InternalOrganisations.Meta.Name, "internalOrganisation"))
.Build();
this.DatabaseSession.Derive(true);
var partInventory = (NonSerializedInventoryItem)part.InventoryItemsWherePart[0];
partInventory.AddInventoryItemVariance(new InventoryItemVarianceBuilder(this.DatabaseSession).WithQuantity(100).WithReason(new VarianceReasons(this.DatabaseSession).Unknown).Build());
this.DatabaseSession.Derive(true);
var good1 = new GoodBuilder(this.DatabaseSession)
.WithSku("10101")
.WithVatRate(vatRate21)
.WithName("good1")
.WithFinishedGood(part)
.WithUnitOfMeasure(new UnitsOfMeasure(this.DatabaseSession).Piece)
.Build();
var good2 = new GoodBuilder(this.DatabaseSession)
.WithSku("10102")
.WithVatRate(vatRate21)
.WithName("good2")
.WithFinishedGood(part)
.WithUnitOfMeasure(new UnitsOfMeasure(this.DatabaseSession).Piece)
.Build();
var colorBlack = new ColourBuilder(this.DatabaseSession)
.WithName("white")
.WithLocalisedName(new LocalisedTextBuilder(this.DatabaseSession)
.WithText("White")
.WithLocale(Singleton.Instance(this.DatabaseSession).DefaultLocale)
.Build())
.Build();
var extraLarge = new SizeBuilder(this.DatabaseSession)
.WithName("Extra large")
.WithLocalisedName(new LocalisedTextBuilder(this.DatabaseSession)
.WithText("White")
.WithLocale(Singleton.Instance(this.DatabaseSession).DefaultLocale)
.Build())
.Build();
var order = new SalesOrderBuilder(this.DatabaseSession)
.WithBillToCustomer(person1)
.WithShipToCustomer(person1)
.WithShipToAddress(mechelenAddress)
.WithVatRegime(new VatRegimes(this.DatabaseSession).Export)
.Build();
var item1 = new SalesOrderItemBuilder(this.DatabaseSession).WithProduct(good1).WithQuantityOrdered(1).WithActualUnitPrice(15).Build();
var item2 = new SalesOrderItemBuilder(this.DatabaseSession).WithProductFeature(colorBlack).WithQuantityOrdered(1).WithActualUnitPrice(15).Build();
var item3 = new SalesOrderItemBuilder(this.DatabaseSession).WithProductFeature(extraLarge).WithQuantityOrdered(1).WithActualUnitPrice(15).Build();
item1.AddOrderedWithFeature(item2);
item1.AddOrderedWithFeature(item3);
var item4 = new SalesOrderItemBuilder(this.DatabaseSession).WithProduct(good1).WithQuantityOrdered(2).WithActualUnitPrice(15).Build();
var item5 = new SalesOrderItemBuilder(this.DatabaseSession).WithProduct(good2).WithQuantityOrdered(5).WithActualUnitPrice(15).WithAssignedShipToParty(person2).Build();
order.AddSalesOrderItem(item1);
order.AddSalesOrderItem(item2);
order.AddSalesOrderItem(item3);
order.AddSalesOrderItem(item4);
order.AddSalesOrderItem(item5);
this.DatabaseSession.Derive(true);
order.Confirm();
this.DatabaseSession.Derive(true);
var shipmentToMechelen = mechelenAddress.ShipmentsWhereShipToAddress[0];
var shipmentToBaal = baalAddress.ShipmentsWhereShipToAddress[0];
//.........这里部分代码省略.........
示例4: GivenOrderItemForGood1WithFeature2_WhenDerivingPrices_ThenUsePriceComponentsForGood1AndFeature2
public void GivenOrderItemForGood1WithFeature2_WhenDerivingPrices_ThenUsePriceComponentsForGood1AndFeature2()
{
this.InstantiateObjects(this.DatabaseSession);
const decimal quantityOrdered = 3;
var item1 = new SalesOrderItemBuilder(this.DatabaseSession).WithProduct(this.good).WithQuantityOrdered(quantityOrdered).Build();
var item2 = new SalesOrderItemBuilder(this.DatabaseSession).WithProductFeature(this.feature2).WithQuantityOrdered(quantityOrdered).Build();
item1.AddOrderedWithFeature(item2);
this.order.AddSalesOrderItem(item1);
this.order.AddSalesOrderItem(item2);
this.DatabaseSession.Derive(true);
var expectedCalculatedUnitPrice = this.currentGoodBasePrice.Price;
expectedCalculatedUnitPrice += this.currentFeature2BasePrice.Price;
var expectedTotalBasePrice = this.currentGoodBasePrice.Price * quantityOrdered;
expectedTotalBasePrice += this.currentFeature2BasePrice.Price * quantityOrdered;
var expectedTotalExVat = this.currentGoodBasePrice.Price * quantityOrdered;
expectedTotalExVat += this.currentFeature2BasePrice.Price * quantityOrdered;
Assert.AreEqual(this.currentGoodBasePrice.Price, item1.UnitBasePrice);
Assert.AreEqual(0, item1.UnitDiscount);
Assert.AreEqual(0, item1.UnitSurcharge);
Assert.AreEqual(expectedCalculatedUnitPrice, item1.CalculatedUnitPrice);
Assert.AreEqual(expectedTotalBasePrice, item1.TotalBasePrice);
Assert.AreEqual(0, item1.TotalDiscount);
Assert.AreEqual(0, item1.TotalSurcharge);
Assert.AreEqual(expectedTotalExVat, item1.TotalExVat);
Assert.AreEqual(this.currentFeature2BasePrice.Price, item2.UnitBasePrice);
Assert.AreEqual(0, item2.UnitDiscount);
Assert.AreEqual(0, item2.UnitSurcharge);
Assert.AreEqual(this.currentFeature2BasePrice.Price, item2.CalculatedUnitPrice);
Assert.AreEqual(this.currentFeature2BasePrice.Price * quantityOrdered, item2.TotalBasePrice);
Assert.AreEqual(0, item2.TotalDiscount);
Assert.AreEqual(0, item2.TotalSurcharge);
Assert.AreEqual(this.currentFeature2BasePrice.Price * quantityOrdered, item2.TotalExVat);
Assert.AreEqual(expectedTotalBasePrice, this.order.TotalBasePrice);
Assert.AreEqual(0, this.order.TotalDiscount);
Assert.AreEqual(0, this.order.TotalSurcharge);
Assert.AreEqual(expectedTotalExVat, this.order.TotalExVat);
}