public static PartyPackageRevenue AppsFindOrCreateAsDependable(ISession session, PartyProductCategoryRevenue dependant) { if (dependant.ProductCategory.ExistPackage) { var partyPackageRevenues = dependant.Party.PartyPackageRevenuesWhereParty; partyPackageRevenues.Filter.AddEquals(PartyPackageRevenues.Meta.InternalOrganisation, dependant.InternalOrganisation); partyPackageRevenues.Filter.AddEquals(PartyPackageRevenues.Meta.Year, dependant.Year); partyPackageRevenues.Filter.AddEquals(PartyPackageRevenues.Meta.Month, dependant.Month); partyPackageRevenues.Filter.AddEquals(PartyPackageRevenues.Meta.Package, dependant.ProductCategory.Package); var partyPackageRevenue = partyPackageRevenues.First ?? new PartyPackageRevenueBuilder(session) .WithInternalOrganisation(dependant.InternalOrganisation) .WithParty(dependant.Party) .WithPackage(dependant.ProductCategory.Package) .WithYear(dependant.Year) .WithMonth(dependant.Month) .WithCurrency(dependant.Currency) .WithRevenue(0M) .Build(); PackageRevenues.AppsFindOrCreateAsDependable(session, partyPackageRevenue); return partyPackageRevenue; } return null; }
public static ProductCategoryRevenue AppsFindOrCreateAsDependable(ISession session, PartyProductCategoryRevenue dependant) { var productCategoryRevenues = dependant.ProductCategory.ProductCategoryRevenuesWhereProductCategory; productCategoryRevenues.Filter.AddEquals(ProductCategoryRevenues.Meta.InternalOrganisation, dependant.InternalOrganisation); productCategoryRevenues.Filter.AddEquals(ProductCategoryRevenues.Meta.Year, dependant.Year); productCategoryRevenues.Filter.AddEquals(ProductCategoryRevenues.Meta.Month, dependant.Month); var productCategoryRevenue = productCategoryRevenues.First ?? new ProductCategoryRevenueBuilder(session) .WithInternalOrganisation(dependant.InternalOrganisation) .WithProductCategory(dependant.ProductCategory) .WithYear(dependant.Year) .WithMonth(dependant.Month) .WithCurrency(dependant.Currency) .WithRevenue(0M) .Build(); return productCategoryRevenue; }
private static PartyProductCategoryRevenueHistory CreatePartyRevenueHistory(ISession session, PartyProductCategoryRevenue partyProductCategoryRevenue) { return new PartyProductCategoryRevenueHistoryBuilder(session) .WithCurrency(partyProductCategoryRevenue.Currency) .WithInternalOrganisation(partyProductCategoryRevenue.InternalOrganisation) .WithParty(partyProductCategoryRevenue.Party) .WithProductCategory(partyProductCategoryRevenue.ProductCategory) .WithRevenue(0) .WithQuantity(0) .Build(); }