private void InstantiateObjects(ISession session) { this.productCategory = (ProductCategory)session.Instantiate(this.productCategory); this.parentProductCategory = (ProductCategory)session.Instantiate(this.parentProductCategory); this.ancestorProductCategory = (ProductCategory)session.Instantiate(this.ancestorProductCategory); this.part = (FinishedGood)session.Instantiate(this.part); this.good = (Good)session.Instantiate(this.good); this.feature1 = (Colour)session.Instantiate(this.feature1); this.feature2 = (Colour)session.Instantiate(this.feature2); this.internalOrganisation = (InternalOrganisation)session.Instantiate(this.internalOrganisation); this.shipToCustomer = (Organisation)session.Instantiate(this.shipToCustomer); this.billToCustomer = (Organisation)session.Instantiate(this.billToCustomer); this.supplier = (Organisation)session.Instantiate(this.supplier); this.kiev = (City)session.Instantiate(this.kiev); this.shipToContactMechanismMechelen = (PostalAddress)session.Instantiate(this.shipToContactMechanismMechelen); this.shipToContactMechanismKiev = (PostalAddress)session.Instantiate(this.shipToContactMechanismKiev); this.currentBasePriceGeoBoundary = (BasePrice)session.Instantiate(this.currentBasePriceGeoBoundary); this.currentGoodBasePrice = (BasePrice)session.Instantiate(this.currentGoodBasePrice); this.currentGood1Feature1BasePrice = (BasePrice)session.Instantiate(this.currentGood1Feature1BasePrice); this.currentFeature2BasePrice = (BasePrice)session.Instantiate(this.currentFeature2BasePrice); this.goodPurchasePrice = (ProductPurchasePrice)session.Instantiate(this.goodPurchasePrice); this.virtualGoodPurchasePrice = (ProductPurchasePrice)session.Instantiate(this.virtualGoodPurchasePrice); this.currentGoodBasePrice = (BasePrice)session.Instantiate(this.currentGoodBasePrice); this.goodSupplierOffering = (SupplierOffering)session.Instantiate(this.goodSupplierOffering); this.virtualgoodSupplierOffering = (SupplierOffering)session.Instantiate(this.virtualgoodSupplierOffering); this.order = (SalesOrder)session.Instantiate(this.order); this.vatRate21 = (VatRate)session.Instantiate(this.vatRate21); }
public override void Init() { base.Init(); var euro = new Currencies(this.DatabaseSession).FindBy(Currencies.Meta.IsoCode, "EUR"); this.internalOrganisation = new InternalOrganisations(this.DatabaseSession).FindBy(InternalOrganisations.Meta.Name, "internalOrganisation"); this.internalOrganisation.PreferredCurrency = euro; this.supplier = new OrganisationBuilder(this.DatabaseSession).WithName("supplier").Build(); this.vatRate21 = new VatRateBuilder(this.DatabaseSession).WithRate(21).Build(); var mechelen = new CityBuilder(this.DatabaseSession).WithName("Mechelen").Build(); this.kiev = new CityBuilder(this.DatabaseSession).WithName("Kiev").Build(); this.shipToContactMechanismMechelen = new PostalAddressBuilder(this.DatabaseSession).WithGeographicBoundary(mechelen).WithAddress1("Haverwerf 15").Build(); this.shipToContactMechanismKiev = new PostalAddressBuilder(this.DatabaseSession).WithGeographicBoundary(this.kiev).WithAddress1("Dnieper").Build(); this.shipToCustomer = new OrganisationBuilder(this.DatabaseSession).WithName("shipToCustomer").Build(); this.shipToCustomer.AddPartyContactMechanism(new PartyContactMechanismBuilder(this.DatabaseSession) .WithContactMechanism(this.shipToContactMechanismKiev) .WithContactPurpose(new ContactMechanismPurposes(this.DatabaseSession).ShippingAddress) .WithUseAsDefault(true) .Build()); this.billToCustomer = new OrganisationBuilder(this.DatabaseSession) .WithName("billToCustomer") .WithPreferredCurrency(euro) .Build(); this.billToCustomer.AddPartyContactMechanism(new PartyContactMechanismBuilder(this.DatabaseSession) .WithContactMechanism(this.shipToContactMechanismKiev) .WithContactPurpose(new ContactMechanismPurposes(this.DatabaseSession).BillingAddress) .WithUseAsDefault(true) .Build()); this.part = new FinishedGoodBuilder(this.DatabaseSession).WithName("part").Build(); this.ancestorProductCategory = new ProductCategoryBuilder(this.DatabaseSession).WithDescription("ancestor").Build(); this.parentProductCategory = new ProductCategoryBuilder(this.DatabaseSession).WithDescription("parent").WithParent(this.ancestorProductCategory).Build(); this.productCategory = new ProductCategoryBuilder(this.DatabaseSession).WithDescription("gizmo").Build(); this.productCategory.AddParent(this.parentProductCategory); this.good = new GoodBuilder(this.DatabaseSession) .WithSku("10101") .WithVatRate(this.vatRate21) .WithName("good") .WithProductCategory(this.productCategory) .WithFinishedGood(this.part) .WithUnitOfMeasure(new UnitsOfMeasure(this.DatabaseSession).Piece) .Build(); new SupplierRelationshipBuilder(this.DatabaseSession) .WithInternalOrganisation(this.internalOrganisation) .WithSupplier(this.supplier) .WithFromDate(DateTime.UtcNow) .Build(); new CustomerRelationshipBuilder(this.DatabaseSession) .WithCustomer(this.billToCustomer) .WithInternalOrganisation(Singleton.Instance(this.DatabaseSession).DefaultInternalOrganisation) .Build(); new CustomerRelationshipBuilder(this.DatabaseSession) .WithCustomer(this.shipToCustomer) .WithInternalOrganisation(Singleton.Instance(this.DatabaseSession).DefaultInternalOrganisation) .Build(); this.partyRevenueHistory = new PartyRevenueHistoryBuilder(this.DatabaseSession) .WithCurrency(euro) .WithInternalOrganisation(this.internalOrganisation) .WithParty(this.billToCustomer) .WithRevenue(100M) .Build(); this.productCategoryRevenueHistory = new PartyProductCategoryRevenueHistoryBuilder(this.DatabaseSession) .WithCurrency(euro) .WithInternalOrganisation(this.internalOrganisation) .WithParty(this.billToCustomer) .WithProductCategory(this.productCategory) .WithRevenue(100M) .WithQuantity(10) .Build(); this.parentProductCategoryRevenueHistory = new PartyProductCategoryRevenueHistoryBuilder(this.DatabaseSession) .WithCurrency(euro) .WithInternalOrganisation(this.internalOrganisation) .WithParty(this.billToCustomer) .WithProductCategory(this.parentProductCategory) .WithRevenue(100M) .WithQuantity(10) .Build(); this.ancestorProductCategoryRevenueHistory = new PartyProductCategoryRevenueHistoryBuilder(this.DatabaseSession) .WithCurrency(euro) .WithInternalOrganisation(this.internalOrganisation) .WithParty(this.billToCustomer) .WithProductCategory(this.ancestorProductCategory) .WithRevenue(100M) .WithQuantity(10) .Build(); this.variantGood = new GoodBuilder(this.DatabaseSession) .WithSku("v10101") .WithVatRate(this.vatRate21) .WithName("variant good") .WithUnitOfMeasure(new UnitsOfMeasure(this.DatabaseSession).Piece) .WithInventoryItemKind(new InventoryItemKinds(this.DatabaseSession).NonSerialized) .Build(); this.variantGood2 = new GoodBuilder(this.DatabaseSession) .WithSku("v10102") .WithVatRate(this.vatRate21) .WithName("variant good2") .WithUnitOfMeasure(new UnitsOfMeasure(this.DatabaseSession).Piece) .WithInventoryItemKind(new InventoryItemKinds(this.DatabaseSession).NonSerialized) .Build(); this.virtualGood = new GoodBuilder(this.DatabaseSession) .WithSku("v10103") .WithVatRate(this.vatRate21) .WithName("virtual good") .WithVariant(this.variantGood) .WithVariant(this.variantGood2) .WithUnitOfMeasure(new UnitsOfMeasure(this.DatabaseSession).Piece) .WithInventoryItemKind(new InventoryItemKinds(this.DatabaseSession).NonSerialized) .Build(); this.goodPurchasePrice = new ProductPurchasePriceBuilder(this.DatabaseSession) .WithCurrency(euro) .WithFromDate(DateTime.UtcNow) .WithPrice(7) .WithUnitOfMeasure(new UnitsOfMeasure(this.DatabaseSession).Piece) .Build(); this.goodSupplierOffering = new SupplierOfferingBuilder(this.DatabaseSession) .WithProduct(this.good) .WithSupplier(this.supplier) .WithFromDate(DateTime.UtcNow) .WithProductPurchasePrice(this.goodPurchasePrice) .Build(); this.virtualGoodPurchasePrice = new ProductPurchasePriceBuilder(this.DatabaseSession) .WithCurrency(euro) .WithFromDate(DateTime.UtcNow) .WithPrice(8) .WithUnitOfMeasure(new UnitsOfMeasure(this.DatabaseSession).Piece) .Build(); this.virtualgoodSupplierOffering = new SupplierOfferingBuilder(this.DatabaseSession) .WithProduct(this.virtualGood) .WithSupplier(this.supplier) .WithFromDate(DateTime.UtcNow) .WithProductPurchasePrice(this.virtualGoodPurchasePrice) .Build(); this.feature1 = new ColourBuilder(this.DatabaseSession) .WithName("white") .WithVatRate(this.vatRate21) .WithLocalisedName(new LocalisedTextBuilder(this.DatabaseSession) .WithText("white") .WithLocale(Singleton.Instance(this.DatabaseSession).DefaultLocale) .Build()) .Build(); this.feature2 = new ColourBuilder(this.DatabaseSession) .WithName("black") .WithLocalisedName(new LocalisedTextBuilder(this.DatabaseSession) .WithText("black") .WithLocale(Singleton.Instance(this.DatabaseSession).DefaultLocale) .Build()) .Build(); this.currentBasePriceGeoBoundary = new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("current BasePriceGeoBoundary ") .WithGeographicBoundary(mechelen) .WithProduct(this.good) .WithPrice(8) .WithFromDate(DateTime.UtcNow) .Build(); // previous basePrice for good new BasePriceBuilder(this.DatabaseSession).WithDescription("previous good") .WithSpecifiedFor(this.internalOrganisation) .WithProduct(this.good) .WithPrice(8) .WithFromDate(DateTime.UtcNow.AddYears(-1)) .WithThroughDate(DateTime.UtcNow.AddDays(-1)) .Build(); // future basePrice for good new BasePriceBuilder(this.DatabaseSession).WithDescription("future good") .WithSpecifiedFor(this.internalOrganisation) .WithProduct(this.good) .WithPrice(11) .WithFromDate(DateTime.UtcNow.AddYears(1)) .Build(); this.currentGoodBasePrice = new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("current good") .WithProduct(this.good) .WithPrice(10) .WithFromDate(DateTime.UtcNow) .WithThroughDate(DateTime.UtcNow.AddYears(1).AddDays(-1)) .Build(); // previous basePrice for feature1 new BasePriceBuilder(this.DatabaseSession).WithDescription("previous feature1") .WithSpecifiedFor(this.internalOrganisation) .WithProductFeature(this.feature1) .WithPrice(0.5M) .WithFromDate(DateTime.UtcNow.AddYears(-1)) .WithThroughDate(DateTime.UtcNow.AddDays(-1)) .Build(); // future basePrice for feature1 new BasePriceBuilder(this.DatabaseSession).WithDescription("future feature1") .WithSpecifiedFor(this.internalOrganisation) .WithProductFeature(this.feature1) .WithPrice(2.5M) .WithFromDate(DateTime.UtcNow.AddYears(1)) .Build(); new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("current feature1") .WithProductFeature(this.feature1) .WithPrice(2) .WithFromDate(DateTime.UtcNow) .WithThroughDate(DateTime.UtcNow.AddYears(1).AddDays(-1)) .Build(); // previous basePrice for feature2 new BasePriceBuilder(this.DatabaseSession).WithDescription("previous feature2") .WithSpecifiedFor(this.internalOrganisation) .WithProductFeature(this.feature2) .WithPrice(2) .WithFromDate(DateTime.UtcNow.AddYears(-1)) .WithThroughDate(DateTime.UtcNow.AddDays(-1)) .Build(); // future basePrice for feature2 new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("future feature2") .WithProductFeature(this.feature2) .WithPrice(4) .WithFromDate(DateTime.UtcNow.AddYears(1)) .Build(); this.currentFeature2BasePrice = new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("current feature2") .WithProductFeature(this.feature2) .WithPrice(3) .WithFromDate(DateTime.UtcNow) .WithThroughDate(DateTime.UtcNow.AddYears(1).AddDays(-1)) .Build(); // previous basePrice for good with feature1 new BasePriceBuilder(this.DatabaseSession).WithDescription("previous good/feature1") .WithSpecifiedFor(this.internalOrganisation) .WithProduct(this.good) .WithProductFeature(this.feature1) .WithPrice(4) .WithFromDate(DateTime.UtcNow.AddYears(-1)) .WithThroughDate(DateTime.UtcNow.AddDays(-1)) .Build(); // future basePrice for good with feature1 new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("future good/feature1") .WithProduct(this.good) .WithProductFeature(this.feature1) .WithPrice(6) .WithFromDate(DateTime.UtcNow.AddYears(1)) .Build(); this.currentGood1Feature1BasePrice = new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("current good/feature1") .WithProduct(this.good) .WithProductFeature(this.feature1) .WithPrice(5) .WithFromDate(DateTime.UtcNow) .WithThroughDate(DateTime.UtcNow.AddYears(1).AddDays(-1)) .Build(); new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("current variant good2") .WithProduct(this.variantGood2) .WithPrice(11) .WithFromDate(DateTime.UtcNow) .Build(); this.DatabaseSession.Derive(true); this.DatabaseSession.Commit(); this.order = new SalesOrderBuilder(this.DatabaseSession) .WithShipToCustomer(this.shipToCustomer) .WithBillToCustomer(this.billToCustomer) .WithTakenByInternalOrganisation(this.internalOrganisation) .Build(); this.DatabaseSession.Derive(true); this.DatabaseSession.Commit(); }
public static void RemoveFromBasePrices(this Product @this, BasePrice basePrice) { @this.RemoveBasePrice(basePrice); }
public override void Init() { base.Init(); var euro = new Currencies(this.DatabaseSession).FindBy(Currencies.Meta.IsoCode, "EUR"); this.supplier = new OrganisationBuilder(this.DatabaseSession).WithName("supplier").WithLocale(new Locales(this.DatabaseSession).EnglishGreatBritain).Build(); this.internalOrganisation = new InternalOrganisations(this.DatabaseSession).FindBy(InternalOrganisations.Meta.Name, "internalOrganisation"); this.vatRate21 = new VatRateBuilder(this.DatabaseSession).WithRate(21).Build(); this.mechelen = new CityBuilder(this.DatabaseSession).WithName("Mechelen").Build(); this.kiev = new CityBuilder(this.DatabaseSession).WithName("Kiev").Build(); this.billToContactMechanismMechelen = new PostalAddressBuilder(this.DatabaseSession).WithAddress1("Mechelen").WithGeographicBoundary(this.mechelen).Build(); this.shipToContactMechanismKiev = new PostalAddressBuilder(this.DatabaseSession).WithAddress1("Kiev").WithGeographicBoundary(this.kiev).Build(); this.billToCustomer = new OrganisationBuilder(this.DatabaseSession).WithName("billToCustomer").WithPreferredCurrency(euro).Build(); this.shipToCustomer = new OrganisationBuilder(this.DatabaseSession).WithName("shipToCustomer").WithPreferredCurrency(euro).Build(); new CustomerRelationshipBuilder(this.DatabaseSession).WithFromDate(DateTime.UtcNow).WithCustomer(this.billToCustomer).WithInternalOrganisation(this.internalOrganisation).Build(); new CustomerRelationshipBuilder(this.DatabaseSession).WithFromDate(DateTime.UtcNow).WithCustomer(this.shipToCustomer).WithInternalOrganisation(this.internalOrganisation).Build(); this.DatabaseSession.Derive(true); this.good = new GoodBuilder(this.DatabaseSession) .WithSku("10101") .WithVatRate(this.vatRate21) .WithName("good") .WithInventoryItemKind(new InventoryItemKinds(this.DatabaseSession).NonSerialized) .WithUnitOfMeasure(new UnitsOfMeasure(this.DatabaseSession).Piece) .Build(); this.feature1 = new ColourBuilder(this.DatabaseSession) .WithName("white") .WithVatRate(this.vatRate21) .WithLocalisedName(new LocalisedTextBuilder(this.DatabaseSession) .WithText("white") .WithLocale(Singleton.Instance(this.DatabaseSession).DefaultLocale) .Build()) .Build(); this.feature2 = new ColourBuilder(this.DatabaseSession) .WithName("black") .WithLocalisedName(new LocalisedTextBuilder(this.DatabaseSession) .WithText("black") .WithLocale(Singleton.Instance(this.DatabaseSession).DefaultLocale) .Build()) .Build(); this.goodPurchasePrice = new ProductPurchasePriceBuilder(this.DatabaseSession) .WithCurrency(euro) .WithFromDate(DateTime.UtcNow.AddMinutes(-1)) .WithPrice(7) .WithUnitOfMeasure(new UnitsOfMeasure(this.DatabaseSession).Piece) .Build(); this.goodSupplierOffering = new SupplierOfferingBuilder(this.DatabaseSession) .WithProduct(this.good) .WithSupplier(this.supplier) .WithFromDate(DateTime.UtcNow.AddMinutes(-1)) .WithProductPurchasePrice(this.goodPurchasePrice) .Build(); this.currentBasePriceGeoBoundary = new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("current BasePriceGeoBoundary") .WithGeographicBoundary(this.mechelen) .WithProduct(this.good) .WithPrice(8) .WithFromDate(DateTime.UtcNow.AddMinutes(-1)) .Build(); // previous basePrice for good new BasePriceBuilder(this.DatabaseSession).WithDescription("previous good") .WithSpecifiedFor(this.internalOrganisation) .WithProduct(this.good) .WithPrice(8) .WithFromDate(DateTime.UtcNow.AddYears(-1)) .WithThroughDate(DateTime.UtcNow.AddDays(-1)) .Build(); this.currentGood1BasePrice = new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("current good") .WithProduct(this.good) .WithPrice(10) .WithFromDate(DateTime.UtcNow.AddMinutes(-1)) .WithThroughDate(DateTime.UtcNow.AddYears(1).AddDays(-1)) .Build(); // future basePrice for good new BasePriceBuilder(this.DatabaseSession).WithDescription("future good") .WithSpecifiedFor(this.internalOrganisation) .WithProduct(this.good) .WithPrice(11) .WithFromDate(DateTime.UtcNow.AddYears(1)) .Build(); // previous basePrice for feature1 new BasePriceBuilder(this.DatabaseSession).WithDescription("previous feature1") .WithSpecifiedFor(this.internalOrganisation) .WithProductFeature(this.feature1) .WithPrice(0.5M) .WithFromDate(DateTime.UtcNow.AddYears(-1)) .WithThroughDate(DateTime.UtcNow.AddDays(-1)) .Build(); // future basePrice for feature1 new BasePriceBuilder(this.DatabaseSession).WithDescription("future feature1") .WithSpecifiedFor(this.internalOrganisation) .WithProductFeature(this.feature1) .WithPrice(2.5M) .WithFromDate(DateTime.UtcNow.AddYears(1)) .Build(); this.currentFeature1BasePrice = new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("current feature1") .WithProductFeature(this.feature1) .WithPrice(2) .WithFromDate(DateTime.UtcNow.AddMinutes(-1)) .WithThroughDate(DateTime.UtcNow.AddYears(1).AddDays(-1)) .Build(); // previous basePrice for feature2 new BasePriceBuilder(this.DatabaseSession).WithDescription("previous feature2") .WithSpecifiedFor(this.internalOrganisation) .WithProductFeature(this.feature2) .WithPrice(2) .WithFromDate(DateTime.UtcNow.AddYears(-1)) .WithThroughDate(DateTime.UtcNow.AddDays(-1)) .Build(); // future basePrice for feature2 new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("future feature2") .WithProductFeature(this.feature2) .WithPrice(4) .WithFromDate(DateTime.UtcNow.AddYears(1)) .Build(); new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("current feature2") .WithProductFeature(this.feature2) .WithPrice(3) .WithFromDate(DateTime.UtcNow.AddMinutes(-1)) .WithThroughDate(DateTime.UtcNow.AddYears(1).AddDays(-1)) .Build(); // previous basePrice for good with feature1 new BasePriceBuilder(this.DatabaseSession).WithDescription("previous good/feature1") .WithSpecifiedFor(this.internalOrganisation) .WithProduct(this.good) .WithProductFeature(this.feature1) .WithPrice(4) .WithFromDate(DateTime.UtcNow.AddYears(-1)) .WithThroughDate(DateTime.UtcNow.AddDays(-1)) .Build(); // future basePrice for good with feature1 new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("future good/feature1") .WithProduct(this.good) .WithProductFeature(this.feature1) .WithPrice(6) .WithFromDate(DateTime.UtcNow.AddYears(1)) .Build(); this.currentGood1Feature1BasePrice = new BasePriceBuilder(this.DatabaseSession) .WithSpecifiedFor(this.internalOrganisation) .WithDescription("current good/feature1") .WithProduct(this.good) .WithProductFeature(this.feature1) .WithPrice(5) .WithFromDate(DateTime.UtcNow.AddMinutes(-1)) .WithThroughDate(DateTime.UtcNow.AddYears(1).AddDays(-1)) .Build(); this.invoice = new SalesInvoiceBuilder(this.DatabaseSession) .WithSalesInvoiceType(new SalesInvoiceTypes(this.DatabaseSession).SalesInvoice) .WithBillToContactMechanism(this.billToContactMechanismMechelen) .WithBillToCustomer(this.billToCustomer) .WithShipToAddress(this.shipToContactMechanismKiev) .WithShipToCustomer(this.shipToCustomer) .WithBilledFromInternalOrganisation(this.internalOrganisation) .Build(); this.DatabaseSession.Derive(true); this.DatabaseSession.Commit(); }
public static void AddToBasePrice(this Product @this, BasePrice basePrice) { @this.AddBasePrice(basePrice); }