示例#1
0
        public void RemoveUserFromRole(SCUser user, AdminUnit unit, AUSchemaRole role)
        {
            CheckUnitPermission(AUOperationType.RemoveUserFromRole, "EditRoleMembers", unit);

            SchemaObjectBase r = Adapters.AUSnapshotAdapter.Instance.LoadAURole(role.ID, unit.ID, true, DateTime.MinValue);

            if (r == null)
            {
                throw new AUObjectValidationException("没有找到此管理单元的角色,请尝试重新添加此角色");
            }

            AUMemberRelativeExecutor executor = new AUMemberRelativeExecutor(AUOperationType.RemoveUserFromRole, r, user)
            {
                OverrideExistedRelation  = true,
                SaveTargetData           = false,
                NeedStatusCheck          = false,
                NeedContainerStatusCheck = this.NeedValidationAndStatusCheck,
            };

            executor.Relation.Status = SchemaObjectStatus.Deleted;

            SCMemberRelation result = null;

            ExecuteWithActions(AUOperationType.RemoveUserFromRole, () => SCActionContext.Current.DoActions(() => result = (SCMemberRelation)executor.Execute()));
        }
 public AURoleMemberExecutor(AUOperationType opType, AUSchemaRole role, AdminUnit unit, SCUser[] users)
     : base(opType)
 {
     role.NullCheck("role");
     users.NullCheck("users");
     unit.NullCheck("unit");
     this.schemaRole = role;
     this.users      = users;
     this.unit       = unit;
 }
		public AURoleMemberExecutor(AUOperationType opType, AUSchemaRole role, AdminUnit unit, SCUser[] users)
			: base(opType)
		{
			role.NullCheck("role");
			users.NullCheck("users");
			unit.NullCheck("unit");
			this.schemaRole = role;
			this.users = users;
			this.unit = unit;
		}
示例#4
0
        public void ReplaceUsersInRole(SCUser[] users, AdminUnit unit, AUSchemaRole role)
        {
            CheckUnitPermission(AUOperationType.RemoveUserFromRole, "EditRoleMembers", unit);

            AURoleMemberExecutor executor = new AURoleMemberExecutor(AUOperationType.RemoveUserFromRole, role, unit, users)
            {
                NeedStatusCheck          = this.NeedValidationAndStatusCheck,
                NeedContainerStatusCheck = this.NeedValidationAndStatusCheck
            };

            ExecuteWithActions(AUOperationType.RemoveUserFromRole, () => SCActionContext.Current.DoActions(() => executor.Execute()));
        }
		public AUSchemaRoleExecutor(AUOperationType type, AUSchema schema, AUSchemaRole data)
			: base(type, schema, data)
		{
			switch (type)
			{
				case AUOperationType.AddSchemaRole:
				case AUOperationType.RemoveSchemaRole:
					break;
				default:
					throw new ArgumentOutOfRangeException("type", string.Format("AUSchemaRoleExecutor不支持{0}操作", type));
			}
		}
示例#6
0
        public void UpdateAdminSchemaRole(AUSchemaRole role)
        {
            CheckSupervisior();

            AUObjectExecutor executor = new Executors.AUObjectExecutor(AUOperationType.UpdateAdminSchemaRole, role)
            {
            };

            ExecuteWithActions(AUOperationType.UpdateAdminSchemaRole, () => SCActionContext.Current.DoActions(() =>
            {
                executor.Execute();
            }));
        }
        public AUSchemaRoleExecutor(AUOperationType type, AUSchema schema, AUSchemaRole data)
            : base(type, schema, data)
        {
            switch (type)
            {
            case AUOperationType.AddSchemaRole:
            case AUOperationType.RemoveSchemaRole:
                break;

            default:
                throw new ArgumentOutOfRangeException("type", string.Format("AUSchemaRoleExecutor不支持{0}操作", type));
            }
        }
示例#8
0
        public void DeleteAdminSchemaRole(AUSchemaRole role)
        {
            CheckSupervisior();

            Executors.AUSchemaRoleExecutor executor = new Executors.AUSchemaRoleExecutor(AUOperationType.RemoveSchemaRole, role.GetCurrentOwnerAUSchema(), role)
            {
                SaveTargetData           = true,
                OverrideExistedRelation  = true,
                NeedContainerStatusCheck = true,
            };

            role.Status = SchemaObjectStatus.Deleted;

            ExecuteWithActions(AUOperationType.RemoveSchemaRole, () => SCActionContext.Current.DoActions(() =>
            {
                executor.Execute();
            }));
        }
