コード例 #1
0
    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);

        }
    }
コード例 #2
0
    /// <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
    }