protected override Boolean WfDisplayMode() { vw_admi600 masterModel = null; try { if (FormEditMode == YREditType.NA) { WfSetControlsReadOnlyRecursion(this, true); } else//新增與修改 { masterModel = DrMaster.ToItem <vw_admi600>(); WfSetControlsReadOnlyRecursion(this, false); //先全開 WfSetControlReadonly(uGridMaster, true); //grid不可編輯 WfSetControlReadonly(new List <Control> { ute_adocreu, ute_adocreg, udt_adocred }, true); WfSetControlReadonly(new List <Control> { ute_adomodu, ute_adomodg, udt_adomodd }, true); WfSetControlReadonly(new List <Control> { ute_adosecu, ute_adosecg }, true); if (FormEditMode == YREditType.修改) { WfSetControlReadonly(ute_ado01, true); } WfSetControlReadonly(new List <Control> { ute_ado10, ute_ado11 }, true); WfSetAdo07RelReadonly(masterModel.ado07); if (masterModel.ado09 == "Y" || masterModel.ado07 == "R") //程式有自動報表功能及 程式類型為報表時都要可以改報表名稱 { WfSetControlReadonly(ute_ado10, false); } else { WfSetControlReadonly(ute_ado10, true); } } return(true); } catch (Exception ex) { throw ex; } }
//檢查登入角色是否有執行該程式的權限 protected override bool WfAppendUpdate() { DataTable dtAddTb; AdmBLL boAppend; StringBuilder sbSql; vw_admi600 masterModel = null; List <SqlParameter> sqlParmList = null; try { masterModel = DrMaster.ToItem <vw_admi600>(); boAppend = new AdmBLL(BoMaster.OfGetConntion()); boAppend.TRAN = BoMaster.TRAN; boAppend.OfCreateDao("add_tb", "*", ""); sbSql = new StringBuilder(); sbSql.AppendLine("SELECT * FROM add_tb"); sbSql.AppendLine("WHERE add01=@add01"); sbSql.AppendLine("AND add02=@add02"); sqlParmList = new List <SqlParameter>(); sqlParmList.Add(new SqlParameter("@add01", LoginInfo.UserRole)); sqlParmList.Add(new SqlParameter("@add02", masterModel.ado01)); dtAddTb = boAppend.OfGetDataTable(sbSql.ToString(), sqlParmList.ToArray()); if (masterModel.ado07.ToUpper() == "M")//menus 時 { if (dtAddTb != null && dtAddTb.Rows.Count > 0) { dtAddTb.Rows[0].Delete(); if (boAppend.OfUpdate(dtAddTb) < 1) { WfShowErrorMsg("刪除權限資料檔(add_tb)失敗!"); return(false); } } } else //報表或程式時 { if (dtAddTb.Rows.Count == 0 && GlobalFn.isNullRet(masterModel.ado16, "") != "Y") { var result = WfShowConfirmMsg("無此程式的權限,請問是否自動新增 ?"); //var i = WfShowConfirmMsg("無此程式的權限,請問是否自動新增"); //if (i == 1) if (result == DialogResult.Yes) { var drNew = dtAddTb.NewRow(); drNew["add01"] = LoginInfo.UserRole; drNew["add02"] = masterModel.ado01; drNew["add03"] = "Y"; drNew["add04"] = "Y"; drNew["add05"] = "Y"; drNew["add06"] = "Y"; drNew["add07"] = "Y"; drNew["add08"] = "Y"; drNew["add09"] = "Y"; drNew["add10"] = "Y"; drNew["add11"] = "Y"; drNew["add12"] = "Y"; dtAddTb.Rows.Add(drNew); if (boAppend.OfUpdate(dtAddTb) < 1) { WfShowErrorMsg("刪除權限資料檔(add_tb)失敗!"); return(false); } } } } return(true); } catch (Exception ex) { throw ex; } }
protected override bool WfFormCheck() { vw_admi600 admi600Model = null; string msg; Control chkControl; string chkColName; try { admi600Model = DrMaster.ToItem <vw_admi600>(); #region 單頭資料檢查 #region ado01 程式代號 chkColName = "ado01"; chkControl = ute_ado01; if (GlobalFn.varIsNull(admi600Model.ado01)) { 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); } //檢查是否重覆 if (FormEditMode == YREditType.新增) { if (BoAdm.OfChkAdoPKExists(admi600Model.ado01) == true) { 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 chkColName = "ado02"; //程式名稱 chkControl = ute_ado02; if (GlobalFn.varIsNull(admi600Model.ado02)) { 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 = "ado07"; //程式類別 P.程式 M.menu chkControl = ucb_ado07; if (GlobalFn.varIsNull(admi600Model.ado07)) { 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 = "ado03"; //組件dll chkControl = ute_ado03; if (admi600Model.ado07 == "P" && GlobalFn.varIsNull(admi600Model.ado03)) { 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 = "ado04"; //CLASS名稱 chkControl = ute_ado04; if ((admi600Model.ado07 == "P" || admi600Model.ado07 == "R") && GlobalFn.varIsNull(admi600Model.ado04)) { 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 = "ado05"; //CRUD資料表 chkControl = ute_ado05; if ((admi600Model.ado07 == "P" || admi600Model.ado07 == "R") && GlobalFn.varIsNull(admi600Model.ado05)) { 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 = "ado06"; //使用view名稱 chkControl = ute_ado06; if ((admi600Model.ado07 == "P" || admi600Model.ado07 == "R") && GlobalFn.varIsNull(admi600Model.ado06)) { 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 = "ado10"; //報表名稱 chkControl = ute_ado06; if ((admi600Model.ado09 == "Y") && GlobalFn.varIsNull(admi600Model.ado09)) { 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 return(true); } catch (Exception ex) { throw ex; } }