protected void btn_Set_Click(object sender, EventArgs e) { int iCheck = 0 ; int iMaxCnt = int.Parse(this.MaxRowCount.Value); StringBuilder sb = new StringBuilder(); try { #region 取得設定資料 DataTable dtTmp = dtDisBrank.Clone(); PIC.VDS2G.WebUI.SLP.SLPNumber slp_qty_s; PIC.VDS2G.WebUI.SLP.SLPNumber slp_qty_e; PIC.VDS2G.WebUI.SLP.SLPNumber slp_rank; string s_qty_s, s_qty_e, s_rank; for (int i = 1; i <= iMaxCnt; i++) { #region 取得單行筆資料 slp_qty_s = (PIC.VDS2G.WebUI.SLP.SLPNumber)FinfControlEx(this, "SLP_DIS_QTY_S" + i.ToString()); slp_qty_e = (PIC.VDS2G.WebUI.SLP.SLPNumber)FinfControlEx(this, "SLP_DIS_QTY_E" + i.ToString()); slp_rank = (PIC.VDS2G.WebUI.SLP.SLPNumber)FinfControlEx(this, "BRANK_RATE" + i.ToString()); s_qty_s = slp_qty_s.Text.Trim(); s_qty_e = slp_qty_e.Text.Trim(); s_rank = slp_rank.Text.Trim(); if (s_qty_s == "" && s_qty_e == "" && s_rank == "") { continue; } #endregion #region 單筆資料正確性檢查 if (s_qty_s != "" || s_qty_e != "" || s_rank != "") { //起迄檢查 if (int.Parse(s_qty_s) > int.Parse(s_qty_e)) { iCheck = i; throw new Exception("第" + i.ToString() + "資料設定異常,起值不可大於迄值!"); } if (int.Parse(s_rank) > 100 || int.Parse(s_rank) < 1) { iCheck = i; throw new Exception("第" + i.ToString() + "資料設定異常,退貨率需大於0 , 小於或等於 100"); } #region 取得異動資料 DataRow nRow = dtTmp.NewRow(); nRow["DIS_NO"] = s_DIS_NO; nRow["ITEM"] = s_ITEM; nRow["PERIOD"] = s_PERIOD; nRow["DIS_QTY_ST"] = Int32.Parse(s_qty_s); nRow["DIS_QTY_END"] = Int32.Parse(s_qty_e); nRow["BRANK_RATE"] = Int32.Parse(s_rank); nRow["UPDATEUID"] = Session["UID"].ToString(); nRow["UPDATEDATE"] = DateTime.Now; //dtTmp.ImportRow(nRow); dtTmp.Rows.Add(nRow); #endregion } #endregion } #endregion #region 檢查重複資料 iCheck = CheckDataValid(dtTmp); if (iCheck < 0) { throw new Exception("檢查區間重複發生異常!"); } if (iCheck > 0) { throw new Exception("第" + iCheck.ToString() + "筆設定區間重複,請修改後再設定!"); } #endregion #region 更新資料 ALOModel.MaintainDisBRank BCO = new ALOModel.MaintainDisBRank(ConnectionDB); bool bResult = BCO.SaveDisBRankInfo(dtTmp, s_DIS_NO, s_ITEM, s_PERIOD, null); if (!bResult) { throw new Exception("更新失敗"); } else { this.ResultMsgLabel.Text = "更新成功"; ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('更新成功');window.close();", true); } #endregion } catch (Exception ex) { this.ErrorMsgLabel.Text = ex.Message; this.UpdatePanel1.Update(); ScriptManager.RegisterStartupScript(this, this.GetType(), "", "AlertErroAndSetfocus('" + ex.Message + "','"+iCheck.ToString() + "');", true); } }
/// <summary> /// 查詢資料 /// </summary> private void QueryData() { #region try { #region 查詢設定資料 ALOModel.MaintainDisBRank BCO = new ALOModel.MaintainDisBRank(ConnectionDB); ArrayList ParameterList = new ArrayList();//20091113 ParameterList.Clear(); ParameterList.Add(s_DIS_NO); ParameterList.Add(s_ITEM); ParameterList.Add(s_PERIOD); DataTable dt = BCO.QueryDisBRank(ParameterList); dtDisBrank = dt; if (dt != null && dt.Rows.Count > 0) { #region DataBind for (int i = 1; i <= dt.Rows.Count; i++) { ((PIC.VDS2G.WebUI.SLP.SLPNumber)FinfControlEx(this, "SLP_DIS_QTY_S" + i.ToString())).Text = dt.Rows[i - 1]["DIS_QTY_ST"].ToString(); ((PIC.VDS2G.WebUI.SLP.SLPNumber)FinfControlEx(this, "SLP_DIS_QTY_E" + i.ToString())).Text = dt.Rows[i - 1]["DIS_QTY_END"].ToString(); ((PIC.VDS2G.WebUI.SLP.SLPNumber)FinfControlEx(this, "BRANK_RATE" + i.ToString())).Text = dt.Rows[i - 1]["BRANK_RATE"].ToString(); } #endregion dt.Dispose(); } #endregion //else //{ // ResultMsgLabel.Text = "查無資料"; //} } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } #endregion }