Ejemplo n.º 1
0
    protected void btn_AddOK_Click(object sender, EventArgs e)
    {
        #region

        try
        {

            ResetDisplayModeForProcessing();

            ArrayList ParameterList1 = new ArrayList();//20091113
            ParameterList1.Clear();
            ParameterList1.Add(txt_DIS_NO_OLD.Text.Trim());
            ParameterList1.Add(SLP_SKU1.Text.Trim());
            ParameterList1.Add(SLP_ItemPeriod1.Text.Trim());
            ParameterList1.Add(SLP_SKU2.Text.Trim());
            ParameterList1.Add(SLP_ItemPeriod2.Text.Trim());

            if (CheckDisCopyCanAdd(ParameterList1))
            {
                string strUser = Session["UID"].ToString();
                string strCode = string.Format("AF_{0}_{1}", DateTime.Now.ToString("yyyyMMddHHmmss"), strUser);
                Int32 iChanType = GetChanType();
                int iResult = 0;
                bool bResult = false;
                DataTable dtDetail = dtDetailData;
                DataTable dtDetailDeleted = dtForDetailDeleted;
                DataRow dr = null;
                CheckBox chk = null;
                DateTime processtime = DateTime.Now;
                ALOModel.MaintainDisCopy BCO = new ALOModel.MaintainDisCopy(ConnectionDB);
                ALOModel.QueryALOCommon BCO2 = new ALOModel.QueryALOCommon(ConnectionDB);
                ArrayList ParameterList = new ArrayList();//20091113
                ArrayList ParameterList2 = new ArrayList();//20091113


                if (CurrentPageMode == PageCurrentMode.Insert)
                {
                    #region

                    //if (CheckItemIsAvailable(SLP_SKU1.Text.Trim(), SLP_ItemPeriod1.Text.Trim()))
                    //{
                    #region Master
                    ParameterList.Clear();
                    ParameterList.Add(strCode);
                    ParameterList.Add(processtime);
                    ParameterList.Add(strUser);
                    ParameterList.Add(processtime);
                    ParameterList.Add(strUser);
                    ParameterList.Add(txt_DIS_NO_OLD.Text.Trim());
                    ParameterList.Add(SLP_SKU1.Text.Trim());
                    ParameterList.Add(SLP_ItemPeriod1.Text.Trim());
                    ParameterList.Add(SLP_SLPDate1.Text.Trim());
                    ParameterList.Add(null);
                    ParameterList.Add(SLP_SKU2.Text.Trim());
                    ParameterList.Add(SLP_ItemPeriod2.Text.Trim());
                    ParameterList.Add(ddl_OpType.SelectedValue.ToString());
                    ParameterList.Add(iChanType);
                    ParameterList.Add(((CheckBox)SLP_Boolean1.FindControl("C1")).Checked ? 1 : 0);
                    ParameterList.Add(PageTimeStamp.Value);
                    #endregion

                    #region Detail

                    dtDetail.Clear();

                    ParameterList2.Clear();
                    ParameterList2.Add(txt_DIS_NO_OLD.Text.Trim());
                    dtDisChanByDisNo = BCO2.QueryDisChanByDisNo(ParameterList2);


                    if (iChanType == 0)//全通路
                    {
                        if (dtDisChanByDisNo != null)
                        {
                            for (Int32 i = 0; i <= dtDisChanByDisNo.Rows.Count - 1; i++)
                            {
                                dr = dtDetail.NewRow();
                                dr["CHAN_NO"] = dtDisChanByDisNo.Rows[i]["CHAN_NO"].ToString();
                                dr["USERID"] = strUser;
                                dtDetail.Rows.Add(dr);
                            }
                        }
                    }
                    else if (iChanType == 1)//個別通路
                    {
                        for (Int32 i = 0; i <= gv_DisChan.Rows.Count - 1; i++)
                        {
                            chk = ((CheckBox)gv_DisChan.Rows[i].FindControl("chk_Single"));

                            if (chk.Checked)
                            {
                                dr = dtDetail.NewRow();
                                dr["CHAN_NO"] = chk.Text;
                                dr["USERID"] = strUser;
                                dtDetail.Rows.Add(dr);
                            }
                        }
                    }

                    #endregion

                    iResult = BCO.CreateMasterAndDetail(ParameterList, dtDetail, null);

                    if (iResult != 0)
                    {
                        ResultMsgLabel.Text = "新增成功";
                    }
                    else
                    {
                        ResultMsgLabel.Text = "新增失敗";
                    }
                    //}
                    //else
                    //{
                    //    throw new Exception("輸入之原商品/品號、原期別與資料庫不相符!");
                    //}

                    #endregion
                }
                else if (CurrentPageMode == PageCurrentMode.Edit)
                {
                    #region
                    #region Master

                    DataTable dtTemp = dtForMasterAndDetail;
                    string strPID = dtTemp.Rows[iEditingRowIndex]["ID"].ToString().Trim();
                    ParameterList.Clear();
                    //old params
                    ParameterList.Add(strPID);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["CODE"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["CREATEDATE"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["CREATEUID"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["UPDATEDATE"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["UPDATEUID"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["STATUS"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["SRC_DIS_NO"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["SRC_ITEM"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["SRC_PERIOD"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["ST_ACCEPT_DATE"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["NEW_DIS_NO"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["NEW_ITEM"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["NEW_PERIOD"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["DIS_OP_TYPE"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["CHAN_TYPE"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["IS_COPY_PO"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["COPY_RESULT"]);
                    ParameterList.Add(dtTemp.Rows[iEditingRowIndex]["OP_CODE"]);
                    //new params
                    ParameterList.Add(iChanType);
                    ParameterList.Add(((CheckBox)SLP_Boolean1.FindControl("C1")).Checked ? 1 : 0);
                    ParameterList.Add(processtime);
                    ParameterList.Add(strUser);



                    #endregion

                    #region Detail
                    dtDetail.Clear();
                    dtDetailDeleted.Clear();


                    ParameterList2.Clear();
                    ParameterList2.Add(txt_DIS_NO_OLD.Text.Trim());
                    dtDisChanByDisNo = BCO2.QueryDisChanByDisNo(ParameterList2);

                    if (iChanType == 0)//全通路
                    {
                        #region
                        if (dtDisChanByDisNo != null)
                        {
                            for (Int32 i = 0; i <= dtDisChanByDisNo.Rows.Count - 1; i++)
                            {
                                dr = dtDetail.NewRow();
                                dr["PID"] = strPID;
                                dr["CHAN_NO"] = dtDisChanByDisNo.Rows[i]["CHAN_NO"].ToString();
                                dtDetail.Rows.Add(dr);
                            }
                        }

                        dtDetailDeleted = null;
                        #endregion
                    }
                    else if (iChanType == 1)//個別通路 
                    {
                        #region
                        if (iChanTypeOriginal == 0)//原來是全通路
                        {
                            for (Int32 i = 0; i <= gv_DisChan.Rows.Count - 1; i++)
                            {
                                chk = ((CheckBox)gv_DisChan.Rows[i].FindControl("chk_Single"));

                                if (chk.Checked)
                                {
                                    dr = dtDetail.NewRow();
                                    dr["PID"] = strPID;
                                    dr["CHAN_NO"] = chk.Text;
                                    dtDetail.Rows.Add(dr);
                                }
                            }

                            dtDetailDeleted = null;
                        }
                        else//原來是個別通路
                        {
                            #region 比對舊資料是否有刪除
                            for (Int32 i = 0; i <= gv_DisChan.Rows.Count - 1; i++)
                            {
                                chk = ((CheckBox)gv_DisChan.Rows[i].FindControl("chk_Single"));

                                for (Int32 k = 0; k <= dtCurrentDisChanData.Rows.Count - 1; k++)
                                {
                                    if (dtCurrentDisChanData.Rows[k]["CHAN_NO"].ToString() == chk.Text)
                                    {
                                        if (!chk.Checked)//跟原來資料的比較未勾選的則進行刪除
                                        {
                                            dr = dtDetailDeleted.NewRow();

                                            dr["ID"] = dtCurrentDisChanData.Rows[k]["ID"];
                                            dr["PID"] = dtCurrentDisChanData.Rows[k]["PID"];
                                            dr["CREATEDATE"] = dtCurrentDisChanData.Rows[k]["CREATEDATE"];
                                            dr["CREATEUID"] = dtCurrentDisChanData.Rows[k]["CREATEUID"];
                                            dr["UPDATEDATE"] = dtCurrentDisChanData.Rows[k]["UPDATEDATE"];
                                            dr["UPDATEUID"] = dtCurrentDisChanData.Rows[k]["UPDATEUID"];
                                            dr["CHAN_NO"] = dtCurrentDisChanData.Rows[k]["CHAN_NO"];
                                            dr["UIDFORLOG"] = Session["UID"].ToString();
                                            dtDetailDeleted.Rows.Add(dr);
                                        }
                                        //else
                                        //{
                                        //    dr = dtDetail.NewRow();//只要有被勾選就列為新增,重複時會在PKG處理
                                        //    dr["PID"] = strPID;
                                        //    dr["CHAN_NO"] = chk.Text;
                                        //    dtDetail.Rows.Add(dr);
                                        //}
                                    }
                                }

                                if (chk.Checked)//只要有被勾選就列為新增,重複時會在PKG處理
                                {
                                    dr = dtDetail.NewRow();
                                    dr["PID"] = strPID;
                                    dr["CHAN_NO"] = chk.Text;
                                    dtDetail.Rows.Add(dr);
                                }
                            }
                            #endregion
                        }
                        #endregion
                    }
                    #endregion

                    bResult = BCO.UpdateMasterAndDetail(ParameterList, dtDetail, strUser, dtDetailDeleted, null);

                    if (bResult)
                    {
                        ResultMsgLabel.Text = "更新成功";
                    }
                    else
                    {
                        ResultMsgLabel.Text = "更新失敗";
                    }
                    #endregion
                }


                QueryData();//取出儲存後資料
                CurrentPageMode = PageCurrentMode.Readonly;

            }
        }
        catch (Exception ex)
        {
            ErrorMsgLabel.Text = ex.Message;
        }
        finally
        {
            hiddenRowCounts.Value = gv_Temp.Rows.Count.ToString();
        }
        #endregion
    }
Ejemplo n.º 2
0
    protected void gv_Temp_RowEditing(object sender, GridViewEditEventArgs e)
    {
        #region

        try
        {
            CurrentPageMode = PageCurrentMode.Edit;

            GridView gv = sender as GridView;
            DataTable dtTemp = dtForMasterAndDetail;
            iEditingRowIndex = e.NewEditIndex;
            ALOModel.MaintainDisCopy BCO = new ALOModel.MaintainDisCopy(ConnectionDB);


            txt_DIS_NO_OLD.Text = dtTemp.Rows[e.NewEditIndex]["SRC_DIS_NO"].ToString().Trim();
            SLP_SKU1.Text = dtTemp.Rows[e.NewEditIndex]["SRC_ITEM"].ToString().Trim();
            SLP_ItemPeriod1.Text = dtTemp.Rows[e.NewEditIndex]["SRC_PERIOD"].ToString().Trim();
            SLP_SKU2.Text = dtTemp.Rows[e.NewEditIndex]["NEW_ITEM"].ToString().Trim();
            SLP_ItemPeriod2.Text = dtTemp.Rows[e.NewEditIndex]["NEW_PERIOD"].ToString().Trim();
            ddl_OpType.SelectedValue = dtTemp.Rows[e.NewEditIndex]["DIS_OP_TYPE"].ToString().Trim();
            Label lbl_ID = (Label)gv.Rows[e.NewEditIndex].FindControl("lbl_ID");
            Int32 iChanNo;
            Int32.TryParse(dtTemp.Rows[e.NewEditIndex]["CHAN_TYPE"].ToString().Trim(), out iChanNo);


            //20090731 added 重新取得該配本序號下之通路

            ArrayList ParameterList2 = new ArrayList();//20091113
            ParameterList2.Clear();
            ParameterList2.Add(txt_DIS_NO_OLD.Text.Trim());
            ALOModel.QueryALOCommon BCO2 = new ALOModel.QueryALOCommon(ConnectionDB);
            dtDisChanByDisNo = BCO2.QueryDisChanByDisNo(ParameterList2);


            if (iChanNo == 0)//全通路
            {
                rbtn_ChanAll.Checked = true;
                rbtn_ChanSingle.Checked = false;
                btn_ChanSetting.Enabled = false;
            }
            else if (iChanNo == 1)//個別通路
            {
                rbtn_ChanAll.Checked = false;
                rbtn_ChanSingle.Checked = true;
                btn_ChanSetting.Enabled = true;

                ArrayList ParameterList1 = new ArrayList();//20091113
                ParameterList1.Clear();
                ParameterList1.Add(lbl_ID.Text);
                
                //取得目前設定之通路
                dtCurrentDisChanData = BCO.QueryChanByPID(ParameterList1);
                gv_DisChan.DataSource = dtDisChanByDisNo;
            }

            gv_DisChan.DataBind();

            iChanTypeOriginal = iChanNo;

            if (dtTemp.Rows[e.NewEditIndex]["IS_COPY_PO"].ToString().Trim() == "0")
                ((CheckBox)SLP_Boolean1.FindControl("C1")).Checked = false;
            else
                ((CheckBox)SLP_Boolean1.FindControl("C1")).Checked = true;

        }
        catch (Exception ex)
        {
            ErrorMsgLabel.Text = ex.Message;
        }
        #endregion
    }
Ejemplo n.º 3
0
    /// <summary>
    /// �ھڰt���Ǹ��B�~���B��O�ot��q��T
    /// </summary>
    /// <param name="strDisNo"></param>
    /// <param name="strItem"></param>
    /// <param name="strPeriod"></param>
    private void GetDisChan(string strDisNo, string strItem, string strPeriod)
    {
        #region
        DataTable dt = new DataTable();
        try
        {

            if (strDisNo != "" && strItem != "" && strPeriod != "")
            {
                ArrayList ParameterList = new ArrayList();//20091113

                ParameterList.Clear();
                ParameterList.Add(strDisNo);//DIS_NO
                ParameterList.Add(strItem);//ITEM
                ParameterList.Add(strPeriod);//PERIOD
                ALOModel.QueryALOCommon BCO = new ALOModel.QueryALOCommon(ConnectionDB);
                dt = BCO.QueryDisChanByDisNo(ParameterList);
            }

        }
        catch (Exception ex)
        {
            throw ex;
        }

        dtDisChanByDisNo = dt.Copy();
        dt.Dispose();

        #endregion
    }