private CreditHistoryViewModel GetCreditHistoryViewModel(Guid creditId, int pageNumber) { int itemsInPage = 10; List<CreditHistory> list = null; list = _creditHistorySevice.GetListFromCredit(creditId); if (list == null) { return new CreditHistoryViewModel() { 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.Month).ToList(); list = list.GetRange(startRange, selectCount); } var model = new CreditHistoryViewModel() { CreditHistories = list.Select( creditHistory => new CreditHistoryItemViewModel() { Id = creditHistory.Id, Arrears = creditHistory.Arrears, CreditBalance = creditHistory.CreditBalance, Percent = creditHistory.Percent, CreditId = creditHistory.CreditId, Month = creditHistory.Month, Fine = creditHistory.Fine, FinePayment = creditHistory.FinePayment, MainPayment = creditHistory.MainPayment, Paid = creditHistory.Paid, TotalPayment = creditHistory.TotalPayment }).ToList(), CurrentPageNumber = pageNumber, AllPageCount = allPageCount, ItemsPerPage = itemsInPage, IsSearch = true, CreditId = creditId }; return model; }
public ActionResult ShowCreditHistory(CreditHistoryViewModel model) { if (Guid.Empty.Equals(model.CreditId)) { return HttpNotFound(); } var viewModel = GetCreditHistoryViewModel(model.CreditId, model.CurrentPageNumber); return View(viewModel); }