private void SetTotalPayments() { var maxPayments = ActiveCourses.Max(c => c.Result.Payments.Max(p => p.Period)); TotalPayments.Clear(); for (int i = 0; i < maxPayments; i++) { var payments = GetPayments(i); var payment = new Payment { FundPayment = payments.Sum(p => p.FundPayment), FundPaymentWithPriceIndex = payments.Sum(p => p.FundPaymentWithPriceIndex), InterestPayment = payments.Sum(p => p.InterestPayment), InterestMonthPercentage = 0, InterestYearPercentage = 0, Period = i + 1, PriceIndex = payments.Max(p => p.PriceIndex), TotalFund = payments.Sum(p => p.TotalFund), TotalFundWithPriceIndex = payments.Sum(p => p.TotalFundWithPriceIndex), TotalPayment = payments.Sum(p => p.TotalPayment), }; TotalPayments.Add(payment); } }
public string ToHtml() { var report = EmbadedResources.GetEmbeddedResource("Mashkanta.Reports.Report.html"); var table1 = EmbadedResources.GetEmbeddedResource("Mashkanta.Reports.Table1.html"); var courses = Courses.ToHtml(); var summery = Summery.ToHtml(); table1 = table1.Replace("@@TITLE@@", Course.GetCourseTitle(Course.CourseType.None)); table1 = table1.Replace("@@RATIO@@", Ratio.ToString("N2")); table1 = table1.Replace("@@MIN_PAYMENT@@", MinMonthReturn.ToString("N2")); table1 = table1.Replace("@@MAX_PAYMENT@@", MaxMonthReturn.ToString("N2")); table1 = table1.Replace("@@TOTAL_PAYMENT@@", TotalReturn.ToString("N2")); table1 = table1.Replace("@@INTEREST@@", TotalInterestAndPriceIndex.ToString("N2")); var tableAll = table1 + TotalPayments.ToHtml(Course.CourseType.None); report = report.Replace("@@COURSES@@", courses); report = report.Replace("@@SUMMERY@@", summery); report = report.Replace("@@TABLE_ALL@@", tableAll); report = report.Replace("@@PaymentDoughnutChart@@", new PaymentDoughnut(this, "PaymentDoughnutChart").ToHtml()); var tableCources = string.Empty; foreach (var c in Courses) { tableCources += c.Result.ToHtml(c.Type); } report = report.Replace("@@TABLE_COURSE@@", tableCources); return(report); }
private void SetVariables() { Ratio = Utils.Round2(ActiveCourses.Sum(c => c.Result.TotalReturn) / TotalLoan); MaxMonthReturn = Utils.Round2(TotalPayments.Max(p => p.TotalPayment)); MinMonthReturn = Utils.Round2(TotalPayments.First().TotalPayment); TotalReturn = Utils.Round2(ActiveCourses.Sum(p => p.Result.TotalReturn)); TotalRemainingFund = Utils.Round2(ActiveCourses.Sum(p => p.Result.RemainingFund)); }
private void SetSummery() { var result = TotalPayments.GroupBy(p => p.Year); foreach (var item in result) { var sum = new Summery { Year = item.Key, AveragePayment = item.Average(i => i.TotalPayment), TotalPayment = item.Sum(i => i.TotalPayment), }; Summery.Add(sum); } }