public async Task <IActionResult> All(int?id, string searchTerm) { var viewModel = new PagedUsersViewModel(); if (id.HasValue && id > 0) { await this.LoadUsersViewModelProperties(viewModel, id.Value); } else { await this.LoadUsersViewModelProperties(viewModel, 1); } if (searchTerm == null || searchTerm.Length <= NumericConstants.Minimum_Search_Term_Length) { this.TempData.Add(ErrorConstants.Error_Key, ErrorConstants.Invalid_Search_Term); } else { viewModel.SearchTerm = searchTerm; viewModel.Users = viewModel.Users.Where(p => p.Username.Contains(searchTerm)); } return(this.View(viewModel)); }
private async Task LoadUsersViewModelProperties(PagedUsersViewModel viewModel, int page) { int pagesToLoad = (int)Math.Ceiling((double)await this.UserService.GetAllUsersCountAsync() / NumericConstants.Number_Of_Users_Per_Page); if (page > pagesToLoad) { page = pagesToLoad; } viewModel.Users = await this.UserService.GetUsersForPage(page); viewModel.Pagination.Pages = this.AnimeService.LoadPages(page, pagesToLoad); viewModel.Pagination.PageUrl = UrlConstants.Users_Pagination; viewModel.Pagination.CurrentPage = page; }
public async Task <IActionResult> All(int?id) { var viewModel = new PagedUsersViewModel(); if (id.HasValue && id > 0) { await this.LoadUsersViewModelProperties(viewModel, id.Value); } else { await this.LoadUsersViewModelProperties(viewModel, 1); } return(this.View(viewModel)); }