public DataTable QueryChainPOByFind(ArrayList ParameterList) { #region try { VDS_ALO_POSOURCE_NO_MAIN_DBO ALOM = new VDS_ALO_POSOURCE_NO_MAIN_DBO(ref USEDB); DataTable dt = ALOM.doQueryPOSourceNOByFind(ParameterList); return dt; } catch (Exception ex) { throw GetNewException(ex); } #endregion }
/// <summary> /// 基本表單更新BCO /// </summary> /// <param name="htParams">輸入變數</param> /// <param name="RootDBT">是否有主交易,無主交易輸入null</param> /// <returns>回傳更新成功與否</returns> public bool UpdateMasterAndDetail(Hashtable htParams, DataTable dtForDetailAddedOrModified, string strUIDForLog, DataTable dtForDetailDeleted, DbTransaction RootDBT) { #region bool IsRootTranscation = false; bool bResult = false; try { VDS_ALO_POSOURCE_NO_MAIN_DBO ALOM = new VDS_ALO_POSOURCE_NO_MAIN_DBO(ref USEDB); //判斷是否有傳入Root Transcation IsRootTranscation = (RootDBT == null) ? true : false; #region 啟動交易或指定RootTranscation if (IsRootTranscation) { //獨立呼叫啟動Transcation Conn = USEDB.CreateConnection(); Conn.Open(); DBT = Conn.BeginTransaction(); } else { DBT = RootDBT; } #endregion bResult = UpdateMaster(htParams, DBT); if (bResult) { if (dtForDetailAddedOrModified != null || dtForDetailDeleted != null) bResult = UpdateDetail(dtForDetailAddedOrModified, strUIDForLog, dtForDetailDeleted, DBT); #region 交易成功 if (IsRootTranscation) { //獨立呼叫Transcation成立 DBT.Commit(); } #endregion } else { throw new Exception("新增0筆資料!"); } return bResult; } catch (Exception ex) { #region 交易失敗 if (IsRootTranscation) { //獨立呼叫Transcation失敗 DBT.Rollback(); } #endregion throw GetNewException(ex); } finally { #region 判斷是否關閉交易連線 if (IsRootTranscation) { //獨立呼叫Transcation,關閉連線 if (Conn.State == ConnectionState.Connecting) { Conn.Close(); } } #endregion } #endregion }
public DataTable GetPOSourceNOSchema() { #region try { VDS_ALO_POSOURCE_NO_MAIN_DBO ALOM = new VDS_ALO_POSOURCE_NO_MAIN_DBO(ref USEDB); DataTable dt = ALOM.doGetPOSourceNOSchema(); return dt; } catch (Exception ex) { throw GetNewException(ex); } #endregion }
/// <summary> /// 基本表單新增BCO /// </summary> /// <param name="htParams">輸入變數</param> /// <param name="RootDBT">是否有主交易,無主交易輸入null</param> /// <returns>回傳新增之ID</returns> public int CreateMasterAndDetail(Hashtable htParams, DataTable DetailData, DbTransaction RootDBT) { #region bool IsRootTranscation = false; Int32 PID = 0; try { VDS_ALO_POSOURCE_NO_MAIN_DBO ALOM = new VDS_ALO_POSOURCE_NO_MAIN_DBO(ref USEDB); //判斷是否有傳入Root Transcation IsRootTranscation = (RootDBT == null) ? true : false; #region 啟動交易或指定RootTranscation if (IsRootTranscation) { //獨立呼叫啟動Transcation Conn = USEDB.CreateConnection(); Conn.Open(); DBT = Conn.BeginTransaction(); } else { DBT = RootDBT; } #endregion PID = CreateMaster(htParams, DBT); if (PID != 0) { if (DetailData != null) CreateDetail(PID, DetailData, DBT); #region 交易成功 if (IsRootTranscation) { //獨立呼叫Transcation成立 DBT.Commit(); } #endregion } else { throw new Exception("新增0筆資料!"); } return PID; } catch (Exception ex) { #region 交易失敗 if (IsRootTranscation) { //獨立呼叫Transcation失敗 DBT.Rollback(); } #endregion throw GetNewException(ex); } finally { #region 判斷是否關閉交易連線 if (IsRootTranscation) { //獨立呼叫Transcation,關閉連線 if (Conn.State == ConnectionState.Connecting) { Conn.Close(); } } #endregion } #endregion }
/// <summary> /// 基本表單刪除BCO /// </summary> /// <param name="htParams">刪除變數</param> /// <param name="RootDBT">是否有主交易,無主交易輸入null</param> /// <returns>回傳影響筆數</returns> public bool DeleteMaster(Hashtable htParams, DbTransaction RootDBT ) { bool IsRootTranscation = false; bool bResult = false; try { VDS_ALO_POSOURCE_NO_MAIN_DBO ALOM = new VDS_ALO_POSOURCE_NO_MAIN_DBO(ref USEDB); //判斷是否有傳入Root Transcation IsRootTranscation = (RootDBT == null) ? true : false; #region 啟動交易或指定RootTranscation if (IsRootTranscation) { //獨立呼叫啟動Transcation Conn = USEDB.CreateConnection(); Conn.Open(); DBT = Conn.BeginTransaction(); } else { DBT = RootDBT; } #endregion ALOM.doDelete(htParams, DBT); #region 交易成功 if (IsRootTranscation) { //獨立呼叫Transcation成立 DBT.Commit(); } #endregion bResult = true; return bResult; } catch (Exception ex) { #region 交易失敗 if (IsRootTranscation) { //獨立呼叫Transcation失敗 DBT.Rollback(); } #endregion throw GetNewException(ex); } finally { #region 判斷是否關閉交易連線 if (IsRootTranscation) { //獨立呼叫Transcation,關閉連線 if (Conn.State == ConnectionState.Connecting) { Conn.Close(); } } #endregion } }