public SCOrganizationRelativeExecutor(SCOperationType opType, SCOrganization parent, SCBase data) : base(opType, data) { parent.NullCheck("organization"); data.ClearRelativeData(); parent.ClearRelativeData(); this._Parent = parent; this._Relation = PrepareRelationObject(parent, data); if (this.OperationType == SCOperationType.AddOrganization) { this._AclContainer = PrepareAclContainer(parent, data); } if (data is SCUser) { this._TargetParentRelations = data.CurrentParentRelations; if (this.OperationType == SCOperationType.AddUser && this._TargetParentRelations.Count == 0) { SCUser user = (SCUser)data; user.OwnerID = parent.ID; user.OwnerName = parent.Properties.GetValue("Name", string.Empty); } } }
public SCMoveObjectExecutor(SCOperationType opType, SCOrganization originalOrg, SCBase obj, SCOrganization targetOrg) : base(opType) { obj.NullCheck("obj"); targetOrg.NullCheck("targetOrg"); obj.ClearRelativeData(); targetOrg.ClearRelativeData(); if (originalOrg != null) originalOrg.ClearRelativeData(); this._Object = obj; this._OriginalOrganization = originalOrg; this._TargetOrganization = targetOrg; this._NeedChangeOwner = PrepareNeedChangeOwner(originalOrg, targetOrg, obj); if (originalOrg != null && originalOrg.ID == targetOrg.ID) { this._RelationExisted = true; } else { this._OriginalRelation = PreprareOriginalRelation(originalOrg, obj); this._TargetRelation = PrepareTargetRelation(targetOrg, obj); this._NeedGenerateFullPaths = (obj is ISCRelationContainer) && (((ISCRelationContainer)obj).GetCurrentChildrenCount() > 0); } }
public SCMoveObjectExecutor(SCOperationType opType, SCOrganization originalOrg, SCBase obj, SCOrganization targetOrg) : base(opType) { obj.NullCheck("obj"); targetOrg.NullCheck("targetOrg"); obj.ClearRelativeData(); targetOrg.ClearRelativeData(); if (originalOrg != null) { originalOrg.ClearRelativeData(); } this._Object = obj; this._OriginalOrganization = originalOrg; this._TargetOrganization = targetOrg; this._NeedChangeOwner = PrepareNeedChangeOwner(originalOrg, targetOrg, obj); if (originalOrg != null && originalOrg.ID == targetOrg.ID) { this._RelationExisted = true; } else { this._OriginalRelation = PreprareOriginalRelation(originalOrg, obj); this._TargetRelation = PrepareTargetRelation(targetOrg, obj); this._NeedGenerateFullPaths = (obj is ISCRelationContainer) && (((ISCRelationContainer)obj).GetCurrentChildrenCount() > 0); } }
public SCOrganizationRelativeExecutor(SCOperationType opType, SCOrganization parent, SCBase data) : base(opType, data) { parent.NullCheck("organization"); data.ClearRelativeData(); parent.ClearRelativeData(); this._Parent = parent; this._Relation = PrepareRelationObject(parent, data); if (this.OperationType == SCOperationType.AddOrganization) this._AclContainer = PrepareAclContainer(parent, data); if (data is SCUser) { this._TargetParentRelations = data.CurrentParentRelations; if (this.OperationType == SCOperationType.AddUser && this._TargetParentRelations.Count == 0) { SCUser user = (SCUser)data; user.OwnerID = parent.ID; user.OwnerName = parent.Properties.GetValue("Name", string.Empty); } } }
public SCDeleteObjectsRecursivelyExecutor(SCOrganization parent, SchemaObjectCollection objectsToDelete) : base(SCOperationType.DeleteObjectsRecursively) { parent.NullCheck("parent"); objectsToDelete.NullCheck("objectsToDelete"); this._Parent = parent; this._OriginalObjectsToDelete = objectsToDelete; this.AutoStartTransaction = false; }
/// <summary> /// 修改对象的Owner信息 /// </summary> /// <param name="opType">操作类型</param> /// <param name="obj">需要调整Owner的对象</param> /// <param name="targetOrg">调整后的Owner</param> public SCChangeOwnerExecutor(SCOperationType opType, SCBase obj, SCOrganization targetOrg) : base(opType) { obj.NullCheck("obj"); targetOrg.NullCheck("targetOrg"); obj.ClearRelativeData(); targetOrg.ClearRelativeData(); this._Object = obj; this._TargetOrganization = targetOrg; }
public SCRelationObject AddUserToOrganization(SCUser user, SCOrganization parent) { user.NullCheck("user"); parent.NullCheck("parent"); SCOrganizationRelativeExecutor executor = new SCOrganizationRelativeExecutor(SCOperationType.AddUserToOrganization, parent, user) { NeedValidation = this.NeedValidationAndStatusCheck, NeedParentStatusCheck = this.NeedValidationAndStatusCheck }; if (this._NeedCheckPermissions) { CheckPermissions(SCOperationType.AddUserToOrganization, parent.Schema, "AddChildren", parent.ID); } SCRelationObject result = null; ExecuteWithActions(SCOperationType.AddUserToOrganization, () => SCActionContext.Current.DoActions(() => result = (SCRelationObject)executor.Execute())); return(result); }
public SCRelationObject AddUserToOrganization(SCUser user, SCOrganization parent) { user.NullCheck("user"); parent.NullCheck("parent"); SCOrganizationRelativeExecutor executor = new SCOrganizationRelativeExecutor(SCOperationType.AddUserToOrganization, parent, user) { NeedValidation = this.NeedValidationAndStatusCheck, NeedParentStatusCheck = this.NeedValidationAndStatusCheck }; if (this._NeedCheckPermissions) CheckPermissions(SCOperationType.AddUserToOrganization, parent.Schema, "AddChildren", parent.ID); SCRelationObject result = null; ExecuteWithActions(SCOperationType.AddUserToOrganization, () => SCActionContext.Current.DoActions(() => result = (SCRelationObject)executor.Execute())); return result; }