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 }
/// <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 }