示例#1
0
        public virtual ActionResult Render(UserListModel model)
        {
            var selectedColumns = UsersPresentationHelper.GetProfileColumns().ToArray();

            var orderByColumn = selectedColumns.FirstOrDefault(i => i.SupportSorting);

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

            var query = GetActiveMemberSearchQuery(model);

            query.OrderingString = orderByColumn?.PropertyName;
            query.GroupId        = groupId;
            query.MembersOfGroup = groupId.HasValue;

            var(activeUsers, isLastRequest) = GetActiveUsers(query);

            var viewModel = GetUserListViewModel(model);

            viewModel.OrderByColumn = orderByColumn;
            viewModel.MembersRows.SelectedColumns = UsersPresentationHelper.ExtendIfGroupMembersPage(groupId, selectedColumns);
            viewModel.MembersRows.Members         = activeUsers;
            viewModel.IsLastRequest = isLastRequest;

            return(PartialView(UserListViewPath, viewModel));
        }
示例#2
0
        public virtual ActionResult Render(UserListModel model)
        {
            var selectedColumns = UsersPresentationHelper.GetProfileColumns().ToArray();

            var orderByColumn = selectedColumns.FirstOrDefault(i => i.SupportSorting);

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

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

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

            var(activeUsers, isLastRequest)       = GetActiveUsers(activeUserSearchRequest);
            viewModel.MembersRows.SelectedColumns = UsersPresentationHelper.ExtendIfGroupMembersPage(groupId, selectedColumns);
            viewModel.MembersRows.Members         = activeUsers;
            viewModel.IsLastRequest = isLastRequest;

            return(View(UserListViewPath, viewModel));
        }
示例#3
0
        public virtual ActionResult GetUsers(MembersListSearchModel listSearch)
        {
            var(activeUsers, isLastRequest) = GetActiveUsers(listSearch.Map <ActiveMemberSearchQuery>());

            var model = GetUsersRowsViewModel();

            model.SelectedColumns = UsersPresentationHelper.ExtendIfGroupMembersPage(listSearch.GroupId, UsersPresentationHelper.GetProfileColumns());
            model.Members         = activeUsers;
            model.IsLastRequest   = isLastRequest;

            return(PartialView(UsersRowsViewPath, model));
        }
示例#4
0
        //TODO Configure elastic for search among not invited users.
        public virtual ActionResult ForInvitation(MembersListSearchModel listSearch)
        {
            var(activeUsers, isLastRequest) = GetActiveUsers(listSearch.Map <ActiveMemberSearchQuery>());

            var model = GetUsersRowsViewModel();

            model.SelectedColumns = UsersPresentationHelper.AddManagementColumn(UsersPresentationHelper.GetProfileColumns());
            model.Members         = activeUsers;
            model.IsLastRequest   = isLastRequest;
            model.IsInvite        = listSearch.IsInvite;

            return(PartialView(InviteUserRowViewPath, model));
        }
示例#5
0
        public virtual MembersRowsViewModel ForInvitation([FromBody] MembersListSearchModel listSearch)
        {
            var(activeUsers, isLastRequest) =
                GetActiveUsers(listSearch.Map <ActiveMemberSearchQuery>(), listSearch.GroupId);

            var model = GetUsersRowsViewModel(listSearch.GroupId);

            model.SelectedColumns =
                UsersPresentationHelper.AddManagementColumn(UsersPresentationHelper.GetProfileColumns());
            model.Members       = activeUsers;
            model.IsLastRequest = isLastRequest;
            model.IsInvite      = listSearch.IsInvite;
            return(model);
        }
示例#6
0
        public virtual MembersRowsViewModel GetUsers([FromBody] MembersListSearchModel listSearch)
        {
            var(activeUsers, isLastRequest) =
                GetActiveUsers(listSearch.Map <ActiveMemberSearchQuery>(), listSearch.GroupId);

            var model = GetUsersRowsViewModel(listSearch.GroupId);

            model.SelectedColumns =
                UsersPresentationHelper.ExtendIfGroupMembersPage(listSearch.GroupId,
                                                                 UsersPresentationHelper.GetProfileColumns());
            model.Members       = activeUsers;
            model.IsLastRequest = isLastRequest;

            return(model);
        }
示例#7
0
        private MembersRowsViewModel GetUsersRowsViewModel(Guid?groupId)
        {
            var model = new MembersRowsViewModel
            {
                SelectedColumns = UsersPresentationHelper.GetProfileColumns(),
                CurrentMember   = _intranetMemberService.GetCurrentMember().ToViewModel(),
            };

            model.IsCurrentMemberGroupAdmin = groupId.HasValue && _groupMemberService
                                              .IsMemberAdminOfGroup(model.CurrentMember.Id, groupId.Value);

            model.GroupId = groupId;

            return(model);
        }
示例#8
0
        private MembersRowsViewModel GetUsers(Guid?groupId)
        {
            var listSearch = new ActiveMemberSearchQuery
            {
                GroupId        = groupId,
                OrderingString = string.Empty,
                Text           = string.Empty,
                Page           = 1,
                MembersOfGroup = groupId.HasValue
            };

            var(activeUsers, isLastRequest) = GetActiveUsers(listSearch, groupId);

            var model = GetUsersRowsViewModel(groupId);

            model.SelectedColumns =
                UsersPresentationHelper.ExtendIfGroupMembersPage(listSearch.GroupId,
                                                                 UsersPresentationHelper.GetProfileColumns());
            model.Members       = activeUsers;
            model.IsLastRequest = isLastRequest;

            return(model);
        }
示例#9
0
 public virtual IEnumerable <ProfileColumnModel> ProfileProperties()
 {
     return(UsersPresentationHelper.GetProfileColumns());
 }
示例#10
0
 protected virtual MembersRowsViewModel GetUsersRowsViewModel() =>
 new MembersRowsViewModel
 {
     SelectedColumns = UsersPresentationHelper.GetProfileColumns(),
 };