public ActionResult Closeds(CreditsViewModel model) { var viewModel = GetCreditsViewModel(model.CurrentPageNumber, "Closeds"); return View("Index", viewModel); }
private CreditsViewModel GetCreditsViewModel(int pageNumber, String action) { int itemsInPage = 10; List<Credit> list = null; list = User.IsInRole("User") ? _creditService.GetListByPersonId(Guid.Parse(User.Identity.GetUserId())) : _creditService.GetList(); switch (action) { case "Actives": list = list.Where(x => x.Status.Equals("0")).ToList(); break; case "Closeds": list = list.Where(x => x.Status.Equals("1")).ToList(); break; case "Overdues": //list = list.Where(x => x.Status.Equals("0") && x.DateEnd <= _creditService.GetTimeTable().Date).ToList(); list = list.Where(x => x.CreditHistory.Sum(y => y.Arrears) > 0).ToList(); break; default: break; } if (list == null || list.Count == 0) { return new CreditsViewModel() { IsSearch = false }; } int startRange = pageNumber * 10 - itemsInPage; int allPageCount = list.Count / itemsInPage; int ost = list.Count % itemsInPage; if (ost != 0) { allPageCount++; } int selectCount = ((pageNumber >= allPageCount && ost != 0) ? ost : itemsInPage); if (list.Count != 0) { list = list.OrderBy(x => x.Number).ToList(); list = list.GetRange(startRange, selectCount); } var model = new CreditsViewModel() { Credits = list.Select( credit => new CreditViewModel() { Id = credit.Id, DateStart = credit.DateStart, DateEnd = credit.DateEnd, Percent = credit.Percent, StartSum = credit.StartSum, AllSum = credit.AllSum, PayCount = credit.PayCount, Status = credit.Status, Penya = credit.Penya, PayMounth = credit.PayMounth, Number = credit.Number }).ToList(), CurrentPageNumber = pageNumber, AllPageCount = allPageCount, ItemsPerPage = itemsInPage, IsSearch = true, Action = action }; return model; }
private CreditsViewModel GetEmptyCreditsViewModel() { var viewModel = new CreditsViewModel() { Credits = new List<CreditViewModel>() }; return viewModel; }
// GET: Credits public ActionResult Index(CreditsViewModel model) { //var viewModel = GetCreditsViewModel(model.CurrentPageNumber); //return View(viewModel); return RedirectToAction("Actives"); }