Ejemplo n.º 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
    }