Esempio n. 1
0
        /// <summary>
        /// 將TreeView權限內容寫入資料庫中
        /// </summary>
        /// <param name="TNs">傳入節點集合例如:TreeView1.Nodes</param>
        private void TreeViewNodesAuthorityToDB(TreeNodeCollection TNs)
        {
            SIS.DBClass.DBClsSysUserAuthority DbSUA = new SIS.DBClass.DBClsSysUserAuthority();

            My.MyDatabase MyDb = new My.MyDatabase();



            if (TNs.Count != 0)
            {
                foreach (TreeNode TN in TNs)
                {
                    if (MyDb.AuthPK(tSSL_UserId.Text, "UserId", TN.Tag.ToString(), "FuncId", "SysUserAuthority"))
                    {
                        DbSUA.UpdateAuthStatus(tSSL_UserId.Text, TN.Tag.ToString(), TN.Checked);
                    }
                    else
                    {
                        DbSUA.InsertData(tSSL_UserId.Text, TN.Tag.ToString(), TN.Checked);
                    }


                    if (TN.Nodes.Count > 0)
                    {
                        TreeViewNodesAuthorityToDB(TN.Nodes);
                    }
                }
            }
        }
Esempio n. 2
0
        private void btnQuery_Click(object sender, EventArgs e)
        {
            SIS.DBClass.DBClsSysUserAuthority DbSUA = new SIS.DBClass.DBClsSysUserAuthority();
            DataTable DT = DbSUA.GetSysUserAuthorityDataTable(txtUserId.Text);

            // 取出TreeView的節點集合, PS此法只有一層
            //TreeNodeCollection nodes = treeView_Authority.Nodes;

            if (DT.Rows.Count > 0)
            {
                foreach (DataRow Rows in DT.Rows)
                {
                    FindTreeViewNodes(treeViewAuthority.Nodes, Rows["FuncId"].ToString(), Convert.ToBoolean(Rows["AuthStatus"]));
                }
                MessageBox.Show(this, "帳號[" + txtUserId.Text + "]有找到符合資料!!", "查詢結果");
                tSSL_UserId.Text = txtUserId.Text;
                FindTreeViewNodesText(treeViewUsers.Nodes, tSSL_UserId.Text);
                txtUserId.Text        = "";
                tSBSureChange.Enabled = true;
                groupBox4.Visible     = false;
            }
            else if (DT.Rows.Count == 0)
            {
                MessageBox.Show(this, "未找到任何符合資料!!", "查詢結果");
            }
        }
Esempio n. 3
0
        //點選TreeView項目之後所觸發的事件
        private void treeViewUsers_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (e.Node.Tag != null)
            {
                tSSL_TreeViewPath.Text = e.Node.FullPath;
                tSSL_UserId.Text       = e.Node.Text;
                if (e.Node.Text != "人員管理子系統")
                {
                    tSBSureChange.Enabled = true;
                    SIS.DBClass.DBClsSysUserAuthority DbSUA = new SIS.DBClass.DBClsSysUserAuthority();
                    DataTable DT = DbSUA.GetSysUserAuthorityDataTable(e.Node.Text);

                    // 取出TreeView的節點集合, PS此法只有一層
                    //TreeNodeCollection nodes = treeView_Authority.Nodes;

                    foreach (DataRow Rows in DT.Rows)
                    {
                        FindTreeViewNodes(treeViewAuthority.Nodes, Rows["FuncId"].ToString(), Convert.ToBoolean(Rows["AuthStatus"]));
                    }
                }
                else
                {
                    tSBSureChange.Enabled = false;
                    tSSL_UserId.Text      = "使用者帳號";
                }
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 權限處理
        /// </summary>
        /// <param name="UserID">使用者帳號</param>
        /// <param name="RoleName">角色名稱</param>
        /// <returns>處理成功回傳true,若失敗回傳false</returns>
        public bool AuthorityProcess(string UserID, string RoleName)
        {
            int i = 0;

            SIS.DBClass.DBClsSysUserAuthority SUA = new SIS.DBClass.DBClsSysUserAuthority();
            DataTable DT = SUA.GetSysUserAuthorityDataTable(UserID);

            foreach (object var in this.MdiParent.Controls)
            {
                //Start..設定MenuStrip權限
                if (var.GetType().ToString() == "System.Windows.Forms.MenuStrip")
                {
                    MenuStrip MS = (MenuStrip)var;

                    foreach (object MenuStripBuf in MS.Items)
                    {
                        ToolStripMenuItem TSMI = (ToolStripMenuItem)MenuStripBuf;

                        //TSMI.Enabled = SUA.VerifyAuthority(UserID, TSMI.Tag.ToString());
                        TSMI.Enabled = SUA.VerifyAuthorityPerformance(UserID, TSMI.Tag.ToString(), DT);

                        for (i = 0; i < TSMI.DropDownItems.Count; i++)
                        {
                            if (TSMI.DropDownItems[i].Tag != null)
                            {
                                //TSMI.DropDownItems[i].Enabled = SUA.VerifyAuthority(UserID, TSMI.DropDownItems[i].Tag.ToString());
                                TSMI.DropDownItems[i].Enabled = SUA.VerifyAuthorityPerformance(UserID, TSMI.DropDownItems[i].Tag.ToString(), DT);
                            }
                        }
                    }
                }
                //End ..設定MenuStrip權限


                //Start..設定ToolStrip權限
                if (var.GetType().ToString() == "System.Windows.Forms.ToolStrip")
                {
                    ToolStrip TS = (ToolStrip)var;

                    for (i = 0; i < TS.Items.Count; i++)
                    {
                        if (TS.Items[i].Tag != null)
                        {
                            //TS.Items[i].Enabled = SUA.VerifyAuthority(UserID, TS.Items[i].Tag.ToString());
                            TS.Items[i].Enabled = SUA.VerifyAuthorityPerformance(UserID, TS.Items[i].Tag.ToString(), DT);
                        }
                    }
                }
                //End..設定ToolStrip權限

                //Start..設定StatusStrip權限
                if (var.GetType().ToString() == "System.Windows.Forms.StatusStrip")
                {
                    StatusStrip SS = (StatusStrip)var;

                    for (i = 0; i < SS.Items.Count; i++)
                    {
                        if (SS.Items[i].Name == "tSSL_UserId")
                        {
                            SS.Items[i].Text      = UserID;
                            SS.Items[i].BackColor = Color.Navy;
                            SS.Items[i].ForeColor = Color.White;
                        }

                        if (SS.Items[i].Name == "tSSL_SysRole")
                        {
                            SS.Items[i].Text      = RoleName;
                            SS.Items[i].BackColor = Color.Crimson;
                            SS.Items[i].ForeColor = Color.White;
                        }
                    }
                }
                //End..設定StatusStrip權限
            }

            return(true);
        }