protected override void PrepareData(AUObjectOperationContext context) { AUCommon.DoDbAction(() => { this.schema = (AUSchema)SchemaObjectAdapter.Instance.Load(((AdminUnit)Data).AUSchemaID); if (this.schema == null || this.schema.Status != SchemaObjectStatus.Normal) { throw new AUObjectValidationException(AUCommon.DisplayNameFor((AdminUnit)this.Data) + "管理单元的SchemaID无效,无法找到对应的Schema。"); } }); this.PrepareRelationObject(); base.PrepareData(context); var oldObject = (AdminUnit)SCActionContext.Current.OriginalObject; if (oldObject != null && oldObject.AUSchemaID != this.schema.ID) { throw new AUObjectValidationException("一旦创建,不能以任何方式修改AdminUnit的AUSchema属性"); } this.existingSchemaRoles = Adapters.AUSnapshotAdapter.Instance.LoadAUSchemaRoles(schema.ID, false, DateTime.MinValue); this.existingUnitRoles = Adapters.AUSnapshotAdapter.Instance.LoadAURoles(new string[] { this.Data.ID }, new string[0], false, DateTime.MinValue); this.existingUnitScopes = Adapters.AUSnapshotAdapter.Instance.LoadAUScope(this.Data.ID, false, DateTime.MinValue); this.pendingActions.Clear(); PrepareRolesAndScopes(); }
protected override void PrepareData(AUObjectOperationContext context) { AUCommon.DoDbAction(() => { this.schema = (AUSchema)SchemaObjectAdapter.Instance.Load(((AdminUnit)Data).AUSchemaID); if (this.schema == null || this.schema.Status != SchemaObjectStatus.Normal) throw new AUObjectValidationException(AUCommon.DisplayNameFor((AdminUnit)this.Data) + "管理单元的SchemaID无效,无法找到对应的Schema。"); }); this.PrepareRelationObject(); base.PrepareData(context); var oldObject = (AdminUnit)SCActionContext.Current.OriginalObject; if (oldObject != null && oldObject.AUSchemaID != this.schema.ID) throw new AUObjectValidationException("一旦创建,不能以任何方式修改AdminUnit的AUSchema属性"); this.existingSchemaRoles = Adapters.AUSnapshotAdapter.Instance.LoadAUSchemaRoles(schema.ID, false, DateTime.MinValue); this.existingUnitRoles = Adapters.AUSnapshotAdapter.Instance.LoadAURoles(new string[] { this.Data.ID }, new string[0], false, DateTime.MinValue); this.existingUnitScopes = Adapters.AUSnapshotAdapter.Instance.LoadAUScope(this.Data.ID, false, DateTime.MinValue); this.pendingActions.Clear(); PrepareRolesAndScopes(); }