protected void btn_Save_Click(object sender, EventArgs e) { #region Int32 iResult = 0; try { if (dtMultiSaveClassAndItem.Rows.Count > 0) { Hashtable htTemp = new Hashtable(); Hashtable htParams = new Hashtable(); htTemp.Clear(); htTemp.Add("ChanNo", SLP_StoreChain1.Text.Trim()); htTemp.Add("Store", SLP_Store1.Text.Trim()); htTemp.Add("StartDate", SLP_SLPDate2.Text.Trim()); htTemp.Add("EndDate", SLP_SLPDate3.Text.Trim()); if (CheckSpecTypeAndValue() && CheckDetailDataIsNotNull() && CheckPATTERNSPECCanAdd(htTemp) ) { #region DataTable dtForUpdate = dtDetailData;//.GetChanges(DataRowState.Added); ALOModel.MaintainPatternSpec BCO = new ALOModel.MaintainPatternSpec(ConnectionDB); string strCode = ""; strErrMsgAfterChecked = "";//清空暫存錯誤訊息 for (Int32 i = 0; i <= dtMultiSaveClassAndItem.Rows.Count - 1; i++) { #region Master htTemp.Clear(); htTemp.Add("ChanNo", SLP_StoreChain1.Text.Trim()); htTemp.Add("Store", SLP_Store1.Text.Trim()); htTemp.Add("ROOT_NO", dtMultiSaveClassAndItem.Rows[i]["ROOT_NO"].ToString().Trim()); htTemp.Add("PMA", dtMultiSaveClassAndItem.Rows[i]["PMA"].ToString().Trim()); if (dtMultiSaveClassAndItem.Rows[i]["PATTERN"].ToString().Trim() == "") { htTemp.Add("PATTERN_NO", null); } else { htTemp.Add("PATTERN_NO", dtMultiSaveClassAndItem.Rows[i]["PATTERN"].ToString().Trim()); } if (CheckPATTERNSPECExist(htTemp)) { strCode = string.Format("{0}_{1}_{2}_{3}_{4}", SLP_StoreChain1.Text.Trim(), SLP_Store1.Text.Trim(), dtMultiSaveClassAndItem.Rows[i]["ROOT_NO"].ToString().Trim(), dtMultiSaveClassAndItem.Rows[i]["PMA"].ToString().Trim(), dtMultiSaveClassAndItem.Rows[i]["PATTERN"].ToString().Trim()); htParams.Clear(); htParams.Add("CODE", strCode); htParams.Add("UserID", Session["UID"].ToString()); htParams.Add("ChanNO", SLP_StoreChain1.Text.Trim()); htParams.Add("STORE", SLP_Store1.Text.Trim()); htParams.Add("ROOT_NO", dtMultiSaveClassAndItem.Rows[i]["ROOT_NO"].ToString().Trim()); htParams.Add("PMA", dtMultiSaveClassAndItem.Rows[i]["PMA"].ToString().Trim()); htParams.Add("PATTERN_NO", dtMultiSaveClassAndItem.Rows[i]["PATTERN"].ToString().Trim()); htParams.Add("SPEC_TYPE", getSpecTypeChecked()); htParams.Add("SPEC_QTY", SLP_Number1.Text.Trim()); htParams.Add("S_START_DATE", SLP_SLPDate2.Text.Trim()); htParams.Add("S_END_DATE", SLP_SLPDate3.Text.Trim()); htParams.Add("REASON", strReason.Trim()); iResult = BCO.CreateMasterAndDetail(htParams, dtForUpdate, null); } #endregion } if (strErrMsgAfterChecked != "") { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ClientScript", string.Format("alert('{0}');", strErrMsgAfterChecked), true); } if (iResult == 0) { throw new Exception("新增0筆資料!"); } else { if (dtForUpdate != null) dtForUpdate.AcceptChanges(); dtDetailData = dtForUpdate; dtForDetailDeleted.Clear(); ScriptManager.RegisterStartupScript(UpdatePanel2, this.GetType(), "ClientScript", string.Format("alert('新增完成');location.replace('ALO081.aspx?Code=ALO08&ChanNo={0}&Store={1}');", SLP_StoreChain1.Text, SLP_Store1.Text), true); } #endregion } } else { ScriptManager.RegisterStartupScript(UpdatePanel2, this.GetType(), "ClientScript", "alert('請先加入商品');", true); } } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } #endregion }
protected void btn_Save_Click(object sender, EventArgs e) { #region if (CurrentPageMode == PageCurrentMode.Edit) { #region bool bResult = false; try { if (CheckSpecTypeAndValue() && CheckDetailDataIsNotNull()) { #region 取得畫面元件的值 DateTime processtime = DateTime.Now; #endregion #region 取得更新前舊值 if (dtForMaster == null || dtForMaster.Rows.Count == 0) { throw new Exception("抓取不到舊值,更新失敗!"); } #endregion DataTable dtForUpdate = dtDetailData.GetChanges(); DataTable dtMaster = dtForMaster; string strUID = Session["UID"].ToString(); #region Master htParams.Clear(); for (Int32 i = 0; i <= dtMaster.Rows.Count - 1; i++) { if (dtMaster.Rows[i].RowState != DataRowState.Deleted) { htParams.Add("ID", dtMaster.Rows[i]["ID"]); htParams.Add("CODE", dtMaster.Rows[i]["CODE"]); htParams.Add("CREATEDATE", dtMaster.Rows[i]["CREATEDATE"]); htParams.Add("CREATEUID", dtMaster.Rows[i]["CREATEUID"]); htParams.Add("UPDATEDATE", dtMaster.Rows[i]["UPDATEDATE"]); htParams.Add("UPDATEUID", dtMaster.Rows[i]["UPDATEUID"]); htParams.Add("ENABLE", dtMaster.Rows[i]["ENABLE"]); htParams.Add("ChanN0", dtMaster.Rows[i]["CHAN_NO"]); htParams.Add("STORE", dtMaster.Rows[i]["STORE"]); htParams.Add("SPEC_TYPE", dtMaster.Rows[i]["SPEC_TYPE"]); htParams.Add("SPEC_QTY", dtMaster.Rows[i]["SPEC_QTY"]); htParams.Add("S_START_DATE", dtMaster.Rows[i]["S_START_DATE"]); htParams.Add("S_END_DATE", dtMaster.Rows[i]["S_END_DATE"]); htParams.Add("REASON", dtMaster.Rows[i]["REASON"]); htParams.Add("ROOT_NO", dtMaster.Rows[i]["ROOT_NO"]); htParams.Add("PMA", dtMaster.Rows[i]["PMA"]); htParams.Add("PATTERN_NO", dtMaster.Rows[i]["PATTERN_NO"]); //新的資料 htParams.Add("NEW_UPDATEDATE", processtime); htParams.Add("NEW_UPDATEUID", strUID); htParams.Add("NEW_SPEC_TYPE", getSpecTypeChecked()); htParams.Add("NEW_SPEC_QTY", SLP_Number1.Text.Trim()); htParams.Add("NEW_S_START_DATE", SLP_SLPDate2.Text.Trim()); htParams.Add("NEW_S_END_DATE", SLP_SLPDate3.Text.Trim()); htParams.Add("NEW_REASON", strReason.Trim()); break; } } htParams.Add("PIDForLog", dtMaster.Rows[0]["ID"]); htParams.Add("UIDForLog", dtMaster.Rows[0]["CREATEUID"]); #endregion ALOModel.MaintainPatternSpec BCO = new ALOModel.MaintainPatternSpec(ConnectionDB); bResult = BCO.UpdateMasterAndDetail(htParams, dtForUpdate, strUID, dtForDetailDeleted, null); if (!bResult) { throw new Exception("更新0筆資料!"); } else { dtDetailData.AcceptChanges(); dtForDetailDeleted.Clear(); //ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "ClientScript", "alert('更改完成');", true); ResultMsgLabel.Text = "更改完成"; QueryData(); CurrentPageMode = PageCurrentMode.Readonly; } } } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } #endregion } else if (CurrentPageMode == PageCurrentMode.Insert) { #region Int32 iResult = 0; try { htTemp.Clear(); htTemp.Add("ChanNo",SLP_StoreChain2.Text.Trim()); htTemp.Add("Store", SLP_Store2.Text.Trim()); htTemp.Add("StartDate", SLP_SLPDate2.Text.Trim()); htTemp.Add("EndDate", SLP_SLPDate3.Text.Trim()); if (CheckSpecTypeAndValue() && CheckItemClassValid() && CheckDetailDataIsNotNull() && CheckPATTERNSPECCanAdd(htTemp)) { #region htTemp.Clear(); htTemp.Add("ChanNo", SLP_StoreChain2.Text.Trim()); htTemp.Add("Store", SLP_Store2.Text.Trim()); htTemp.Add("ROOT_NO", SLP_RootNo2.Text.Trim()); htTemp.Add("PMA", SLP_PMA3.Text.Trim()); if (SLP_Pattern3.Text.Trim() == "") { htTemp.Add("PATTERN_NO", null); } else { htTemp.Add("PATTERN_NO", SLP_Pattern3.Text.Trim()); } if (CheckPATTERNSPECExist(htTemp)) { DataTable dtForUpdate = dtDetailData;//.GetChanges(DataRowState.Added); #region Master string strCode = string.Format("{0}_{1}_{2}_{3}_{4}", SLP_StoreChain2.Text.Trim(), SLP_Store2.Text.Trim(), SLP_RootNo2.Text.Trim(), SLP_PMA3.Text.Trim(), SLP_Pattern3.Text.Trim()); htParams.Clear(); htParams.Add("CODE", strCode); htParams.Add("UserID", Session["UID"].ToString()); htParams.Add("ChanNO", SLP_StoreChain2.Text.Trim()); htParams.Add("STORE", SLP_Store2.Text.Trim()); htParams.Add("ROOT_NO", SLP_RootNo2.Text.Trim()); htParams.Add("PMA", SLP_PMA3.Text.Trim()); htParams.Add("PATTERN_NO", SLP_Pattern3.Text.Trim()); htParams.Add("SPEC_TYPE", getSpecTypeChecked()); htParams.Add("SPEC_QTY", SLP_Number1.Text.Trim()); htParams.Add("S_START_DATE", SLP_SLPDate2.Text.Trim()); htParams.Add("S_END_DATE", SLP_SLPDate3.Text.Trim()); htParams.Add("REASON", strReason.Trim()); #endregion ALOModel.MaintainPatternSpec BCO = new ALOModel.MaintainPatternSpec(ConnectionDB); iResult = BCO.CreateMasterAndDetail(htParams, dtForUpdate, null); if (iResult == 0) { throw new Exception("新增0筆資料!"); } else { if (dtForUpdate != null) dtForUpdate.AcceptChanges(); dtDetailData = dtForUpdate; dtForDetailDeleted.Clear(); //ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "ClientScript", "alert('新增完成');", true); ResultMsgLabel.Text = "新增完成"; QueryData(); CurrentPageMode = PageCurrentMode.Readonly; } } #endregion } } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } #endregion } #endregion }