/// <summary> /// 繫結資料到控制項 /// </summary> /// <param name="vdb"></param> private void QueryData() { #region try { string SessionIDName_CAR = string.Format("{0}_{1}_CAR", PAGE_DT_01, PageTimeStamp.Value); TRNModel.VDS_TRN17_BCO BCO = new TRNModel.VDS_TRN17_BCO(ConnectionDB); DataTable dt_CAR = null; dt_CAR = BCO.QUERY_TRANS_CAR(GetQueryParams()); if (dt_CAR != null) dtCAR = dt_CAR.Copy(); bAfterQueryDataBinding = true; #region CAR #region original if (dt_CAR != null) { if (!dt_CAR.Columns.Contains("CHECKED"))//增加欄位 dt_CAR.Columns.Add("CHECKED"); if (!dt_CAR.Columns.Contains("ROWID"))//增加欄位 dt_CAR.Columns.Add("ROWID"); if (!dt_CAR.Columns.Contains("CODE"))//增加欄位 dt_CAR.Columns.Add("CODE"); if (!dt_CAR.Columns.Contains("ROWNUM"))//增加欄位 dt_CAR.Columns.Add("ROWNUM"); if (!dt_CAR.Columns.Contains("TRANS_STEP_SELECTED"))//增加欄位 dt_CAR.Columns.Add("TRANS_STEP_SELECTED"); } #endregion #region editing if (!dtCAR.Columns.Contains("CHECKED"))//增加欄位 dtCAR.Columns.Add("CHECKED"); if (!dtCAR.Columns.Contains("ROWID"))//增加欄位 dtCAR.Columns.Add("ROWID"); if (!dtCAR.Columns.Contains("CODE"))//增加欄位 dtCAR.Columns.Add("CODE"); if (!dtCAR.Columns.Contains("ROWNUM"))//增加欄位 dtCAR.Columns.Add("ROWNUM"); if (!dtCAR.Columns.Contains("TRANS_STEP_SELECTED"))//增加欄位 dtCAR.Columns.Add("TRANS_STEP_SELECTED"); #endregion #endregion gv_Car.DataBind(); if (dt_CAR == null || dt_CAR.Rows.Count <= 0) { if (CurrentPageMode != PageCurrentMode.Insert) { ErrorMsgLabel.Text = "查無資料"; } } else { Panel_CAR.Visible = true; if (CurrentPageMode == PageCurrentMode.Insert) { CurrentPageMode = PageCurrentMode.Edit; } else { CurrentPageMode = PageCurrentMode.Readonly; SetControlsByCurrentPageMode(); } #region hidden_RowID_MaxID_CAR.Value = dt_CAR == null ? "-1" : (dt_CAR.Rows.Count - 1).ToString();//記錄最大ROWID hidden_RowID_Selected_CAR.Value = "";//清空已選ROWID_CAR Session[SessionIDName_CAR] = dt_CAR; SetRowIDToDataTable(false, EditingGridview.CAR);//設定ROWID_CAR gv_Car.DataSource = dt_CAR; gv_Car.PageIndex = 0; gv_Car.DataBind(); gv_Car.SelectedIndex = -1; #endregion } bAfterQueryDataBinding = false; } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } #endregion }
}//btn_Edit_Click private DataTable MakeTempDataTable_CAR() { #region TRNModel.VDS_TRN17_BCO BCO = new TRNModel.VDS_TRN17_BCO(ConnectionDB); DataTable dtTemp = null; dtTemp = BCO.QUERY_TRANS_CAR_SCHEMA(); return dtTemp; #endregion }
}//btn_Save_Click protected void btn_Delete_Click(object sender, EventArgs e) { #region try { TRNModel.VDS_TRN17_BCO BCO = new TRNModel.VDS_TRN17_BCO(ConnectionDB); ArrayList ParameterList = new ArrayList(); if (dtCAR != null && dtCAR.Rows.Count > 0) { for (Int32 i = 0; i <= dtCAR.Rows.Count - 1; i++) { ParameterList.Clear(); ParameterList.Add(SLP_YearMonth1.Text.Trim()); ParameterList.Add(Session["UID"].ToString()); BCO.DEL_TRN_TRANS_CAR_ALL(ParameterList, null); } } CurrentPageMode = PageCurrentMode.Query; QueryData(); SetControlsByCurrentPageMode(); ErrorMsgLabel.Text = "刪除成功"; } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } #endregion }//btn_Delete_Click
}//btn_Add_Click protected void btn_Save_Click(object sender, EventArgs e) { #region try { #region SaveCurrentGridviewValue(); if (CheckDetailIsExisted()) { //if (CheckDetailIsDuplicated()) //{ #region Variables TRNModel.VDS_TRN17_BCO BCO = new TRNModel.VDS_TRN17_BCO(ConnectionDB); string strErrMsg = ""; string[] strAryTRANS_STEP_SELECTED = null; bool bResult = false; Int32 i32ID; ArrayList ParameterList = new ArrayList(); TRNModel.TRNCommon BCOCommon = new TRNModel.TRNCommon(); System.Data.Common.DbTransaction DBT = BCOCommon.OpenAndGetConnection(ConnectionDB).BeginTransaction(); #endregion if (CurrentPageMode == PageCurrentMode.Insert) { #region try { #region 新增 for (Int32 i = 0; i <= dtCAR.Rows.Count - 1; i++) { if (dtCAR.Rows[i].RowState != DataRowState.Deleted) { if (strErrMsg == "") { //TRN_TRANS_CAR_MAIN ParameterList.Clear(); ParameterList.Add(SLP_YearMonth1.Text); ParameterList.Add(dtCAR.Rows[i]["TRANS_NO"].ToString()); ParameterList.Add(dtCAR.Rows[i]["ST_ACCEPT_DATE"].ToString()); ParameterList.Add(dtCAR.Rows[i]["DRIVER_NAME"].ToString()); ParameterList.Add(dtCAR.Rows[i]["趟數"].ToString()); ParameterList.Add(dtCAR.Rows[i]["下站補貼"].ToString()); ParameterList.Add(dtCAR.Rows[i]["備註"].ToString()); ParameterList.Add(Session["UID"].ToString()); bResult = BCO.ADD_TRN_TRANS_CAR_MAIN(ParameterList, DBT, out i32ID, out strErrMsg); strAryTRANS_STEP_SELECTED = dtCAR.Rows[i]["TRANS_STEP_SELECTED"].ToString().Split(";".ToCharArray()); if (strAryTRANS_STEP_SELECTED != null && strAryTRANS_STEP_SELECTED.Length > 0) { for (Int32 j = 0; j <= strAryTRANS_STEP_SELECTED.GetUpperBound(0); j++) { if (strAryTRANS_STEP_SELECTED[j].ToString().Trim() != "") { //TRN_TRANS_CAR_DETL ParameterList.Clear(); ParameterList.Add(i32ID); ParameterList.Add(SLP_YearMonth1.Text); ParameterList.Add(dtCAR.Rows[i]["TRANS_NO"].ToString()); ParameterList.Add(dtCAR.Rows[i]["ST_ACCEPT_DATE"].ToString()); ParameterList.Add(dtCAR.Rows[i]["DRIVER_NAME"].ToString()); ParameterList.Add(strAryTRANS_STEP_SELECTED[j].ToString().Trim()); ParameterList.Add(Session["UID"].ToString()); bResult = BCO.ADD_TRN_TRANS_CAR_DETL(ParameterList, DBT, out strErrMsg); } } } } else { break; DBT.Rollback();//交易失敗 } } } #endregion DBT.Commit();//交易成功 } catch (Exception ex) { DBT.Rollback();//交易失敗 throw ex; } if (bResult && strErrMsg == "") { CurrentPageMode = PageCurrentMode.Readonly; SetControlsByCurrentPageMode(); //bExecutedSuccessfully = true; //QueryData(); //bExecutedSuccessfully = false; //改寫的原因:隱藏控制項會不受控制地出現 Response.Redirect("TRN171.aspx?Code=TRN17&SHOWMSG=新增成功&CALMONTH=" + SLP_YearMonth1.Text + "&freshid=" + Guid.NewGuid().ToString()); ErrorMsgLabel.Text = "新增成功"; } else { ErrorMsgLabel.Text = strErrMsg; } #endregion } else if (CurrentPageMode == PageCurrentMode.Edit) { #region try { bResult = true; #region 刪除 DataTable dtDeleted_CAR = dtCAR.GetChanges(DataRowState.Deleted); ; if (dtDeleted_CAR != null) { //DETL for (Int32 j = 0; j <= dtDeleted_CAR.Rows.Count - 1; j++) { if (bResult) { //TRN_TRANS_CAR_DETL ParameterList.Clear(); ParameterList.Add(SLP_YearMonth1.Text); ParameterList.Add(dtDeleted_CAR.Rows[j]["TRANS_NO", DataRowVersion.Original].ToString()); ParameterList.Add(dtDeleted_CAR.Rows[j]["ST_ACCEPT_DATE", DataRowVersion.Original].ToString()); ParameterList.Add(dtDeleted_CAR.Rows[j]["DRIVER_NAME", DataRowVersion.Original].ToString()); ParameterList.Add(Session["UID"].ToString()); BCO.DEL_TRN_TRANS_CAR_DETL(ParameterList, DBT); } else { break; DBT.Rollback();//交易失敗 } } //MAIN for (Int32 j = 0; j <= dtDeleted_CAR.Rows.Count - 1; j++) { if (bResult) { ParameterList.Clear(); ParameterList.Add(SLP_YearMonth1.Text); ParameterList.Add(dtDeleted_CAR.Rows[j]["TRANS_NO", DataRowVersion.Original].ToString()); ParameterList.Add(dtDeleted_CAR.Rows[j]["ST_ACCEPT_DATE", DataRowVersion.Original].ToString()); ParameterList.Add(dtDeleted_CAR.Rows[j]["DRIVER_NAME", DataRowVersion.Original].ToString()); ParameterList.Add(Session["UID"].ToString()); BCO.DEL_TRN_TRANS_CAR_MAIN(ParameterList, DBT); } else { break; DBT.Rollback();//交易失敗 } } } #endregion #region 修改 for (Int32 i = 0; i <= dtCAR.Rows.Count - 1; i++) { if (dtCAR.Rows[i].RowState != DataRowState.Deleted) { if (strErrMsg == "") { //TRN_TRANS_CAR_MAIN ParameterList.Clear(); ParameterList.Add(SLP_YearMonth1.Text); ParameterList.Add(dtCAR.Rows[i]["TRANS_NO"].ToString()); ParameterList.Add(dtCAR.Rows[i]["ST_ACCEPT_DATE"].ToString()); ParameterList.Add(dtCAR.Rows[i]["DRIVER_NAME"].ToString()); ParameterList.Add(dtCAR.Rows[i]["趟數"].ToString()); ParameterList.Add(dtCAR.Rows[i]["下站補貼"].ToString()); ParameterList.Add(dtCAR.Rows[i]["備註"].ToString()); ParameterList.Add(Session["UID"].ToString()); bResult = BCO.ADD_TRN_TRANS_CAR_MAIN(ParameterList, DBT, out i32ID, out strErrMsg); strAryTRANS_STEP_SELECTED = dtCAR.Rows[i]["TRANS_STEP_SELECTED"].ToString().Split(";".ToCharArray()); if (strAryTRANS_STEP_SELECTED != null && strAryTRANS_STEP_SELECTED.Length > 0) { for (Int32 j = 0; j <= strAryTRANS_STEP_SELECTED.GetUpperBound(0); j++) { if (strAryTRANS_STEP_SELECTED[j].ToString().Trim() != "") { //TRN_TRANS_CAR_DETL ParameterList.Clear(); ParameterList.Add(i32ID); ParameterList.Add(SLP_YearMonth1.Text); ParameterList.Add(dtCAR.Rows[i]["TRANS_NO"].ToString()); ParameterList.Add(dtCAR.Rows[i]["ST_ACCEPT_DATE"].ToString()); ParameterList.Add(dtCAR.Rows[i]["DRIVER_NAME"].ToString()); ParameterList.Add(strAryTRANS_STEP_SELECTED[j].ToString().Trim()); ParameterList.Add(Session["UID"].ToString()); bResult = BCO.ADD_TRN_TRANS_CAR_DETL(ParameterList, DBT, out strErrMsg); } } } } else { break; DBT.Rollback();//交易失敗 } } } #endregion DBT.Commit();//交易成功 } catch (Exception ex) { DBT.Rollback();//交易失敗 throw ex; } if (bResult && strErrMsg == "") { CurrentPageMode = PageCurrentMode.Readonly; SetControlsByCurrentPageMode(); //bExecutedSuccessfully = true; //QueryData(); //bExecutedSuccessfully = false; //改寫的原因:隱藏控制項會不受控制地出現 Response.Redirect("TRN171.aspx?Code=TRN17&SHOWMSG=更新成功&CALMONTH=" + SLP_YearMonth1.Text + "&freshid=" + Guid.NewGuid().ToString()); ErrorMsgLabel.Text = "更新成功"; } else { ErrorMsgLabel.Text = strErrMsg; } #endregion } //} } #endregion } catch (Exception ex) { //2011/04/19 added gv_Car.DataSource = dtCAR; gv_Car.DataBind(); ErrorMsgLabel.Text = ex.Message; UpdatePanel_ALL.Update(); } #endregion }//btn_Save_Click
private DataTable GetTransferPost() { #region try { TRNModel.VDS_TRN17_BCO BCO = new TRNModel.VDS_TRN17_BCO(ConnectionDB); return BCO.QUERY_TRANS_POST(); } catch (Exception ex) { throw ex; } #endregion }
private DataTable GetTransCarSchema() { #region try { TRNModel.VDS_TRN17_BCO BCO = new TRNModel.VDS_TRN17_BCO(ConnectionDB); return BCO.QUERY_TRANS_CAR_SCHEMA(); } catch (Exception ex) { throw ex; } #endregion }