コード例 #1
0
        private void FillRoleData(GroupViewModel model)
        {
            var groupId     = model.Id == Guid.Empty ? ApplicationHelper.GetMainGroupId(this._dataSource) : model.Id;
            var mainGroupId = model.Id == Guid.Empty ? groupId : ApplicationHelper.GetMainGroupId(this._dataSource);

            model.Roles = this._roleManager.Query().Where(r => r.Name.ToLower() != PlatformConstants.ADMINROLE.ToLower() && (r.GroupId == groupId || r.GroupId == mainGroupId)).Select(r => new AssignRoleModel {
                Id = r.Id, Name = r.Name
            }).ToList();
            model.Permissions = this._roleManager.PermissionQuery().Map <AssignPermissionModel>().ToList();
            var permissionSet = this._roleManager.GetPermissionSetForGroup(StrixPlatform.User.GroupId).Map <AssignRoleModel>();

            if (permissionSet != null)
            {
                this.SetPermissionSetSettings(model, permissionSet);
            }

            if (model.Id != Guid.Empty)
            {
                var groupRoles = this._roleManager.QueryForGroup(model.Id).Where(g => g.Name.ToLower() != Resources.DefaultValues.PermissionSetName.ToLower()).ToList();

                foreach (var role in model.Roles)
                {
                    var groupRole = groupRoles.FirstOrDefault(r => r.Id == role.Id);

                    if (groupRole != null)
                    {
                        role.StartDate            = groupRole.StartDate;
                        role.EndDate              = groupRole.EndDate;
                        role.MaxNumberOfUsers     = groupRole.MaxNumberOfUsers;
                        role.CurrentNumberOfUsers = groupRole.CurrentNumberOfUsers;
                        role.Selected             = true;
                    }
                }
            }

            var index = 0;

            foreach (var role in model.Roles)
            {
                role.Index = index;
                index++;
            }
        }
コード例 #2
0
        public IEnumerable List(FilterOptions filter)
        {
            var groupId = ApplicationHelper.GetMainGroupId(this._dataSource);

            return(this._groupManager.Query().Where(g => g.Id != groupId).Filter(filter).Map <GroupListModel>().ToList());
        }