Exemple #1
0
    private bool UpdateDisItemAndStore(StoreCheckType sct)
    {
        #region
        bool bResult = false;
        try
        {
            DataTable dt = null;
            DataTable dt2 = null;
            Int32 iNEW_DIS_QTY = 0;

            if (sct == StoreCheckType.OpenAndClose)
            {
                dt = dt_OpenCloseStore;
                dt2 = dt.Clone();
                #region

                for (Int32 i = 0; i <= gv_ResultOpenCloseStore.Rows.Count - 1; i++)
                {
                    Label lbl_CODE = (Label)gv_ResultOpenCloseStore.Rows[i].FindControl("lbl_CODE");
                    RadioButton rbtn_DIS_QTY = (RadioButton)gv_ResultOpenCloseStore.Rows[i].FindControl("rbtn_OpenCloseStore_DIS_QTY");
                    RadioButton rbtn_NEW_DIS_QTY = (RadioButton)gv_ResultOpenCloseStore.Rows[i].FindControl("rbtn_OpenCloseStore_NEW_DIS_QTY");
                    TextBox txt_NEW_DIS_QTY = (TextBox)gv_ResultOpenCloseStore.Rows[i].FindControl("txt_OpenCloseStore_NEW_DIS_QTY");

                    //DataTable dtTmp = dt_OpenCloseStore.Copy();

                    //if (rbtn_NEW_DIS_QTY.Checked)
                    //{
                    //    DataRow drTmp = dtTmp.Select(string.Format("CODE = '{0}'", lbl_CODE.Text.Trim()))[0];
                    //    Int32.TryParse(txt_NEW_DIS_QTY.Text.Trim(), out iNEW_DIS_QTY);
                    //    if (iNEW_DIS_QTY.ToString() != drTmp["N_NEW_DIS_QTY"].ToString().Trim())
                    //    {
                    //        drTmp["N_NEW_DIS_QTY"] = iNEW_DIS_QTY;
                    //        drTmp["UPDATEDATE"] = DateTime.Now;
                    //        drTmp["UPDATEUID"] = Session["UID"].ToString();
                    //    }
                    //    dt2.ImportRow(drTmp);

                    //}

                    if (dt_OpenCloseStore != null && dt_OpenCloseStore.Rows.Count > 0)
                    {
                        foreach (DataRow dr in dt_OpenCloseStore.Rows)
                        {
                            if (lbl_CODE.Text.Trim() == dr["CODE"].ToString().Trim())
                            {

                                #region old source
                                //if (rbtn_DIS_QTY.Checked) //原配量
                                //    Int32.TryParse(rbtn_DIS_QTY.Text.Trim(), out iNEW_DIS_QTY);
                                //else if (rbtn_NEW_DIS_QTY.Checked) //新配量
                                //    Int32.TryParse(txt_NEW_DIS_QTY.Text.Trim(), out iNEW_DIS_QTY);


                                //if (iNEW_DIS_QTY.ToString() != dr["N_NEW_DIS_QTY"].ToString().Trim())
                                //{
                                //    dr["N_NEW_DIS_QTY"] = iNEW_DIS_QTY;
                                //    dr["UPDATEDATE"] = DateTime.Now;
                                //    dr["UPDATEUID"] = Session["UID"].ToString();
                                //}
                                #endregion

                                if (rbtn_NEW_DIS_QTY.Checked) //新配量
                                {
                                    Int32.TryParse(txt_NEW_DIS_QTY.Text.Trim(), out iNEW_DIS_QTY);
                                    if (iNEW_DIS_QTY.ToString() != dr["N_NEW_DIS_QTY"].ToString().Trim())
                                    {
                                        dr["N_NEW_DIS_QTY"] = iNEW_DIS_QTY;
                                        dr["UPDATEDATE"] = DateTime.Now;
                                        dr["UPDATEUID"] = Session["UID"].ToString();
                                    }
                                    // 將異動資料丟到dt2
                                    dt2.ImportRow(dr);

                                }
                            }
                        }
                    }
                }
                #endregion
                if (dt2 != null && dt2.Rows.Count > 0)
                {
                    ALOModel.ProcessMultiDisRecords BCO = new ALOModel.ProcessMultiDisRecords(ConnectionDB);
                    bResult = BCO.UpdateDisItemAndStore(dt2, null);
                }
                else if (dt2.Rows.Count == 0)
                {
                    bResult = true;
                }

            }
            else if (sct == StoreCheckType.VenderAssigend)
            {
                dt = dt_VenderAssignedStore;

                #region

                for (Int32 i = 0; i <= gv_ResultVenderAssigendStore.Rows.Count - 1; i++)
                {
                    Label lbl_CODE = (Label)gv_ResultVenderAssigendStore.Rows[i].FindControl("lbl_CODE");
                    RadioButton rbtn_DIS_QTY = (RadioButton)gv_ResultVenderAssigendStore.Rows[i].FindControl("rbtn_VenderAssigendStore_DIS_QTY_D");
                    RadioButton rbtn_ORDER_QTY_D = (RadioButton)gv_ResultVenderAssigendStore.Rows[i].FindControl("rbtn_VenderAssigendStore_ORDER_QTY_D");
                    RadioButton rbtn_NEW_DIS_QTY = (RadioButton)gv_ResultVenderAssigendStore.Rows[i].FindControl("rbtn_VenderAssigendStore_NEW_DIS_QTY_D");
                    TextBox txt_NEW_DIS_QTY = (TextBox)gv_ResultVenderAssigendStore.Rows[i].FindControl("txt_VenderAssigendStore_NEW_DIS_QTY");

                    if (dt_VenderAssignedStore != null && dt_VenderAssignedStore.Rows.Count > 0)
                    {
                        foreach (DataRow dr in dt_VenderAssignedStore.Rows)
                        {
                            if (lbl_CODE.Text.Trim() == dr["CODE"].ToString().Trim())
                            {

                                if (rbtn_DIS_QTY.Checked)
                                    Int32.TryParse(rbtn_DIS_QTY.Text.Trim(), out iNEW_DIS_QTY);
                                else if (rbtn_ORDER_QTY_D.Checked)
                                    Int32.TryParse(rbtn_ORDER_QTY_D.Text.Trim(), out iNEW_DIS_QTY);
                                else if (rbtn_NEW_DIS_QTY.Checked)
                                    Int32.TryParse(txt_NEW_DIS_QTY.Text.Trim(), out iNEW_DIS_QTY);

                                if (iNEW_DIS_QTY.ToString() != dr["N_NEW_DIS_QTY"].ToString().Trim())
                                {
                                    dr["N_NEW_DIS_QTY"] = iNEW_DIS_QTY;
                                    dr["UPDATEDATE"] = DateTime.Now;
                                    dr["UPDATEUID"] = Session["UID"].ToString();
                                }
                            }
                        }
                    }
                }
                #endregion
                if (dt != null && dt.Rows.Count > 0)
                {
                    ALOModel.ProcessMultiDisRecords BCO = new ALOModel.ProcessMultiDisRecords(ConnectionDB);
                    bResult = BCO.UpdateDisItemAndStore(dt, null);
                }
                else if (dt.Rows.Count == 0)
                {
                    bResult = true;
                }
            }


        }
        catch (Exception ex)
        {
            throw ex;
        }

        return bResult;
        #endregion
    }
