示例#1
0
        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())));
        }
示例#2
0
        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 }));
        }
示例#3
0
        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());
        }