public JsonResult Details(int customerid, int loanid) { var customer = this.customerRepository.Get(customerid); var loan = customer.Loans.SingleOrDefault(l => l.Id == loanid); if (loan == null) { return(Json(new { error = "loan does not exists" }, JsonRequestBehavior.AllowGet)); } var loansDetailsBuilder = new LoansDetailsBuilder(); var details = loansDetailsBuilder.Build(loan, this.rolloverRepository.GetByLoanId(loan.Id)); decimal rolloverCharge = CurrentValues.Instance.RolloverCharge; var notExperiedRollover = this.rolloverRepository.GetByLoanId(loan.Id) .Where(x => x.Status != RolloverStatus.Expired) .Select(x => new RolloverModel { Status = x.Status, ExpiryDate = x.ExpiryDate, Payment = x.Payment, PaidPaymentAmount = x.PaidPaymentAmount, LoanScheduleId = x.LoanSchedule.Id }); var rolloverCount = this.rolloverRepository.GetByLoanId(loan.Id).Count(x => x.Status != RolloverStatus.Removed && x.Status != RolloverStatus.Expired); bool transactionsDoneToday = loan.Transactions.Count(x => x.PostDate.Date == DateTime.UtcNow.Date && x.Status == LoanTransactionStatus.Done) > 0; string rolloverAvailableClass = transactionsDoneToday ? "disabled" : string.Empty; var model = new { details, configValues = new { rolloverCharge }, notExperiedRollover, rolloverCount, rolloverAvailableClass }; return(Json(model, JsonRequestBehavior.AllowGet)); }
//public LoanScheduleReportResult(LoanDetails loanDetails, bool isExcell, Customer customer) public LoanScheduleReportResult(PaymentRolloverRepository rolloverRepository, Loan loan, bool isExcell, bool wError, Customer customer) { var loansDetailsBuilder = new LoansDetailsBuilder(); _loanDetails = loansDetailsBuilder.Build(loan, rolloverRepository.GetByLoanId(loan.Id)); _isExcell = isExcell; _withErrors = wError; _customer = customer; _loan = loan; }
public JsonResult Details(int id) { var customer = _context.Customer; var loan = customer.Loans.SingleOrDefault(l => l.Id == id); if (loan == null) { return(Json(new { error = "loan does not exists" }, JsonRequestBehavior.AllowGet)); } var loansDetailsBuilder = new LoansDetailsBuilder(); var details = loansDetailsBuilder.Build(loan, _rolloverRepository.GetByLoanId(loan.Id)); return(Json(details, JsonRequestBehavior.AllowGet)); }