/// <summary> /// 取得指定內碼的表單資料。 /// </summary> /// <param name="inputArgs"></param> /// <returns></returns> public GMoveOutputResult Move(GMoveInputArgs inputArgs) { var outputResult = new GMoveOutputResult(); DoBeforeMove(inputArgs, outputResult); if (inputArgs.Cancel) { return(outputResult); } DoMove(inputArgs, outputResult); DoAfterMove(inputArgs, outputResult); return(outputResult); }
/// <summary> /// 執行 Move 方法的實作。 /// </summary> /// <param name="inputArgs"></param> /// <param name="outputResult"></param> protected virtual void DoMove(GMoveInputArgs inputArgs, GMoveOutputResult outputResult) { outputResult.EntitySet = new GEntitySet(this.ProgID); foreach (GTableDefine tableDefine in this.ProgramDefine.Tables) { if (tableDefine.IsMaster) { var selectArgs = new GSelectInputArgs { TableName = tableDefine.TableName, FilterItems = { new GFilterItem(SysFields.ID, inputArgs.FormID) } }; var selectResult = Select(selectArgs); outputResult.EntitySet.Tables.Add(selectResult.Table); } else { var selectArgs = new GSelectInputArgs { TableName = tableDefine.TableName, FilterItems = { new GFilterItem(SysFields.MasterID, inputArgs.FormID) } }; var selectResult = Select(selectArgs); outputResult.EntitySet.Tables.Add(selectResult.Table); } } }
/// <summary> /// 執行 Move 方法後呼叫的方法。 /// </summary> /// <param name="inputArgs"></param> /// <param name="outputResult"></param> protected virtual void DoAfterMove(GMoveInputArgs inputArgs, GMoveOutputResult outputResult) { }
/// <summary> /// 執行 Move 方法前呼叫的方法。 /// </summary> /// <param name="inputArgs"></param> /// <param name="outputResult"></param> protected virtual void DoBeforeMove(GMoveInputArgs inputArgs, GMoveOutputResult outputResult) { }