/// <summary> /// BUTTON [儲存]鈕 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void but_Save_Click(object sender, EventArgs e) { try { #region 先判斷GridView有無資料 if (this.gv_Result.Rows.Count == 0) { this.ErrorMsgLabel.Text = "請先按[查詢]鈕"; return; } #endregion #region 將GridView的資訊寫入TempTable bool b_IsRightExecute = false; Set_PageValue_To_TempTable("Modify" ,out b_IsRightExecute); #endregion #region 如果將GridView的資訊寫入TempTable有誤,則 return if (b_IsRightExecute == false) { return; } #endregion #region 整理要異動資料庫的資料 #region 至資料庫取得Table Schema BCO.CAACommon CAAComm = new BCO.CAACommon(); ParameterList.Clear(); ParameterList.Add(CAAComm.GetValueSetParameter(Session["UID"].ToString(), "string", false));//V_LOG_UPDATEUID BCO.ProcessDiscRecord bco = new BCO.ProcessDiscRecord(ConntionDB); DataTable dt_Update_Disc = bco.GET_VDS_CAA_DISC_MAIN_SCHEMA_3(ParameterList); #endregion #region 整理需要異動資料庫的資料 ParameterList.Clear(); ParameterList.Add(CAAComm.GetValueSetParameter(Session["UID"].ToString(), "string", false));//V_LOG_UPDATEUID string s_Now = DateTime.Now.ToString(); foreach (DataRow drRow in dt_Result.Rows) { #region 先判斷該筆資料是否需要異動資料庫 bool b_IsModify = false; if (drRow["CHECK_FLG"].ToString() != drRow["CHECK_FLG", DataRowVersion.Original].ToString()) { b_IsModify = true; } if (drRow["PERIOD_MONTH"].ToString() != drRow["PERIOD_MONTH", DataRowVersion.Original].ToString()) { b_IsModify = true; } #endregion #region 將需要異動資料庫的資料寫入TempTable if (b_IsModify == true) { DataRow dr_Update_Disc = dt_Update_Disc.NewRow(); //New Data dr_Update_Disc["NEW_UPDATEDATE"] = CAAComm.GetValueSetParameter(s_Now, "datetime", false); dr_Update_Disc["NEW_UPDATEUID"] = CAAComm.GetValueSetParameter(Session["UID"].ToString(), "string", false); dr_Update_Disc["NEW_CHECK_FLG"] = drRow["CHECK_FLG"]; dr_Update_Disc["NEW_PERIOD_MONTH"] = drRow["PERIOD_MONTH"]; //Old Data dr_Update_Disc["ID"] = drRow["ID", DataRowVersion.Original]; dr_Update_Disc["CODE"] = drRow["CODE", DataRowVersion.Original]; dr_Update_Disc["DISC_NO"] = drRow["DISC_NO", DataRowVersion.Original]; dr_Update_Disc["DISC_DATE"] = drRow["DISC_DATE", DataRowVersion.Original]; dr_Update_Disc["CHG_DISC_DATE"] = drRow["CHG_DISC_DATE", DataRowVersion.Original]; dr_Update_Disc["ACT_DISC_NO"] = drRow["ACT_DISC_NO", DataRowVersion.Original]; dr_Update_Disc["DISC_FORM"] = drRow["DISC_FORM", DataRowVersion.Original]; dr_Update_Disc["DISC_SOURCE"] = drRow["DISC_SOURCE", DataRowVersion.Original]; dr_Update_Disc["STORE_ID"] = drRow["STORE_ID", DataRowVersion.Original]; dr_Update_Disc["DISC_TYPE"] = drRow["DISC_TYPE", DataRowVersion.Original]; dr_Update_Disc["ROOT_NO"] = drRow["ROOT_NO", DataRowVersion.Original]; dr_Update_Disc["TAX_TYPE"] = drRow["TAX_TYPE", DataRowVersion.Original]; dr_Update_Disc["PROOF_FLG"] = drRow["PROOF_FLG", DataRowVersion.Original]; dr_Update_Disc["PROOF_DATE"] = drRow["PROOF_DATE", DataRowVersion.Original]; dr_Update_Disc["REPROOF_FLG"] = drRow["REPROOF_FLG", DataRowVersion.Original]; dr_Update_Disc["REPROOF_NO"] = drRow["REPROOF_NO", DataRowVersion.Original]; dr_Update_Disc["CANCEL_FLG"] = drRow["CANCEL_FLG", DataRowVersion.Original]; dr_Update_Disc["CANCEL_DATE"] = drRow["CANCEL_DATE", DataRowVersion.Original]; dr_Update_Disc["REMARK_FLG"] = drRow["REMARK_FLG", DataRowVersion.Original]; dr_Update_Disc["PERIOD_FLG"] = drRow["PERIOD_FLG", DataRowVersion.Original]; dr_Update_Disc["PERIOD_DATE"] = drRow["PERIOD_DATE", DataRowVersion.Original]; dr_Update_Disc["CHECK_FLG"] = drRow["CHECK_FLG", DataRowVersion.Original]; dr_Update_Disc["TEMPORAL_FLG"] = drRow["TEMPORAL_FLG", DataRowVersion.Original]; dr_Update_Disc["TEMPORAL_DATE"] = drRow["TEMPORAL_DATE", DataRowVersion.Original]; dr_Update_Disc["DISC_UAMT"] = drRow["DISC_UAMT", DataRowVersion.Original]; dr_Update_Disc["DISC_TAX"] = drRow["DISC_TAX", DataRowVersion.Original]; dr_Update_Disc["DISC_AMT"] = drRow["DISC_AMT", DataRowVersion.Original]; dr_Update_Disc["CLOSE_MONTH"] = drRow["CLOSE_MONTH", DataRowVersion.Original]; dr_Update_Disc["PERIOD_MONTH"] = drRow["PERIOD_MONTH", DataRowVersion.Original]; dr_Update_Disc["MEMO"] = drRow["MEMO", DataRowVersion.Original]; dr_Update_Disc["CREATEDATE"] = drRow["CREATEDATE", DataRowVersion.Original]; dr_Update_Disc["CREATEUID"] = drRow["CREATEUID", DataRowVersion.Original]; dr_Update_Disc["UPDATEDATE"] = drRow["UPDATEDATE", DataRowVersion.Original]; dr_Update_Disc["UPDATEUID"] = drRow["UPDATEUID", DataRowVersion.Original]; dr_Update_Disc["DISC_REMAIN_AMT"] = drRow["DISC_REMAIN_AMT", DataRowVersion.Original]; dr_Update_Disc["ENABLE"] = drRow["ENABLE", DataRowVersion.Original]; dr_Update_Disc["WASH_STATUS"] = drRow["WASH_STATUS", DataRowVersion.Original]; dr_Update_Disc["RFNO"] = drRow["RFNO", DataRowVersion.Original]; dr_Update_Disc["DETL_FLG"] = drRow["DETL_FLG", DataRowVersion.Original]; dr_Update_Disc["VOUCH_DOC"] = drRow["VOUCH_DOC", DataRowVersion.Original]; dt_Update_Disc.Rows.Add(dr_Update_Disc); } #endregion } #endregion #endregion #region 連結資料庫 if (dt_Update_Disc.Rows.Count > 0) { bco.SavePeriodRecord(null, dt_Update_Disc); this.dt_Result = null; this.gv_Result.DataSource = dt_Result; this.gv_Result.DataBind(); this.ErrorMsgLabel.Text = "[儲存]成功"; this.panSTORE_GROUP.Visible = false; this.slp_PERIOD_MONTH_BATCH.Text = ""; } else { this.ErrorMsgLabel.Text = "無[儲存]的資料"; } #endregion } catch (Exception ex) { WaringLogProcess(ex.Message); this.ErrorMsgLabel.Text = ex.Message; } }
/// <summary> /// 取得 GridView 的資料 /// </summary> private void Get_GridView_Data(string btnType) { #region 檢查條件 BCO.CAACommon CAAComm = new BCO.CAACommon(); ArrayList arl_Check_Condition = Check_Condition("BUTTON [查詢]鈕"); #region 如果檢查有誤,則Return if (arl_Check_Condition[1].ToString() != string.Empty) { #region 錯誤訊息 this.ErrorMsgLabel.Text = arl_Check_Condition[1].ToString(); #endregion #region Focus欄位 if (arl_Check_Condition[0].ToString() != string.Empty) { string s_ScriptManager_Script = CAAComm.ToMakeUp_SetFocus_Script(arl_Check_Condition[0].ToString(), true); ScriptManager.RegisterStartupScript(this.up_Msg, typeof(UpdatePanel), "CAA031", s_ScriptManager_Script, true); } #endregion return; } #endregion #endregion try { #region 傳入參數 ParameterList.Clear(); ParameterList.Add(CAAComm.GetValueSetParameter(this.slp_PERIOD_MONTH_B.Text, "string", false));//[申報起迄年月]起 ParameterList.Add(CAAComm.GetValueSetParameter(this.slp_PERIOD_MONTH_E.Text, "string", false));//[申報起迄年月]迄 ParameterList.Add(CAAComm.GetValueSetParameter(this.slp_STORE_ID.Text, "string", false));//[店號] ParameterList.Add(CAAComm.GetValueSetParameter(this.slp_CHG_DISC_DATE.StartDate, "date", false));//[異動折讓日期]起 ParameterList.Add(CAAComm.GetValueSetParameter(this.slp_CHG_DISC_DATE.EndDate, "date", false));//[異動折讓日期]迄 ParameterList.Add(CAAComm.GetValueSetParameter(this.txt_VOUCH_RFNO.Text, "string", false));//[統一編號] 20110321 Rika Insert ParameterList.Add(CAAComm.GetValueSetParameter(this.txt_PAY_RFNO.Text, "string", false));//[結帳統編] ParameterList.Add(CAAComm.GetValueSetParameter((this.rad_CHECK_FLG.SelectedValue == "ALL") ? string.Empty : this.rad_CHECK_FLG.SelectedValue, "int", false));//[勾選狀態] ParameterList.Add(CAAComm.GetValueSetParameter((this.rad_PERIOD_FLG.SelectedValue == "ALL") ? string.Empty : this.rad_PERIOD_FLG.SelectedValue, "int", false));//[申報狀態] ParameterList.Add(CAAComm.GetValueSetParameter(this.slp_AC_UID.Text, "string", false));//[帳務人員] ParameterList.Add(CAAComm.GetValueSetParameter(this.slp_SAL_ID.Text, "string", false));//[營業人員] ParameterList.Add(CAAComm.GetValueSetParameter(Session["UID"].ToString(), "string", false));//V_LOG_UPDATEUID #endregion #region 連結資料庫 BCO.ProcessDiscRecord bco = new BCO.ProcessDiscRecord(ConntionDB); dt_Result = bco.QueryPeriodByFind(ParameterList); #endregion #region 檢查回傳資料 if (dt_Result.Rows.Count == 0) { this.ErrorMsgLabel.Text = "查無資料"; return; } #endregion if (btnType == "Query") { #region 資料與GridView繫結 this.gv_Result.DataSource = dt_Result; this.gv_Result.PageSize = 20;//設定一頁20筆資料 this.gv_Result.PageIndex = 0; this.gv_Result.DataBind(); #endregion this.panSTORE_GROUP.Visible = true; this.slp_PERIOD_MONTH_BATCH.Text = ""; } else if (btnType == "Export") { #region 匯出EXCEL表 Export_Excel(dt_Result); #endregion } } catch (Exception ex) { WaringLogProcess(ex.Message); this.ErrorMsgLabel.Text = ex.Message.Split(Environment.NewLine.Replace(Environment.NewLine, "~").ToCharArray())[0]; //直接取第一個 } }