Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        //檢查登入角色是否有執行該程式的權限
        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;
            }
        }
Esempio n. 3
0
        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;
            }
        }