private List <LoanPaymentView> GetLoanViewData(SearchFormView loan)
        {
            List <LoanPaymentView> listloan = new List <LoanPaymentView>();
            int      TotalNumberofPayments = loan.NoOfPaymentYears * loan.NoOfYearlyInstallmentalPayments;
            double   scheduledpayment = GetScheduledPayment(TotalNumberofPayments, loan.LoanPrincipal, loan.InterestRate);
            double   startingbalance; double cummulativeInterest = 0;
            DateTime lastpaymenttime = DateTime.Parse(loan.PaymentStartDate);

            startingbalance = loan.LoanPrincipal;

            for (int i = 1; i <= TotalNumberofPayments; i++)
            {
                LoanPaymentView payment = new LoanPaymentView();
                payment                           = GetPayment(startingbalance, loan.InterestRate, scheduledpayment);
                payment.PaymentNo                 = i;
                payment.ScheduledPayment          = scheduledpayment.ToString("n2");;
                cummulativeInterest              += Convert.ToDouble(payment.InterestAmount);
                payment.CummulativeInterestAmount = cummulativeInterest.ToString("n2");
                payment.paymentDate               = lastpaymenttime.AddMonths(1).ToShortDateString();
                startingbalance                   = Convert.ToDouble(payment.EndingBalance);
                lastpaymenttime                   = DateTime.Parse(payment.paymentDate);
                listloan.Add(payment);
            }

            return(listloan);
        }
        public ActionResult LoanApp(SearchFormView loan, int pagenumber = 1)
        {
            List <LoanPaymentView> view = new List <LoanPaymentView>();

            if (ModelState.IsValid)
            {
                view = GetLoanViewData(loan);
            }
            ViewBag.Search = loan;

            ViewBag.PageNumber    = pagenumber;
            ViewBag.Principal     = loan.LoanPrincipal;
            ViewBag.Interest      = view.Last().CummulativeInterestAmount;
            ViewBag.Payment       = view.Last().ScheduledPayment;
            ViewBag.PaymentNumber = view.Last().PaymentNo;
            int resultrange, noOfPages;

            if (pagenumber == 1)
            {
                resultrange = 0;
            }
            else
            {
                resultrange = 11 * pagenumber;
            }
            noOfPages        = (view.Count() / 10) + 1;
            view             = view.Skip(resultrange).Take(10).ToList();
            ViewBag.LoanData = view;
            ViewBag.Pages    = noOfPages;
            return(View(loan));
        }
示例#3
0
        private static void SearchButtonClick(object o, EventArgs e)
        {
            var view       = new SearchFormView();
            var model      = new SearchFormModel();
            var controller = new SearchFormController(model, view);

            view.ShowDialog();
        }
示例#4
0
        public ActionResult Index(SearchFormView model)
        {
            string searchString = model.SearchText.Trim();

            if (searchString.Length > 3)
            {
                var resultText = _Service.GetPartialView(x => x.DocumentText.Contains(searchString));
                var resultNum  = _Service.GetPartialView(x => x.DocumentTable.DocumentNum.Contains(searchString));
                var result     = resultNum.Concat(resultText);
                ViewBag.SearchResult = result;
            }
            model.SearchText = String.Empty;
            return(View(model));
        }
        public ActionResult LoanApp(SearchFormView loan)
        {
            List <LoanPaymentView> view = new List <LoanPaymentView>();

            if (ModelState.IsValid)
            {
                view = GetLoanViewData(loan);
            }
            ViewBag.LoanData      = view;
            ViewBag.Principal     = loan.LoanPrincipal;
            ViewBag.Interest      = view.Last().CummulativeInterestAmount;
            ViewBag.Payment       = view.Last().ScheduledPayment;
            ViewBag.PaymentNumber = view.Last().PaymentNo;

            return(View());
        }
        // GET: App
        public ViewResult Index(int?LoanPrincipal, int?NoOfPaymentYears,
                                int?NoOfYearlyInstallmentalPayments, int?InterestRate,
                                string PaymentStartDate, string sort, int?page)
        {
            SearchFormView loan  = new SearchFormView();
            var            model = new List <LoanPaymentView>();

            if (!object.Equals(PaymentStartDate, null) && !object.Equals(NoOfYearlyInstallmentalPayments, null) &&
                !object.Equals(LoanPrincipal, null) && !object.Equals(NoOfPaymentYears, null))
            {
                loan.LoanPrincipal    = (LoanPrincipal ?? 0);
                loan.NoOfPaymentYears = (NoOfPaymentYears ?? 0);
                loan.NoOfYearlyInstallmentalPayments = (NoOfYearlyInstallmentalPayments ?? 12);
                loan.InterestRate     = (InterestRate ?? 1);
                loan.PaymentStartDate = object.Equals(PaymentStartDate, null) ? DateTime.Now.ToString() : PaymentStartDate;

                model                    = GetLoanViewData(loan);
                ViewBag.Principal        = LoanPrincipal;
                ViewBag.PaymentStartDate = PaymentStartDate;
                ViewBag.InterestRate     = InterestRate;
                ViewBag.YearsOfPayment   = NoOfPaymentYears;
                ViewBag.PaymentsYearly   = NoOfYearlyInstallmentalPayments;
                ViewBag.Interest         = model.Last().CummulativeInterestAmount;
                ViewBag.Payment          = model.Last().ScheduledPayment;
                ViewBag.PaymentNumber    = model.Last().PaymentNo;
            }
            else
            {
                if (!object.Equals(ViewBag.Principal, null) && !object.Equals(page, null))
                {
                    loan.LoanPrincipal    = ViewBag.Principal;
                    loan.NoOfPaymentYears = ViewBag.NoOfPaymentYears;
                    loan.NoOfYearlyInstallmentalPayments = ViewBag.PaymentsYearly;
                    loan.InterestRate     = ViewBag.InterestRate;
                    loan.PaymentStartDate = ViewBag.PaymentStartDate;
                }
                else
                {
                    ViewBag.Status = "Please Fill all the Compulsory Fields";
                }
            }

            int pageSize   = 10;
            int pageNumber = (page ?? 1);

            return(View(model.ToPagedList(pageNumber, pageSize)));
        }