Esempio n. 1
0
        public virtual ActionResult Render(UserListModel model)
        {
            var selectedColumns = ReflectionHelper.GetProfileColumns().ToArray();
            var orderByColumn   = selectedColumns.FirstOrDefault(i => i.SupportSorting);

            var groupId = Request.QueryString["groupId"].Apply(parseGuid);

            var viewModel = new UserListViewModel
            {
                AmountPerRequest = model.AmountPerRequest,
                DisplayedAmount  = model.DisplayedAmount,
                Title            = model.Title,
                MembersRows      = GetUsersRowsViewModel(),
                OrderByColumn    = orderByColumn
            };

            var activeUserSearchRequest = new ActiveUserSearchQuery
            {
                Text           = string.Empty,
                Skip           = 0,
                Take           = model.DisplayedAmount,
                OrderingString = orderByColumn?.PropertyName,
                GroupId        = groupId
            };

            var(activeUsers, isLastRequest)       = GetActiveUsers(activeUserSearchRequest);
            viewModel.MembersRows.SelectedColumns = ExtendIfGroupMembersPage(groupId, selectedColumns);
            viewModel.MembersRows.Members         = activeUsers;
            viewModel.IsLastRequest = isLastRequest;
            return(View(UserListViewPath, viewModel));
        }
Esempio n. 2
0
        protected override (IEnumerable <Guid> searchResult, long totalHits) GetActiveUserIds(ActiveUserSearchQuery query)
        {
            var searchQuery = new SearchTextQuery
            {
                Text              = query.Text,
                Skip              = query.Skip,
                Take              = query.Take,
                OrderingString    = query.OrderingString,
                SearchableTypeIds = ((int)UintraSearchableTypeEnum.User).ToEnumerable(),
                GroupId           = query.GroupId
            };

            var searchResult = _elasticIndex.Search(searchQuery);
            var result       = searchResult.Documents.Select(r => Guid.Parse(r.Id.ToString()));

            return(result, searchResult.TotalHits);
        }
Esempio n. 3
0
 protected abstract (IEnumerable <Guid> searchResult, long totalHits) GetActiveUserIds(ActiveUserSearchQuery query);
Esempio n. 4
0
        private (IEnumerable <MemberModel> result, bool isLastRequest) GetActiveUsers(ActiveUserSearchQuery query)
        {
            var(searchResult, totalHits) = GetActiveUserIds(query);

            var result = searchResult
                         .Apply(_intranetMemberService.GetMany)
                         .Select(MapToViewModel);

            var isLastRequest = query.Skip + query.Take >= totalHits;

            return(result, isLastRequest);
        }