示例#1
0
 public IActionResult Filter(AllUsersViewModel model)
 {
     UserFilteringAndPaging.ClearFilter();
     UserFilteringAndPaging.FilterType = model.FilterType;
     UserFilteringAndPaging.Filter     = model.Filter;
     return(View("Users", GetUsers()));
 }
示例#2
0
        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);
        }
示例#3
0
 public IActionResult ClearFilter()
 {
     UserFilteringAndPaging.ClearFilter();
     return(View("Users", GetUsers()));
 }