Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 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));
 }
Esempio n. 4
0
        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);
            }
        }