public DataTable QuerySwitch(QueryType QT, ArrayList ParameterList ) { VDS_ALO_STOREASSIGN_MAIN_DBO ALOM = new VDS_ALO_STOREASSIGN_MAIN_DBO(ref USEDB); DataTable Dt; try { switch (QT) { case QueryType.ALL: Dt = ALOM.doQueryAll(); break; case QueryType.CODE: Dt = ALOM.doQueryByCode(ParameterList); break; case QueryType.ID: Dt = ALOM.doQueryByID(ParameterList); break; case QueryType.Custom: Dt = ALOM.doQueryByFind(ParameterList); break; default: Dt = new DataTable(); break; } return Dt; } catch (Exception ex) { throw GetNewException(ex); } }
public DataTable QueryMasterByALL() { try { VDS_ALO_STOREASSIGN_MAIN_DBO ALOM = new VDS_ALO_STOREASSIGN_MAIN_DBO(ref USEDB); return ALOM.doQueryAll(); } catch (Exception ex) { throw GetNewException(ex); } }
public DataTable QueryMasterByFind2(ArrayList ParameterList) { try { VDS_ALO_STOREASSIGN_MAIN_DBO ALOM = new VDS_ALO_STOREASSIGN_MAIN_DBO(ref USEDB); return ALOM.doQueryByFind2(ParameterList); } catch (Exception ex) { throw GetNewException(ex); } }
/// <summary> /// 基本表單更新BCO /// </summary> /// <param name="ParameterList">輸入變數</param> /// <param name="RootDBT">是否有主交易,無主交易輸入null</param> /// <returns>回傳更新成功與否</returns> public bool UpdateMasterAndDetail(ArrayList ParameterList, DataTable DetailData,string strUIDForLog,DataTable dtForDetailDeleted, DbTransaction RootDBT) { #region bool IsRootTranscation = false; bool bResult = false; try { if (DetailData != null) { VDS_ALO_STOREASSIGN_MAIN_DBO ALOM = new VDS_ALO_STOREASSIGN_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(ParameterList, DBT); if (bResult) { bResult = UpdateDetail(DetailData, strUIDForLog,dtForDetailDeleted, DBT); #region 交易成功 if (IsRootTranscation) { //獨立呼叫Transcation成立 DBT.Commit(); } #endregion } else { throw new Exception("新增0筆資料!"); } } else { bResult = true;//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 }
/// <summary> /// 基本表單新增BCO /// </summary> /// <param name="ParameterList">輸入變數</param> /// <param name="RootDBT">是否有主交易,無主交易輸入null</param> /// <returns>回傳新增之ID</returns> public int CreateMasterAndDetail(ArrayList ParameterList, DataTable DetailData, DbTransaction RootDBT) { #region bool IsRootTranscation = false; Int32 PID = 0; try { VDS_ALO_STOREASSIGN_MAIN_DBO ALOM = new VDS_ALO_STOREASSIGN_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(ParameterList, DBT); if (PID != 0) { 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="ParameterList">刪除變數</param> /// <param name="RootDBT">是否有主交易,無主交易輸入null</param> /// <returns>回傳影響筆數</returns> public bool DeleteMaster(ArrayList ParameterList, DbTransaction RootDBT ) { bool IsRootTranscation = false; bool bResult = false; try { VDS_ALO_STOREASSIGN_MAIN_DBO ALOM = new VDS_ALO_STOREASSIGN_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(ParameterList, 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 } }
/// <summary> /// /// </summary> /// <param name="htParams"></param> /// <returns></returns> public bool CheckStoreAssignItemInclude(Hashtable htParams) { try { VDS_ALO_STOREASSIGN_MAIN_DBO ALOM = new VDS_ALO_STOREASSIGN_MAIN_DBO(ref USEDB); //1) 設定[@驗證結果]=否; bool bResult = false; DataTable dt = ALOM.doGetStoreAssignForCheck(htParams); //2) 根據[@通路]、[@門市],檢查是否已設定門市指定商品相關資訊,取得查詢資料集[@C_1]下: //select count(*), sm.ROOT_NO, sm.PMA, sm.PATTERN_NO, sm.ITEM // from sm,sd // where sm.Enable=1 and sm.id =sd.pid // and sm.chan_no = [@通路] and sm.store =[@門市] //[@C_1]檢查結果為無資料 => 可新增任何品項,停止檢查流程,回傳[@驗證結果]=是 if (dt == null || dt.Rows.Count == 0) { bResult = true; } else { //3) [@C_1]檢查結果有資料,進行下列檢查。 // a) 根據[@品號],由商品主檔[i]取得分類資訊[@C_Item]如下: // select ROOT_NO, PMA, Pattern_no,ITEM // from VDS_ITM_ITEM // where Enable=1 and ITEM=[@品號] DataTable dt2 = ALOM.doGetItemDataForCheck(htParams); if (dt2 != null && dt2.Rows.Count > 0) { for (Int32 i = 0; i <= dt.Rows.Count - 1; i++) { if (bResult) break; // b) 檢查[@C_1],依序執行檢查條件,當下列任一條件符合時,設定[@驗證結果]=是,停止檢查流程 for (Int32 k = 0; k <= dt2.Rows.Count - 1; k++) { if (dt.Rows[i]["item"].ToString().Trim() == dt2.Rows[k]["item"].ToString().Trim()) { // # [@品號]資料存在於[門市指定商品設定資訊]時: // 存在 [@C_1].ITEM= [@C_Item].ITEM之資料 bResult = true; break; } else if ((dt.Rows[i]["pattern"].ToString().Trim() == dt2.Rows[k]["pattern_no"].ToString().Trim()) && dt.Rows[i]["item"].ToString().Trim() == "") { // # [@品號]所屬之{Pattern分類}存在於[門市指定商品設定資訊]時: // 存在 [@C_1].PATTERN_NO =[@C_Item].PATTERN_NO and [@C_1].ITEM為空值 之資料 bResult = true; break; } else if ((dt.Rows[i]["root_no"].ToString().Trim() == dt2.Rows[k]["root_no"].ToString().Trim()) && (dt.Rows[i]["pma"].ToString().Trim() == dt2.Rows[k]["pma"].ToString().Trim()) && dt.Rows[i]["pattern"].ToString().Trim() == "" && dt.Rows[i]["item"].ToString().Trim() == "") { // # [@品號]所屬之{群分類+大分類}存在於[門市指定商品設定資訊]時: // 存在 [@C_1].ROOT_NO =[@C_Item].ROOT_NO // and [@C_1].PMA =[@C_Item].PMA // and [@C_1].PATTERN_NO 為空值 // and [@C_1].ITEM 為空值 之資料 bResult = true; break; } } } } } return bResult; } catch (Exception ex) { throw GetNewException(ex); } }