public async Task <IActionResult> Index(string?search, bool?includeDeactivated) { search = search?.ToUpper(); var query = _userManager.Users.Where(user => (search == null || user.NormalizedUserName.Contains(search) || user.NormalizedEmail.Contains(search)) && (includeDeactivated == true || !user.AccountLocked)); var foundUsers = await query.OrderBy(user => user.CreatedAt).Take(25).ToListAsync(); var searchViewModel = new AppUserSearchViewModel { search = search ?? "", includeDeactivated = includeDeactivated ?? false }; var userViewModels = foundUsers.Select(user => new AppUsersViewModel { Email = user.Email, UserName = user.UserName, IsLocked = user.AccountLocked }); var viewModel = new AppUsersIndexViewModel { AppUsers = userViewModels, SearchViewModel = searchViewModel }; return(View(viewModel)); }
public IActionResult Search(AppUserSearchViewModel viewModel) { if (ModelState.IsValid) { return(RedirectToAction(nameof(Index), new { Search = viewModel.search, IncludeDeactivated = viewModel.includeDeactivated })); } return(RedirectToAction(nameof(Index))); }
public IActionResult SearchAppUsers(AppUserSearchViewModel appUserSearchViewModel) { List <ApplicationUser> applicationUserList = iApplicationUserRepo.ListAllAppUsers(); if (appUserSearchViewModel.appUserType != null) { applicationUserList = applicationUserList.Where(a => a.GetType().Name == appUserSearchViewModel.appUserType).ToList(); } appUserSearchViewModel.AppUserSearchResult = applicationUserList; return(View(appUserSearchViewModel)); }
public void ShouldSearchAllAppUsersByUserType() { List <ApplicationUser> mockAppUsersList = CreateMockAppUsersData(); mockApplicationUserRepo.Setup(m => m.ListAllAppUsers()).Returns(mockAppUsersList); int expectedAppUsers = 1; AppUsersController controller = new AppUsersController(mockApplicationUserRepo.Object); AppUserSearchViewModel viewModel = new AppUserSearchViewModel(); viewModel.appUserType = "Visitor"; ViewResult result = controller.SearchAppUsers(viewModel) as ViewResult; AppUserSearchViewModel resultModel = result.Model as AppUserSearchViewModel; List <ApplicationUser> actualApplicationUserList = resultModel.AppUserSearchResult; int actualAppUsers = actualApplicationUserList.Count; Assert.Equal(expectedAppUsers, actualAppUsers); }
public IActionResult SearchAppUsers() { AppUserSearchViewModel viewModel = new AppUserSearchViewModel(); return(View(viewModel)); }