示例#1
0
        public string GenerateReport(LoanResultServiceModel serviceModel)
        {
            var stringBuilder = new StringBuilder();

            stringBuilder.AppendLine($"Input:");

            stringBuilder.AppendLine($"Loan Amount:");
            stringBuilder.AppendLine($"{serviceModel.LoanAmount:#}");

            stringBuilder.AppendLine($"Duration of Loan:");
            stringBuilder.AppendLine($"{serviceModel.DurationOfLoan:#}");

            stringBuilder.AppendLine($"Output:");
            stringBuilder.AppendLine($"Total Loan Amount:");
            stringBuilder.AppendLine($"{serviceModel.TotalLoanAmount:#}");

            stringBuilder.AppendLine($"Interest Rate:");
            stringBuilder.AppendLine($"{serviceModel.InterestRate:#}");

            stringBuilder.AppendLine($"Monthly Payment:");
            stringBuilder.AppendLine($"{serviceModel.MonthlyPayment:#}");

            stringBuilder.AppendLine($"Administration Fee:");
            stringBuilder.AppendLine($"{serviceModel.AdministrationFee:#}");

            return(stringBuilder.ToString());
        }
        public LoanResultServiceModel CalculateLoan(LoanCalculationServiceModel serviceModel)
        {
            var result = new LoanResultServiceModel
            {
                DurationOfLoan    = serviceModel.Duration,
                LoanAmount        = serviceModel.Amount,
                InterestRate      = CalculateInterestRate(serviceModel.Amount, serviceModel.Duration),
                AdministrationFee = CalculateAdministrationFee(serviceModel.Amount),
            };

            result.TotalLoanAmount = result.InterestRate + result.LoanAmount + result.AdministrationFee;
            result.MonthlyPayment  = CalculateMonthlyPayment(result.TotalLoanAmount, result.DurationOfLoan);

            return(result);
        }