public DataTable QueryDetail(ArrayList ParameterList) { try { VAM15_DBO DBO = new VAM15_DBO(ref USEDB); DataTable dt = DBO.QueryDetail(ParameterList); return dt; } catch (Exception ex) { throw ex; } }
public bool SaveData(DataTable dt, ArrayList ParameterList) { bool bResult = false; int ID;//接回傳的ID用的,不過目前沒有需要用到,先預留著. ArrayList Para = new ArrayList(); try { string strPROMOTE_ID = ParameterList[0].ToString(); string strUID = ParameterList[1].ToString(); string strOLD_UPDATEUID = ParameterList[2].ToString(); string strOLD_UPDATEDATE = ParameterList[3].ToString(); VAM15_DBO DBO = new VAM15_DBO(ref USEDB); Conn = USEDB.CreateConnection(); Conn.Open(); DBT = Conn.BeginTransaction(); string strNow = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); //先把整張檔期有異動的資料刪掉再從新Insert //因為如果用一筆del完做一筆insert的方式更新,使用者若是把不同ID間的PK(檔期,廠商,稅別)資料對調,在順向更新時則會發生PK重複的問題. //所以要先整批做del完 再做insert for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i]["CHANGE"].ToString().Trim() == "1") { if (dt.Rows[i]["CREATEDATE"].ToString().Trim() != "") { //先刪除異動過的資料 Para.Clear(); Para.Add(dt.Rows[i]["ID"].ToString().Trim()); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(strUID); Para.Add(strNow); Para.Add(strOLD_UPDATEUID); //OLD_UPDATEUID Para.Add(strOLD_UPDATEDATE); //OLD_UPDATEDATE Para.Add("0"); DBO.UpdateData(Para, DBT); } } } //重新INSERT for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i]["CHANGE"].ToString().Trim() == "1") { if (( (dt.Rows[i]["CREATEDATE"].ToString().Trim() == "") && (dt.Rows[i]["VENDOR"].ToString().Trim() != "") && (dt.Rows[i]["ENABLE"].ToString().Trim() == "1") //無CREATEDATE值,ENABLE=1為新值 ) || ( (dt.Rows[i]["CREATEDATE"].ToString().Trim() != "") && //原本已存在DB的資料 (dt.Rows[i]["VENDOR"].ToString().Trim() != "") && (dt.Rows[i]["ENABLE"].ToString().Trim() == "1") ) ) { Para.Clear(); Para.Add(strPROMOTE_ID); Para.Add(dt.Rows[i]["VENDOR"].ToString()); Para.Add(dt.Rows[i]["TAX_TYPE"].ToString()); if (dt.Rows[i]["TAX_TYPE"].ToString() == "0") { Para.Add(dt.Rows[i]["NO_TAX_AMT"].ToString()); //TAX_REMAIN_AMT Para.Add("0"); //UTAX_REMAIN_AMT Para.Add(dt.Rows[i]["NO_TAX_AMT"].ToString()); //TAX_AMT Para.Add("0"); //UTAX_AMT } else { Para.Add("0"); Para.Add(dt.Rows[i]["NO_TAX_AMT"].ToString()); Para.Add("0"); Para.Add(dt.Rows[i]["NO_TAX_AMT"].ToString()); } Para.Add(dt.Rows[i]["TAX"].ToString()); if (dt.Rows[i]["CREATEDATE"].ToString().Trim() != "") { Para.Add(dt.Rows[i]["CREATEUID"].ToString().Trim()); Para.Add(dt.Rows[i]["CREATEDATE"].ToString().Trim()); } else { Para.Add(strUID); Para.Add(strNow); } Para.Add(strUID); Para.Add(strNow); DBO.InsertData(Para, DBT, out ID); } } } //將同一個PROMOTE_ID 更新為同一個更新時間 Para.Clear(); Para.Add(""); Para.Add(strPROMOTE_ID); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(strUID); Para.Add(strNow); Para.Add(""); Para.Add(""); Para.Add("1"); DBO.UpdateData(Para, DBT); DBT.Commit(); bResult = true; } catch (Exception ex) { if (DBT != null) DBT.Rollback(); throw ex; } finally { //獨立呼叫Transcation,關閉連線 if (Conn.State == ConnectionState.Connecting) Conn.Close(); } return bResult; }
public DataTable GetTaxRate() { try { VAM15_DBO DBO = new VAM15_DBO(ref USEDB); DataTable dt = DBO.GetTaxRate(); return dt; } catch (Exception ex) { throw ex; } }
public bool DelData(ArrayList ParameterList) { bool bResult = false; ArrayList Para = new ArrayList(); try { VAM15_DBO DBO = new VAM15_DBO(ref USEDB); Conn = USEDB.CreateConnection(); Conn.Open(); DBT = Conn.BeginTransaction(); string strPROMOTE_ID = ParameterList[0].ToString(); string strUPDATEUID = ParameterList[1].ToString(); string strUPDATEDATE = ParameterList[2].ToString(); string strOLD_UPDATEUID = ParameterList[3].ToString(); string strOLD_UPDATEDATE = ParameterList[4].ToString(); Para.Clear(); Para.Add(""); Para.Add(strPROMOTE_ID); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(""); Para.Add(strUPDATEUID); Para.Add(strUPDATEDATE); Para.Add(strOLD_UPDATEUID); //OLD_UPDATEUID Para.Add(strOLD_UPDATEDATE); //OLD_UPDATEDATE Para.Add("0"); DBO.UpdateData(Para, DBT); DBT.Commit(); bResult = true; } catch (Exception ex) { if (DBT != null) DBT.Rollback(); throw ex; } finally { //獨立呼叫Transcation,關閉連線 if (Conn.State == ConnectionState.Connecting) Conn.Close(); } return bResult; }