コード例 #1
0
        /// <summary>
        /// 添加按钮数据
        /// </summary>
        /// <param name="entity_add">添加实体</param>
        /// <returns>错误信息,成功为空</returns>
        internal static string AddFormButtonData(EapButton entity_add, string form_fullname)
        {
            //开启事务
            string ret_msg = Oracle.GetOracle().BeginTran();

            if (ret_msg != string.Empty)
            {
                return("打开事务失败,原因[" + ret_msg + "]");
            }

            StringBuilder sql = new StringBuilder(200);

            sql.Append("INSERT INTO T_EAP_BUTTON(BUTTON_ID,BUTTON_NAME,BUTTON_TEXT,MENU_ID)");
            sql.Append(" SELECT SEQ_EAP_BUTTON.NEXTVAL,:BUTTON_NAME,:BUTTON_TEXT,A.MENU_ID");
            sql.Append("  FROM  T_EAP_MENU A WHERE A.FORM_NAME=:FORM_NAME");

            OracleParameter[] para =
            {
                new OracleParameter(":BUTTON_NAME", OracleType.VarChar),
                new OracleParameter(":BUTTON_TEXT", OracleType.VarChar),
                new OracleParameter(":FORM_NAME",   OracleType.VarChar)
            };
            para[0].Value = entity_add.BUTTON_NAME;
            para[1].Value = entity_add.BUTTON_TEXT;
            para[2].Value = form_fullname;

            ret_msg = Oracle.GetOracle().ExecSql(sql, para);
            if (ret_msg != string.Empty)
            {
                Oracle.GetOracle().Rollback();
                return("新增按钮数据失败,原因[" + ret_msg + "]");
            }

            //给admin(超级管理员)
            sql.Clear();
            para = null;
            sql.Append(" insert into T_EAP_USER_BUTTON_RIGHT  (user_button_right_id,USER_ID,BUTTON_ID)");
            sql.Append(" select SEQ_EAP_USER_BUTTON_RIGHT.nextval,:user_id,BUTTON_ID from t_eap_button");
            sql.Append(" where button_id not in (select BUTTON_ID from T_EAP_USER_BUTTON_RIGHT t where t.user_id=:user_id)");

            OracleParameter[] para_right =
            {
                new OracleParameter(":user_id", OracleType.VarChar)
            };
            //para_right[0].Value = Eap.Config.GetConfig().user.USER_ID;
            para_right[0].Value = "admin";

            ret_msg = Oracle.GetOracle().ExecSql(sql, para_right);
            if (ret_msg != string.Empty)
            {
                Oracle.GetOracle().Rollback();
                return("给超级管理员Admin授权按钮失败,原因[" + ret_msg + "]");
            }

            //处理成功
            Oracle.GetOracle().Commit();
            return(string.Empty);
        }
コード例 #2
0
        private static void GetFormButtons(System.Windows.Forms.Control InitC, List <EapButton> user_button_right)
        {
            foreach (System.Windows.Forms.Control initC in InitC.Controls)
            {
                //如果是tabControl空间,遍历tabControl中所有的按钮
                if (initC is System.Windows.Forms.TabControl)
                {
                    GetTabControlButtons(initC as System.Windows.Forms.TabControl, user_button_right);
                    continue;
                }


                //过滤控件按钮
                if (initC is Eap.Control.ButtonEx)
                {
                    if (initC.Name == "btnQuery" || initC.Name == "btnExit" || initC.Name == "btnClear" || initC.Name == "btnCancle" ||//查询按钮、退出按钮、清除按钮、取消按钮
                        initC.Name == "btnRefresh" || initC.Name == "btnLeft" || initC.Name == "btnRight" || initC.Name == "btnPageHome" ||//刷新按钮、左页按钮、右页按钮、首页按钮
                        initC.Name == "btnPageUp" || initC.Name == "btnPageDown" || initC.Name == "btnPageEnd" || initC.Name == "btnGoPage")   //上页按钮、下页按钮、尾页按钮、页面跳转按钮
                    {
                        continue;
                    }

                    EapButton temp = user_button_right.Where(p => p.BUTTON_NAME == initC.Name).FirstOrDefault <EapButton>();

                    //按钮没有添加到按钮表:1、该用户不具备按钮权限;2、添加按钮到数据库
                    if (temp == null)
                    {
                        temp             = new EapButton();
                        temp.BUTTON_NAME = initC.Name;
                        temp.BUTTON_TEXT = initC.Text == string.Empty ? initC.Name : initC.Text;

                        AddFormButtonData(temp, form_fullname);

                        initC.Enabled = false;
                        continue;
                    }

                    //该用户不具备按钮权限
                    if (temp.USER_ID == null || temp.USER_ID == string.Empty)
                    {
                        initC.Enabled = false;
                        continue;
                    }

                    //具有按钮权限
                    initC.Enabled = true;
                    continue;
                }

                if (initC.Controls.Count != 0)
                {
                    GetFormButtons(initC, user_button_right);
                }
            }
        }