Exemple #2
0
    /// <summary>
    /// 根據勾選項目進行檢核
    /// </summary>
    /// <param name="sct"></param>
    private void QueryData(StoreCheckType sct)
    {
        #region
        try
        {
            ALOModel.ProcessMultiDisRecords BCO = new ALOModel.ProcessMultiDisRecords(ConnectionDB);
            DataTable dt = null;
            ArrayList ParameterList = new ArrayList();
            string strPrefixed = "POP_StoreCheck";
            if (sct == StoreCheckType.OpenAndClose)
            {
                #region  開關店
                ParameterList.Clear();
                ParameterList.Add(s_DIS_NO);
                ParameterList.Add(SLP_SLPDate1.Text);
                ParameterList.Add(i_DIS_NO_Count);
                ParameterList.Add(Session["UID"].ToString());
                ParameterList.Add(chk_OpenCloseStore.Checked ? "1" : "0");//2010/02/11

                //gv_ResultOpenCloseStore.DataBind();
                //gv_ResultVenderAssigendStore.DataBind();

                #region old
                //if (sct == StoreCheckType.OpenAndClose)
                //{
                //    #region
                //    dt = BCO.QueryOpenAndCloseStore(ParameterList);

                //    dt_OpenCloseStore = dt;

                //    if (dt != null && dt.Rows.Count > 0)
                //    {
                //        if (dt.Rows.Count >= 100)
                //        {
                //            Session[string.Format("{0}_{1}", strPrefixed, PageTimeStamp.Value)] = dt;
                //            ScriptManager.RegisterStartupScript(this, this.GetType(), "storecheck", "POP_StoreCheck();", true);
                //            ResultMsgLabel.Text = string.Format("開關店檢核資料結果超過上限筆數:{0},請先進行錯誤排除。", iErrorCountLimit);
                //            bErrorCountOverLimit = true;
                //            return;
                //            //Panel_OpenCloseStore.Height = 300;
                //        }
                //        else
                //        {
                //            gv_ResultOpenCloseStore.DataSource = dt;
                //            gv_ResultOpenCloseStore.DataBind();
                //            btn_SaveOpenCloseStore.Enabled = true;
                //            hidden_Executed_OpenCloseStore.Value = "0";
                //        }
                //    }
                //    else
                //    {
                //        gv_ResultOpenCloseStore.DataBind();
                //        //Panel_OpenCloseStore.Height = 0;
                //        ResultMsgLabel.Text += " 查無開關店檢核資料 ";

                //        btn_SaveOpenCloseStore.Enabled = false;
                //        hidden_Executed_OpenCloseStore.Value = "1";

                //    }

                //    Panel_OpenCloseStoreAll.Visible = true;

                //    #endregion
                //}
                #endregion

                #region new
                dt = BCO.QueryOpenAndCloseStore(ParameterList);

                dt_OpenCloseStore = dt;

                if (dt != null && dt.Rows.Count > 0)
                {
                    if (dt.Rows.Count >= 100)
                    {
                        Session[string.Format("{0}_{1}", strPrefixed, PageTimeStamp.Value)] = dt;
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "storecheck", "POP_StoreCheck();", true);
                        ResultMsgLabel.Text = string.Format("開關店檢核資料結果超過上限筆數:{0},請先進行錯誤排除。", iErrorCountLimit);
                        bErrorCountOverLimit = true;
                        return;
                        //Panel_OpenCloseStore.Height = 300;
                    }
                    else
                    {
                        gv_ResultOpenCloseStore.DataSource = dt;
                        gv_ResultOpenCloseStore.DataBind();
                        btn_SaveOpenCloseStore.Enabled = true;
                        hidden_Executed_OpenCloseStore.Value = "0";
                    }
                }
                else
                {
                    gv_ResultOpenCloseStore.DataBind();
                    //Panel_OpenCloseStore.Height = 0;
                    ResultMsgLabel.Text += " 查無開關店檢核資料 ";

                    btn_SaveOpenCloseStore.Enabled = false;
                    hidden_Executed_OpenCloseStore.Value = "1";

                }

                Panel_OpenCloseStoreAll.Visible = true;
                #endregion
                #endregion
            }

            else if (sct == StoreCheckType.VenderAssigend)
            {
                #region 指定店

                ParameterList.Clear();
                ParameterList.Add(s_DIS_NO);
                ParameterList.Add(SLP_SLPDate1.Text);
                ParameterList.Add(i_DIS_NO_Count);
                ParameterList.Add(Session["UID"].ToString());

                dt = BCO.QueryVenderAssigendStore(ParameterList);

                dt_VenderAssignedStore = dt;

                if (dt != null && dt.Rows.Count > 0)
                {
                    if (dt.Rows.Count >= 100)
                    {
                        Session[string.Format("{0}_{1}", strPrefixed, PageTimeStamp.Value)] = dt;
                        //ScriptManager.RegisterStartupScript(this, this.GetType(), "storecheck", "POP_StoreCheck();", true);
                        ResultMsgLabel.Text = string.Format("指定店檢核資料結果超過上限筆數:{0},請先減少配本序號檢核數量。", iErrorCountLimit);
                        bErrorCountOverLimit = true;
                        return;
                        //Panel_VenderAssignedStore.Height = 300;
                    }
                    else
                    {
                        gv_ResultVenderAssigendStore.DataSource = dt;
                        gv_ResultVenderAssigendStore.DataBind();
                        btn_SaveVenderAssigendStore.Enabled = true;
                        hidden_Executed_VenderAssignedStore.Value = "0";
                    }
                }
                else
                {
                    gv_ResultVenderAssigendStore.DataBind();
                    //Panel_VenderAssignedStore.Height = 0;
                    ResultMsgLabel.Text += " 查無指定店檢核資料 ";

                    btn_SaveVenderAssigendStore.Enabled = false;
                    hidden_Executed_VenderAssignedStore.Value = "1";

                }

                Panel_VenderAssignedStoreAll.Visible = true;

                #endregion
            }

        }
        catch (Exception ex)
        {
            throw ex;
        }


        #endregion
    }