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 }; }