// GET: ManagerViews public async Task <IActionResult> Index(string managerSurname, string managerPost, int?pageNumber, string currentSurnameFilter, string currentPostFilter) { if (managerSurname != null || managerPost != null) { pageNumber = 1; } else { managerSurname = currentSurnameFilter; managerPost = currentPostFilter; } ViewData["SurnameFilter"] = managerSurname; ViewData["PostFilter"] = managerPost; var managers = await _managerViewRepository.GetAllAsync(); if (!string.IsNullOrEmpty(managerSurname)) { managers = managers.Where(s => s.Surname.ToUpper().Contains(managerSurname.ToUpper())).ToList(); } if (!string.IsNullOrEmpty(managerPost)) { managers = managers.Where(s => s.Post.ToUpper().Contains(managerPost.ToUpper())).ToList(); } var pageSize = 3; return(View(PaginatedList <ManagerView> .Create(managers, pageNumber ?? 1, pageSize))); }