public ActionResult CreateNewCredit(int id, int Credit, int Ammount) { Credit credit = context.Credit.Where(c => c.CreditID == Credit).FirstOrDefault(); ClientsCredit lastDeposit = context.ClientsCredit.ToList().LastOrDefault(); String num = lastDeposit.ClientCreditNumber.Substring(lastDeposit.ClientCreditNumber.Length - 9); int depNum = int.Parse(num); depNum++; num = depNum.ToString(); while (num.Length != 9) { num = "0" + num; } ClientsCredit newCredit = new ClientsCredit(); newCredit.ClientID = id; newCredit.Active = true; newCredit.CreditID = Credit; newCredit.DateStart = DateTime.Today; newCredit.DateEnd = DateTime.Today.AddMonths(credit.Period); newCredit.Period = credit.Period; newCredit.Amount = Ammount; newCredit.Diff = credit.Diff; newCredit.ClientCreditNumber = credit.BalanceId.ToString() + num;; newCredit.Period = credit.Period; context.ClientsCredit.Add(newCredit); Currency currency = context.Currency.Where(c => c.CurrencyID == credit.CurrencyID).FirstOrDefault(); ClientsDeposit Fond = context.ClientsDeposits.Where(d => d.ClientID == 0).FirstOrDefault(); ClientsDeposit fond = Fond; fond.Amount = Fond.Amount - newCredit.Amount * currency.Value; context.Entry(Fond).CurrentValues.SetValues(fond); context.SaveChanges(); InterestCredit interestCredit = new InterestCredit { ClientsCreditID = newCredit.ClientsCreditID, InterestCreditNumber = "6660" + num, Active = true, Amount = newCredit.Amount * (credit.Percent * credit.Period / 12) / 100 + newCredit.Amount, PayMonths = 0, Period = credit.Period }; if (newCredit.Diff) { interestCredit.MonthlyPayment = (interestCredit.Amount - newCredit.Amount) / (interestCredit.Period - 1); interestCredit.LastMonthlyPayment = newCredit.Amount; } else { interestCredit.MonthlyPayment = interestCredit.Amount / interestCredit.Period; interestCredit.LastMonthlyPayment = interestCredit.MonthlyPayment; } context.InterestCredit.Add(interestCredit); context.SaveChanges(); return(Json(new AjaxResponse(new AjaxResponse()))); }
public ActionResult Paid(string Number) { ClientsCredit clientsCredit = context.ClientsCredit.Where(c => c.ClientCreditNumber.Equals(Number)).FirstOrDefault(); InterestCredit interestCredit = context.InterestCredit.Where(c => c.ClientsCreditID == clientsCredit.ClientsCreditID).FirstOrDefault(); InterestCredit interest = interestCredit; interest.PayMonths++; ClientsDeposit Fond = context.ClientsDeposits.Where(d => d.ClientID == 0).FirstOrDefault(); ClientsDeposit fond = Fond; fond.Amount = Fond.Amount + interestCredit.MonthlyPayment; if (interest.PayMonths == interest.Period) { ClientsCredit credit = clientsCredit; credit.Active = false; context.Entry(credit).CurrentValues.SetValues(credit); } context.Entry(Fond).CurrentValues.SetValues(fond); context.Entry(interestCredit).CurrentValues.SetValues(interest); context.SaveChanges(); return(RedirectToAction("Credit", new { creditNumber = Number })); }
public ActionResult Credit(string creditNumber) { ClientsCredit clientsCredit = context.ClientsCredit.Where(c => c.ClientCreditNumber.Equals(creditNumber)).FirstOrDefault(); InterestCredit interestCredit = context.InterestCredit.Where(c => c.ClientsCreditID == clientsCredit.ClientsCreditID).FirstOrDefault(); Client client = context.Clients.Where(c => c.ClientID == clientsCredit.ClientID).FirstOrDefault(); ViewBag.client = client; ViewBag.credit = clientsCredit; DateTime date = clientsCredit.DateStart; List <MonthlyPay> monthlyPay = new List <MonthlyPay>(); for (int i = 0; i < interestCredit.Period - 1; i++) { date.AddMonths(i); if (interestCredit.PayMonths - 1 < i) { monthlyPay.Add(new MonthlyPay() { Date = date, Paid = false, Month = i + 1, Score = interestCredit.MonthlyPayment }); } else { monthlyPay.Add(new MonthlyPay() { Date = date, Paid = true, Month = i + 1, Score = interestCredit.MonthlyPayment }); } } if (interestCredit.PayMonths == interestCredit.Period) { monthlyPay.Add(new MonthlyPay() { Date = date, Paid = true, Month = interestCredit.Period, Score = interestCredit.LastMonthlyPayment }); } else { monthlyPay.Add(new MonthlyPay() { Date = date, Paid = false, Month = interestCredit.Period, Score = interestCredit.LastMonthlyPayment }); } ViewBag.PayedMonth = interestCredit.PayMonths; ViewBag.monthlyPay = monthlyPay; return(View()); }