public AllAdminsViewModel(
            IEnumerable <AdminUser> adminUsers,
            IEnumerable <Category> categories,
            AdminUser loggedInAdminUser
            )

        {
            Admins = adminUsers.Select(au => new SearchableAdminViewModel(au, loggedInAdminUser,
                                                                          new ReturnPageQuery(1, $"{au.Id}-card")));

            Filters = AdministratorsViewModelFilterOptions.GetAllAdministratorsFilterModels(categories)
                      .SelectAppliedFilterViewModels();
        }
示例#2
0
        public AllAdminsViewModel(IEnumerable <AdminUser> adminUsers, IEnumerable <string> categories)
        {
            Admins = adminUsers.Select(au => new SearchableAdminViewModel(au));

            Filters = new[]
            {
                new FilterViewModel("Role", "Role", AdministratorsViewModelFilterOptions.RoleOptions),
                new FilterViewModel(
                    "CategoryName",
                    "Category",
                    AdministratorsViewModelFilterOptions.GetCategoryOptions(categories)
                    ),
                new FilterViewModel(
                    "AccountStatus",
                    "Account Status",
                    AdministratorsViewModelFilterOptions.AccountStatusOptions
                    )
            }.SelectAppliedFilterViewModels();
        }
示例#3
0
        public CentreAdministratorsViewModel(
            int centreId,
            IEnumerable <AdminUser> adminUsers,
            IEnumerable <string> categories,
            string?searchString,
            string?filterBy,
            int page
            ) : base(searchString, page, true, filterBy: filterBy, searchLabel: "Search administrators")
        {
            CentreId = centreId;
            var sortedItems = GenericSortingHelper.SortAllItems(
                adminUsers.AsQueryable(),
                DefaultSortOption,
                Ascending
                );
            var searchedItems = GenericSearchHelper.SearchItems(sortedItems, SearchString);
            var filteredItems = FilteringHelper.FilterItems(searchedItems.AsQueryable(), filterBy).ToList();

            MatchingSearchResults = filteredItems.Count;
            SetTotalPages();
            var paginatedItems = GetItemsOnCurrentPage(filteredItems);

            Admins = paginatedItems.Select(adminUser => new SearchableAdminViewModel(adminUser));

            Filters = new[]
            {
                new FilterViewModel("Role", "Role", AdministratorsViewModelFilterOptions.RoleOptions),
                new FilterViewModel(
                    "CategoryName",
                    "Category",
                    AdministratorsViewModelFilterOptions.GetCategoryOptions(categories)
                    ),
                new FilterViewModel(
                    "AccountStatus",
                    "Account Status",
                    AdministratorsViewModelFilterOptions.AccountStatusOptions
                    )
            };
        }