示例#9
0
        public void AddAdminSchemaRole(AUSchemaRole role, AUSchema schema)
        {
            CheckSupervisior();

            AUSchemaRoleExecutor executor = new AUSchemaRoleExecutor(AUOperationType.AddSchemaRole, schema, role)
            {
                SaveTargetData           = true,
                OverrideExistedRelation  = true,
                NeedContainerStatusCheck = true,
            };

            role.Status = SchemaObjectStatus.Normal;

            ExecuteWithActions(AUOperationType.AddSchemaRole, () => SCActionContext.Current.DoActions(() =>
            {
                executor.Execute();
            }));
        }
示例#10
0
		public void ReplaceUsersInRole(SCUser[] users, AdminUnit unit, AUSchemaRole role)
		{
			CheckUnitPermission(AUOperationType.RemoveUserFromRole, "EditRoleMembers", unit);

			AURoleMemberExecutor executor = new AURoleMemberExecutor(AUOperationType.RemoveUserFromRole, role, unit, users)
			{
				NeedStatusCheck = this.NeedValidationAndStatusCheck,
				NeedContainerStatusCheck = this.NeedValidationAndStatusCheck
			};

			ExecuteWithActions(AUOperationType.RemoveUserFromRole, () => SCActionContext.Current.DoActions(() => executor.Execute()));
		}
示例#11
0
		public void RemoveUserFromRole(SCUser user, AdminUnit unit, AUSchemaRole role)
		{
			CheckUnitPermission(AUOperationType.RemoveUserFromRole, "EditRoleMembers", unit);

			SchemaObjectBase r = Adapters.AUSnapshotAdapter.Instance.LoadAURole(role.ID, unit.ID, true, DateTime.MinValue);
			if (r == null)
				throw new AUObjectValidationException("没有找到此管理单元的角色,请尝试重新添加此角色");

			AUMemberRelativeExecutor executor = new AUMemberRelativeExecutor(AUOperationType.RemoveUserFromRole, r, user)
			{
				OverrideExistedRelation = true,
				SaveTargetData = false,
				NeedStatusCheck = false,
				NeedContainerStatusCheck = this.NeedValidationAndStatusCheck,
			};

			executor.Relation.Status = SchemaObjectStatus.Deleted;

			SCMemberRelation result = null;

			ExecuteWithActions(AUOperationType.RemoveUserFromRole, () => SCActionContext.Current.DoActions(() => result = (SCMemberRelation)executor.Execute()));
		}
示例#12
0
		public void UpdateAdminSchemaRole(AUSchemaRole role)
		{
			CheckSupervisior();

			AUObjectExecutor executor = new Executors.AUObjectExecutor(AUOperationType.UpdateAdminSchemaRole, role)
			{
			};

			ExecuteWithActions(AUOperationType.UpdateAdminSchemaRole, () => SCActionContext.Current.DoActions(() =>
			{
				executor.Execute();
			}));
		}
示例#13
0
		public void DeleteAdminSchemaRole(AUSchemaRole role)
		{
			CheckSupervisior();

			Executors.AUSchemaRoleExecutor executor = new Executors.AUSchemaRoleExecutor(AUOperationType.RemoveSchemaRole, role.GetCurrentOwnerAUSchema(), role)
			{
				SaveTargetData = true,
				OverrideExistedRelation = true,
				NeedContainerStatusCheck = true,
			};

			role.Status = SchemaObjectStatus.Deleted;

			ExecuteWithActions(AUOperationType.RemoveSchemaRole, () => SCActionContext.Current.DoActions(() =>
			{
				executor.Execute();
			}));
		}
示例#14
0
		public void AddAdminSchemaRole(AUSchemaRole role, AUSchema schema)
		{
			CheckSupervisior();

			AUSchemaRoleExecutor executor = new AUSchemaRoleExecutor(AUOperationType.AddSchemaRole, schema, role)
			{
				SaveTargetData = true,
				OverrideExistedRelation = true,
				NeedContainerStatusCheck = true,
			};

			role.Status = SchemaObjectStatus.Normal;

			ExecuteWithActions(AUOperationType.AddSchemaRole, () => SCActionContext.Current.DoActions(() =>
			{
				executor.Execute();
			}));
		}