예제 #1
0
        private void InitUsers()
        {
            UsersView.Nodes.Clear();

            List <User> Users = DepositoryUser.Init();

            foreach (User user in Users)
            {
                TreeNode Node = new TreeNode();
                Node.Name = user.Index;
                Node.Text = user.Name;
                Node.Tag  = user;

                UsersView.Nodes.Add(Node);
            }

            if (UsersView.Nodes.Count > 0)
            {
                //为了解决最后一个根节点不显示的问题,加几行代码
                UsersView.Nodes[UsersView.Nodes.Count - 1].Nodes.Add("");
                UsersView.Nodes[UsersView.Nodes.Count - 1].Expand();
                UsersView.Nodes[UsersView.Nodes.Count - 1].Nodes.Clear();

                UsersView.SelectedNode = UsersView.Nodes[0];
            }
        }
예제 #2
0
        private void NewUser()
        {
            TreeNode  Node      = OrganizationView.SelectedNode;
            Selection selection = Node.Tag as Selection;
            Boolean   IsNode    = System.Convert.ToBoolean(selection.Value);

            if (IsNode)
            {
                UserDialog userForm = new UserDialog();
                userForm.Text = "新建用户";
                if (DialogResult.OK == userForm.ShowDialog(this))
                {
                    User user = new User();
                    user.Index    = Guid.NewGuid().ToString();
                    user.Code     = DepositoryUser.GetNextCode(Node.Name);
                    user.Name     = userForm.TextBox_Name.Text;
                    user.Password = EncryptSerivce.Encrypt(userForm.TextBox_Password1.Text);
                    user.IsSys    = false;

                    foreach (DataGridViewRow row in userForm.RolesView.Rows)
                    {
                        Role role = row.Tag as Role;
                        if (role != null)
                        {
                            user.Roles.Add(role);
                        }
                    }

                    bool r = DepositoryUser.New(user);
                    if (r)
                    {
                        TreeNode uNode = new TreeNode();
                        uNode.Text               = user.Name;
                        uNode.Name               = user.Code;
                        uNode.ImageIndex         = 2;
                        uNode.SelectedImageIndex = 2;
                        selection       = new Selection();
                        selection.ID    = user.Index;
                        selection.Value = false.ToString();
                        uNode.Tag       = selection;
                        Node.Nodes.Add(uNode);

                        Node.Expand();
                        OrganizationView.SelectedNode = uNode;
                    }

                    string Msg = r ? "新建用户成功。" : "新建用户失败。";
                    MessageBox.Show(Msg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
예제 #3
0
        private void ShowUserInformation(Role role)
        {
            if (role == null)
            {
                return;
            }

            List <User> Users = DepositoryUser.Init(new string[] { role.Index });

            foreach (TreeNode Node in UsersView.Nodes)
            {
                User user = Node.Tag as User;
                Node.Checked = (Users.IndexOf(user) != -1);
            }
        }
예제 #4
0
        private void Button_Ok_Click(object sender, EventArgs e)
        {
            //保存用户的信息
            List <User> users = new List <User>();

            foreach (TreeNode Node in UsersView.Nodes)
            {
                User user = Node.Tag as User;
                if (user != null)
                {
                    users.Add(user);
                }
            }

            if (users.Count > 0)
            {
                DepositoryUser.Update(users.ToArray());
            }
            Close();
        }
예제 #5
0
        private void EditUser()
        {
            TreeNode  Node      = OrganizationView.SelectedNode;
            Selection selection = Node.Tag as Selection;
            Boolean   IsUser    = !System.Convert.ToBoolean(selection.Value);

            if (IsUser)
            {
                UserDialog userForm = new UserDialog();
                User       user     = DepositoryUser.Init(selection.ID);
                userForm.EditUser = user;
                userForm.Text     = "编辑用户";

                if (DialogResult.OK == userForm.ShowDialog(this))
                {
                    user.Name     = userForm.TextBox_Name.Text;
                    user.Password = EncryptSerivce.Encrypt(userForm.TextBox_Password1.Text);
                    user.IsSys    = false;

                    user.Roles.Clear();
                    foreach (DataGridViewRow row in userForm.RolesView.Rows)
                    {
                        Role role = row.Tag as Role;
                        if (role != null)
                        {
                            user.Roles.Add(role);
                        }
                    }

                    bool r = DepositoryUser.Update(user);
                    if (r)
                    {
                        Node.Text = userForm.TextBox_Name.Text;
                    }

                    string Msg = r ? "更新用户成功。" : "更新用户失败。";
                    MessageBox.Show(Msg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
예제 #6
0
        private void DeleteUser()
        {
            TreeNode Node = OrganizationView.SelectedNode;

            if (Node.Nodes.Count == 0)
            {
                Selection selection = Node.Tag as Selection;
                Boolean   IsUser    = !System.Convert.ToBoolean(selection.Value);
                if (IsUser)
                {
                    if (DialogResult.Yes == MessageBox.Show(string.Format("是否要删除用户‘{0}’吗?", Node.Text), "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information))
                    {
                        bool r = DepositoryUser.Delete(selection.ID);
                        if (r)
                        {
                            Node.Remove();
                        }

                        string Msg = r ? "删除用户成功。" : "删除用户失败。";
                        MessageBox.Show(Msg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
        }