Пример #1
0
        private double CalculatePotentialReturnOnInvestment(Loan loan, LoanPlanViewModel viewModel)
        {
            var dailyProfit   = viewModel.InvestmentSum * 12 * (1 + viewModel.InvestmentInterest / 100) / 365;
            var remainingDays = (loan.Term.Date - DateTime.Now).TotalDays;

            return((double)(dailyProfit * remainingDays));
        }
Пример #2
0
        private double CalculateLoanWithSurplus(Loan loan, LoanPlanViewModel viewModel)
        {
            var remainingSum  = loan.Sum - loan.ReturnedSum;
            var remainingDays = (loan.Term.Date - DateTime.Now).TotalDays;
            var dailyCharge   = remainingSum / remainingDays;
            var dailySurplus  = viewModel.InvestmentSum / 31;

            return((double)(remainingSum / (dailyCharge + dailySurplus)));
        }
Пример #3
0
        private string Validate(LoanPlanViewModel viewModel)
        {
            if (!viewModel.InvestmentSum.HasValue || viewModel.InvestmentSum <= 0)
            {
                return("Būtina įvesti investicijos sumą");
            }

            if (!viewModel.InvestmentInterest.HasValue || viewModel.InvestmentInterest <= 0)
            {
                return("Būtina įvesti investicijos palūkanas");
            }

            return(string.Empty);
        }
Пример #4
0
        public IActionResult SubmitPlanData(LoanPlanViewModel viewModel)
        {
            var validation = Validate(viewModel);

            if (!string.IsNullOrEmpty(validation))
            {
                TempData["Error"] = validation;
                ViewBag.Loans     = GenerateLoanSelectList();
                return(View("~/Views/LoanPlanner/LoanPlanPage.cshtml", viewModel));
            }

            var loan = Find(viewModel.SelectedLoanId);
            var daysRemainingWithSurplus    = CalculateLoanWithSurplus(loan, viewModel);
            var potentialReturnOnInvestment = CalculatePotentialReturnOnInvestment(loan, viewModel);
            var daysRemainingWithoutSurplus = CalculateLoanWithoutSurplus(loan);

            ViewBag.FinalAnswer = CompareStrategies(daysRemainingWithSurplus, potentialReturnOnInvestment,
                                                    daysRemainingWithoutSurplus, loan);
            ViewBag.Loans = GenerateLoanSelectList();
            return(View("~/Views/LoanPlanner/LoanPlanPage.cshtml", viewModel));
        }