private void CheckPermissions(DEOperationType opType, DESchemaDefine schemaInfo, string permissionName, params string[] containerIDs) { if (NeedCheckPermissionAndCurrentUserIsNotSupervisor && DeluxePrincipal.Current.HasPermissions(permissionName, containerIDs) == false) { throw DEAclPermissionCheckException.CreateException(opType, schemaInfo, permissionName); } }
public DEObjectExecutor(DEOperationType opType, DEBase data) : base(opType) { data.NullCheck("data"); data.ClearRelativeData(); this._Data = data; }
public DEMemberCollectionRelativeExecutorBase(DEOperationType opType, DEBase container, DESchemaObjectCollection members) : base(opType, container) { container.NullCheck("container"); container.ClearRelativeData(); members.NullCheck("members"); members.ForEach(p => p.ClearRelativeData()); this._Container = container; this._Members = members; this.SaveMemberData = true; }
public DEMemberRelativeExecutorBase(DEOperationType opType, DESchemaObjectBase container, DEBase member) : base(opType, member) { container.NullCheck("container"); container.ClearRelativeData(); if (member != null) { member.ClearRelativeData(); } this._Container = container; this._Relation = PrepareRelationObject(container, member); }
public static DEOperationLog ToOperationLog(this DEBase data, DEOperationType opType) { data.NullCheck("data"); DEOperationLog log = DEOperationLog.CreateLogFromEnvironment(); log.ResourceID = data.ID; log.SchemaType = data.SchemaType; log.OperationType = opType; log.Category = data.Schema.Category; log.Subject = string.Format("{0}: {1}", EnumItemDescriptionAttribute.GetDescription(opType), data.Name); log.SearchContent = data.ToFullTextString(); return(log); }
private void ExecuteWithActions(DEOperationType operationType, Action action) { DEDataOperationLockContext.Current.DoAddLockAction(this._AddLock, EnumItemDescriptionAttribute.GetDescription(operationType), () => { if (this._NeedExecuteActions && action != null) { DEObjectOperationActionCollection actions = DEObjectOperationActionSettings.GetConfig().GetActions(); actions.BeforeExecute(operationType); action(); actions.AfterExecute(operationType); } else { action(); } }); }
/// <summary> /// /// </summary> /// <param name="opType"></param> /// <param name="permissionName"></param> public static DEAclPermissionCheckException CreateException(DEOperationType opType, DESchemaDefine schemaInfo, string permissionName) { string opDesp = EnumItemDescriptionAttribute.GetDescription(opType); DEAclPermissionItem permissionInfo = schemaInfo.PermissionSet[permissionName]; string permissionDesp = string.Empty; if (permissionInfo != null) { permissionDesp = permissionInfo.Description; if (permissionDesp.IsNullOrEmpty()) { permissionDesp = permissionInfo.Name; } } return(new DEAclPermissionCheckException(string.Format("不能执行\"{0}\"操作,您没有\"{0}\"权限", opDesp, permissionDesp))); }
public DEInstenceExecutor(DEOperationType opType, DEEntityInstanceBase data, DEInstenceSnapshotAdapter snapshotAdapter) : this(opType, data) { this.SnapshotAdapter = snapshotAdapter; }
public DEMemberRelativeExecutor(DEOperationType opType, DESchemaObjectBase container, DEBase member) : base(opType, container, member) { }
/// <summary> /// 根据指定的操作类型和执行器初始化<see cref="DESchemaObjectOperationContext"/>的新实例。 /// </summary> /// <param name="opType"><see cref="DEOperationType"/>值之一,表示操作的类型</param> /// <param name="executor"><see cref="DEExecutorBase"/>对象,表示操作</param> public DESchemaObjectOperationContext(DEOperationType opType, DEExecutorBase executor) { this._OperationType = opType; this._Executor = executor; }
public DEStatusCheckException(DESchemaObjectBase relativeObject, DEOperationType opType) : base(string.Format("对象\"{0}\"的状态不是正常状态,不能执行{1}操作", relativeObject.Properties["Name"], EnumItemDescriptionAttribute.GetDescription(opType))) { this._RelativeObject = relativeObject; this._OperationType = opType; }
public void BeforeExecute(DEOperationType operationType) { }
/// <summary> /// 执行之后 /// </summary> /// <param name="operationType"></param> public void AfterExecute(DEOperationType operationType) { this.ForEach(action => action.AfterExecute(operationType)); }
/// <summary> /// 执行之前 /// </summary> /// <param name="obj">一个<see cref="DESchemaObjectBase"/>实例</param> public void BeforeExecute(DEOperationType operationType) { this.ForEach(action => action.BeforeExecute(operationType)); }
/// <summary> /// 根据指定的操作类型和执行器初始化<see cref="DESchemaObjectOperationContext"/>的新实例。 /// </summary> /// <param name="opType"><see cref="DEOperationType"/>值之一,表示操作的类型</param> /// <param name="executor"><see cref="DEExecutorBase"/>对象,表示操作</param> public DEInstenceOperationContext(DEOperationType opType, DEInstenceExecutorBase executor) { this._OperationType = opType; this._Executor = executor; }
public void AfterExecute(DEOperationType operationType) { //DEOperationSnapshot snapshot = new DEOperationSnapshot() { DEOperationType = operationType }; //DEOperationSnapshotAdapter.Instance.Update(snapshot); }
protected DEInstenceExecutorBase(DEOperationType opType) { this.OperationType = opType; }
public DEInstenceExecutor(DEOperationType opType, DEEntityInstanceBase data) : base(opType) { this.Data = data; }
public DEMemberCollectionRelativeExecutor(DEOperationType opType, DEBase container, DESchemaObjectCollection members, DEStandardObjectSchemaType relationType) : base(opType, container, members, relationType) { }