public IActionResult Filter(AllUsersViewModel model) { UserFilteringAndPaging.ClearFilter(); UserFilteringAndPaging.FilterType = model.FilterType; UserFilteringAndPaging.Filter = model.Filter; return(View("Users", GetUsers())); }
public AllUsersViewModel GetUsers(bool hasBeenRedirected = false) { if (hasBeenRedirected) { UserFilteringAndPaging.Clear(); } AllUsersViewModel model = new AllUsersViewModel(); model.AllUsers = new List <UserInfoViewModel>(); var validUsers = userManager.Users.Where(x => x.UserName != "admin"); if (UserFilteringAndPaging.FilterType != UserFilterType.None) { string filter = UserFilteringAndPaging.Filter; switch (UserFilteringAndPaging.FilterType) { case UserFilterType.FirstName: validUsers = validUsers.Where(user => user.FirstName.Contains(filter)); break; case UserFilterType.LastName: validUsers = validUsers.Where(user => user.LastName.Contains(filter)); break; case UserFilterType.Email: validUsers = validUsers.Where(user => user.Email.Contains(filter)); break; case UserFilterType.Username: validUsers = validUsers.Where(user => user.UserName.Contains(filter)); break; } } var pageUsers = validUsers .Skip((UserFilteringAndPaging.Pager.CurrentPage - 1) * UserFilteringAndPaging.Pager.PageSize) .Take(UserFilteringAndPaging.Pager.PageSize).ToList(); foreach (var user in pageUsers) { UserInfoViewModel userInfo = new UserInfoViewModel() { Email = user.Email, FirstName = user.FirstName, LastName = user.LastName, Username = user.UserName }; model.AllUsers.Add(userInfo); } UserFilteringAndPaging.Pager.PagesCount = (int)Math.Ceiling(validUsers.Count() / (double)UserFilteringAndPaging.Pager.PageSize); return(model); }
public IActionResult ClearFilter() { UserFilteringAndPaging.ClearFilter(); return(View("Users", GetUsers())); }