예제 #1
0
        public ActionResult Security(int?page, string searchBy, string search, string sortBy)
        {
            var loanApplications = Service
                                   .GetLoanApplications()
                                   .Where(a => a.Status == LoanApplicationStatus.UnderRiskConsideration)
                                   .AsQueryable();

            loanApplications = Searching(searchBy, search, loanApplications);
            loanApplications = Sorting(sortBy, loanApplications);

            //for sortBy
            ViewBag.NextSortTariffParameter = (string.IsNullOrEmpty(sortBy) || sortBy.Equals(SORTBY_TARIFF_ASC)) ? SORTBY_TARIFF_DESC : SORTBY_TARIFF_ASC;

            //for dropdownlist for searching Criteria
            var items = new List <SelectListItem>
            {
                new SelectListItem()
                {
                    Text = SEARCHBY_TARIFF, Value = SEARCHBY_TARIFF
                },
                new SelectListItem()
                {
                    Text = SEARCHBY_CELLPHONE, Value = SEARCHBY_CELLPHONE
                },
                new SelectListItem()
                {
                    Text = SEARCHBY_FIRST_NAME, Value = SEARCHBY_FIRST_NAME
                },
                new SelectListItem()
                {
                    Text = SEARCHBY_LAST_NAME, Value = SEARCHBY_LAST_NAME
                },
                new SelectListItem()
                {
                    Text = SEARCHBY_PASSPORT_NUMBER, Value = SEARCHBY_PASSPORT_NUMBER
                },
                new SelectListItem()
                {
                    Text = SEARCHBY_IDENTIFICATIONNUMBER, Value = SEARCHBY_IDENTIFICATIONNUMBER
                }
            };

            ViewBag.SearchByList = items;

            ViewBag.ActiveTab = "Security";
            ViewBag.Scoring   = loanApplications.ToList()
                                .ToDictionary(la => la.Id,
                                              la => ScoringSystem.CalculateRating(la, Service.GetHistoryFromNationalBank(la)));
            return(View("Index", loanApplications.ToPagedList(page ?? 1, PAGE_SIZE)));
        }