Exemple #1
0
        private LoyaltyReport Map(IEnumerable <PurchasesAndProfit> profits, IEnumerable <SignupCount> signups,
                                  IEnumerable <LoyaltySettings> loyaltySettings, DateTime start, DateTime end)
        {
            var summaries = new List <LoyaltySummary>();

            // Create a summary for each month in the report's range
            foreach (var month in MonthsBetweenInclusive(start, end))
            {
                var monthsProfits  = profits.Single(s => s.Month == month);
                var monthsSettings = loyaltySettings.Single(s => s.Month == month);
                var monthsSignups  = signups.Single(s => s.Month == month);

                var summary = new LoyaltySummary
                {
                    Month           = month,
                    NetProfit       = monthsProfits.Profit,
                    PointsPerDollar = monthsSettings.PointsPerDollar,
                    Purchases       = monthsProfits.Purchases,
                    SignUps         = monthsSignups.Signups
                };

                summaries.Add(summary);
            }

            return(new LoyaltyReport
            {
                Summarries = summaries
            });
        }
        private LoyaltyReport Map(IEnumerable<PurchasesAndProfit> profits, IEnumerable<SignupCount> signups, 
            IEnumerable<LoyaltySettings> loyaltySettings, DateTime start, DateTime end)
        {
            var summaries = new List<LoyaltySummary>();

            // Create a summary for each month in the report's range
            foreach (var month in MonthsBetweenInclusive(start, end))
            {
                var monthsProfits = profits.Single(s => s.Month == month);
                var monthsSettings = loyaltySettings.Single(s => s.Month == month);
                var monthsSignups = signups.Single(s => s.Month == month);

                var summary = new LoyaltySummary
                {
                    Month = month,
                    NetProfit = monthsProfits.Profit,
                    PointsPerDollar = monthsSettings.PointsPerDollar,
                    Purchases = monthsProfits.Purchases,
                    SignUps = monthsSignups.Signups
                };

                summaries.Add(summary);
            }

            return new LoyaltyReport
            {
                Summarries = summaries
            };
        }