示例#1
0
        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;
        }
示例#2
0
 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();
 }