//回傳值 true.通過驗證 false.未通過驗證, protected override bool WfItemCheck(object sender, ItemCheckInfo e) { int iChkCnts = 0; vw_admi650s detailModel = null; List <vw_admi650s> detailList = null; UltraGrid uGrid; try { #region 單頭-pick vw_admi650 if (e.Row.Table.Prefix.ToLower() == "vw_admi650") { switch (e.Column.ToLower()) { case "azp01": //開窗代號 if (GlobalFn.varIsNull(e.Value)) { return(true); } if (BoAdm.OfChkAzp01Exists(GlobalFn.isNullRet(e.Value, "")) == true) { WfShowErrorMsg("開窗代號已存在,請檢核!"); return(false); } break; case "azp03": //主要資料表 if (GlobalFn.varIsNull(e.Value)) { return(true); } if (BoAdm.OfChkAtb01Exists(GlobalFn.isNullRet(e.Value, "")) == false) { WfShowErrorMsg("無此資料表代碼,請檢核!"); return(false); } e.Row["azp03_c"] = BoAdm.OfGetAtb02(GlobalFn.isNullRet(e.Value, "")); break; } } #endregion #region 單身-pick vw_admi650s if (e.Row.Table.Prefix.ToLower() == "vw_admi650s") { uGrid = sender as UltraGrid; detailModel = e.Row.ToItem <vw_admi650s>(); switch (e.Column.ToLower()) { case "azq02": //項次 if (GlobalFn.varIsNull(e.Value)) { return(true); } if (GlobalFn.isNullRet(e.Value, 0) <= 0) { WfShowErrorMsg("項次應大於0,請檢核!"); return(false); } detailList = e.Row.Table.ToList <vw_admi650s>(); iChkCnts = detailList.Where(p => GlobalFn.isNullRet(p.azq02, 0) == GlobalFn.isNullRet(e.Value, 0)) .Count(); if (iChkCnts > 1) { WfShowErrorMsg("項次已存在,請檢核!"); return(false); } break; case "azq03": //資料表代碼 if (GlobalFn.varIsNull(e.Value)) { e.Row["azq03_c"] = ""; return(true); } if (BoAdm.OfChkAtb01Exists(GlobalFn.isNullRet(e.Value, "")) == false) { WfShowErrorMsg("無此資料表代碼,請檢核!"); return(false); } e.Row["azq03_c"] = BoAdm.OfGetAtb02(GlobalFn.isNullRet(e.Value, "")); break; case "azq04": //資料欄位代碼 if (GlobalFn.varIsNull(e.Value)) { e.Row["azq04_c"] = ""; return(true); } if (BoAdm.OfChkAtc02Exists(GlobalFn.isNullRet(e.Value, "")) == false) { WfShowErrorMsg("無此資料欄位代碼,請檢核!"); return(false); } e.Row["azq04_c"] = BoAdm.OfGetAtc03(GlobalFn.isNullRet(e.Value, "")); break; } } #endregion return(true); } catch (Exception ex) { throw ex; } }
protected override bool WfFormCheck() { vw_admi650 masterModel = null; vw_admi650s detailModel = null; UltraGrid uGrid; string msg; Control chkControl; string chkColName; int iChkDetailTab; try { masterModel = DrMaster.ToItem <vw_admi650>(); #region 單頭資料檢查 chkColName = "azp01"; chkControl = ute_azp01; if (GlobalFn.varIsNull(masterModel.azp01)) { this.uTab_Master.SelectedTab = uTab_Master.Tabs[0]; chkControl.Focus(); msg = TabMaster.AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault(); msg += "不可為空白"; errorProvider.SetError(chkControl, msg); WfShowErrorMsg(msg); return(false); } chkColName = "azp02"; chkControl = ute_azp02; if (GlobalFn.varIsNull(masterModel.azp02)) { this.uTab_Master.SelectedTab = uTab_Master.Tabs[0]; chkControl.Focus(); msg = TabMaster.AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault(); msg += "不可為空白"; errorProvider.SetError(chkControl, msg); WfShowErrorMsg(msg); return(false); } chkColName = "azp03"; chkControl = ute_azp03; if (GlobalFn.varIsNull(masterModel.azp03)) { this.uTab_Master.SelectedTab = uTab_Master.Tabs[0]; chkControl.Focus(); msg = TabMaster.AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault(); msg += "不可為空白"; errorProvider.SetError(chkControl, msg); WfShowErrorMsg(msg); return(false); } #endregion #region 單身資料檢查 iChkDetailTab = 0; uGrid = TabDetailList[iChkDetailTab].UGrid; foreach (DataRow drTemp in TabDetailList[iChkDetailTab].DtSource.Rows) { detailModel = drTemp.ToItem <vw_admi650s>(); #region azq03-資料表代碼 chkColName = "azq03"; if (GlobalFn.varIsNull(detailModel.azq03)) { this.uTab_Detail.SelectedTab = uTab_Detail.Tabs[iChkDetailTab]; msg = TabDetailList[iChkDetailTab].AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault(); msg += "不可為空白"; WfShowErrorMsg(msg); WfFindErrUltraGridCell(uGrid, drTemp, chkColName); return(false); } #endregion #region azq04-資料欄位代碼 chkColName = "azq04"; if (GlobalFn.varIsNull(detailModel.azq04)) { this.uTab_Detail.SelectedTab = uTab_Detail.Tabs[iChkDetailTab]; msg = TabDetailList[iChkDetailTab].AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault(); msg += "不可為空白"; WfShowErrorMsg(msg); WfFindErrUltraGridCell(uGrid, drTemp, chkColName); return(false); } #endregion #region azq06-資料元件類型 chkColName = "azq06"; if (GlobalFn.varIsNull(detailModel.azq06)) { this.uTab_Detail.SelectedTab = uTab_Detail.Tabs[iChkDetailTab]; msg = TabDetailList[iChkDetailTab].AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault(); msg += "不可為空白"; WfShowErrorMsg(msg); WfFindErrUltraGridCell(uGrid, drTemp, chkColName); return(false); } #endregion } #endregion return(true); } catch (Exception ex) { throw ex; } }
protected override bool WfPickClickOnEditMode(object sender, string pColName, DataRow pDr) { vw_admi650s detailModel = null; UltraGrid uGrid; try { MessageInfo messageModel = new MessageInfo(); #region 單頭-pick vw_admi650 if (pDr.Table.Prefix.ToLower() == "vw_admi650") { switch (pColName.ToLower()) { case "azp03": //主要資料表 WfShowPickUtility("p_atb", messageModel); if (messageModel.Result == System.Windows.Forms.DialogResult.OK) { if (messageModel.DataRowList.Count > 0) { pDr[pColName] = GlobalFn.isNullRet(messageModel.DataRowList[0]["atb01"], ""); } else { pDr[pColName] = ""; } } //if (messageModel != null && messageModel.DataRowList.Count > 0) //{ // pDr[pColName] = GlobalFn.isNullRet(messageModel.DataRowList[0]["atb01"], ""); //} break; } } #endregion #region 單身-pick vw_admi650s if (pDr.Table.Prefix.ToLower() == "vw_admi650s") { detailModel = pDr.ToItem <vw_admi650s>(); uGrid = sender as UltraGrid; switch (pColName.ToLower()) { case "azq03": //資料表名稱 WfShowPickUtility("p_atb", messageModel); if (messageModel != null && messageModel.DataRowList.Count > 0) { pDr[pColName] = GlobalFn.isNullRet(messageModel.DataRowList[0]["atb01"], ""); } break; case "azq04": //資料欄位名稱 if (GlobalFn.isNullRet(detailModel.azq03, "") == "") { WfShowPickUtility("p_atc", messageModel); } else { messageModel.ParamSearchList = new List <SqlParameter>(); messageModel.ParamSearchList.Add(new SqlParameter("@atc01", detailModel.azq03)); WfShowPickUtility("p_atc1", messageModel); } if (messageModel != null && messageModel.DataRowList.Count > 0) { pDr[pColName] = GlobalFn.isNullRet(messageModel.DataRowList[0]["atc02"], ""); } break; } } #endregion return(true); } catch (Exception ex) { throw ex; } }