Beispiel #1
0
        private async Task <ManageUsersViewModel> GetManageUsersViewModel(FindMatchingUsers.OrderBy orderBy, int page, FilteringViewModel filter = null)
        {
            SetBreadcrumb();

            if (page < 1)
            {
                page = 1;
            }

            var model = new ManageUsersViewModel();

            using (var client = apiClient())
            {
                var mappedFilter = mapper.Map <UserFilter>(filter);
                var query        = new FindMatchingUsers(page, DefaultPageSize, orderBy, mappedFilter);

                var usersSearchResultData = await client.SendAsync(User.GetAccessToken(), query);

                model.Users   = usersSearchResultData.Results.ToPagedList(page - 1, DefaultPageSize, usersSearchResultData.UsersCount);
                model.OrderBy = orderBy;
                model.Filter  = filter ?? new FilteringViewModel();
            }

            return(model);
        }
Beispiel #2
0
        public async Task <ActionResult> Index(ManageUsersViewModel model, FindMatchingUsers.OrderBy orderBy = FindMatchingUsers.OrderBy.FullNameAscending, int page = 1)
        {
            if (!ModelState.IsValid)
            {
                var refreshedModel = await GetManageUsersViewModel(orderBy, page, model.Filter);

                return(View(refreshedModel));
            }

            return(RedirectToAction("View", new { id = model.SelectedUserId }));
        }
Beispiel #3
0
 public async Task <ActionResult> ClearFilter(FindMatchingUsers.OrderBy orderBy = FindMatchingUsers.OrderBy.FullNameAscending)
 {
     return(await Index(null, null, null, orderBy));
 }
Beispiel #4
0
        public async Task <ActionResult> ApplyFilter(FilteringViewModel filter, FindMatchingUsers.OrderBy orderBy = FindMatchingUsers.OrderBy.FullNameAscending, int page = 1)
        {
            var model = await GetManageUsersViewModel(orderBy, page, filter);

            return(View(nameof(Index), model));
        }
Beispiel #5
0
        public async Task <ActionResult> Index(string name, string organisationName, UserStatus?status, FindMatchingUsers.OrderBy orderBy = FindMatchingUsers.OrderBy.FullNameAscending, int page = 1)
        {
            var filter = new FilteringViewModel()
            {
                Name             = name,
                OrganisationName = organisationName,
                Status           = status
            };

            var model = await GetManageUsersViewModel(orderBy, page, filter);

            return(View(nameof(Index), model));
        }