public void AddPayment(CreditPaymentModel paymentModel)
 {
     var credit = creditRepository.GetCreditById(paymentModel.CreditId);
     var rest = paymentModel.MainAmount - credit.PercentageDebt;
     decimal mainMinus, percentMinus;
     if (rest >= 0)
     {
         mainMinus = rest;
         percentMinus = credit.PercentageDebt;
     }
     else
     {
         mainMinus = 0;
         percentMinus = paymentModel.MainAmount;
     }
     credit.MainDebt -= mainMinus;
     credit.PercentageDebt -= percentMinus;
     if (credit.MainDebt < 1)
     {
         credit.MainDebt = 0;
     }
     if (credit.PercentageDebt < 1)
     {
         credit.PercentageDebt = 0;
     }
     creditRepository.UpdateCredit(credit);
     var date = dateService.GetCurrentDate();
     var payment = new CreditPayment
     {
         MainAmount = mainMinus,
         PercentsAmount = percentMinus,
         CreditId = paymentModel.CreditId,
         Type = (int)paymentModel.Type,
         Date = date,
     };
     creditPaymentRepository.CreatePayment(payment);
 }
 public ActionResult IncomePayment(int creditId, CreditPaymentModel paymentModel)
 {
     var credit = creditService.GetCreditById(creditId);
     if (credit == null)
     {
         return new HttpNotFoundResult();
     }
     if (ModelState.IsValidField("MainAmount") && paymentModel.MainAmount > 0 &&
         paymentModel.MainAmount <= 1000000000 &&
         paymentModel.MainAmount <= credit.MainDebt + credit.PercentageDebt)
     {
         paymentModel.Type = CreditPaymentType.Payment;
         creditPaymentService.AddPayment(paymentModel);
         return RedirectToAction("EmployeeDetails", new {creditId = creditId});
     }
     paymentModel.CreditModel = credit;
     ModelState.Clear();
     ModelState.AddModelError("", "Некорректное значение суммы");
     return View(paymentModel);
 }
 public ActionResult IncomePayment(int creditId)
 {
     var credit = creditService.GetCreditById(creditId);
     if (credit == null)
     {
         return new HttpNotFoundResult();
     }
     var paymentModel = new CreditPaymentModel
     {
         CreditModel = credit,
         CreditId = creditId
     };
     return View(paymentModel);
 }