schangxiang@126.com
2025-11-04 f5ed29dc26c7cd952d56ec5721a2efc43cd25992
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
using HxModel;
using HxUserManagement.HxBLL;
using HxUserManagement.Views;
using System;
using System.Windows;
using System.Windows.Controls;
using XHandler.Class;
 
namespace HxUserManagement
{
    /// <summary>
    /// 用户管理页面
    /// </summary>
    public partial class UserManagement : UserControl
    {
        public event EventHandler closeEvent;
        private UserCenter userCenter = null;
        private AuthorityCenter authorityCenter = null;
        public static UserInfoModel currentUser = null;
 
        #region 构造函数
        public UserManagement(string loginUserID)
        {
            InitializeComponent();
            currentUser = new UserInfoBLL().GetInfodById(loginUserID);
        }
        #endregion
 
        #region 初期表示
        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            rbUserCenter.IsChecked = true;
        }
        #endregion
 
        #region 关闭窗口 无效
        private void btnClose_Click(object sender, RoutedEventArgs e)
        {
            if (EventResponseController.Instance.CanExecute() == false)
                return;
            closeEvent?.Invoke(this, EventArgs.Empty);
        }
        #endregion
 
        #region 用户中心
        private void rbUserCenter_Checked(object sender, RoutedEventArgs e)
        {
            gridContent.Children.Clear();
            if (userCenter == null)
            {
                userCenter = new UserCenter();
                userCenter.editEvent += UserCenter_editEvent;
                userCenter.resetPswdEvent += UserCenter_resetPswdEvent;
                gridContent.Children.Add(userCenter);
            }
            else
                gridContent.Children.Add(userCenter);
            btnNew.Visibility = Visibility.Visible;
        }
        private void UserCenter_editEvent(object sender, Classes.CustomRoutedEventArgs<string> e)
        {
            string id = (string)e.param;
 
            EditUserInfo editUserInfo = new EditUserInfo(id);
            editUserInfo.closeEvent += EditUserInfo_closeEvent;
            editUserInfo.okEvent += EditUserInfo_okEvent;
            rootGrid.Children.Add(editUserInfo);
        }
 
        private void UserCenter_resetPswdEvent(object sender, Classes.CustomRoutedEventArgs<string> e)
        {
            string id = (string)e.param;
 
            ResetPassword resetPassword = new ResetPassword(id);
            resetPassword.closeEvent += EditUserInfo_closeEvent;
            //editUserInfo.okEvent += EditUserInfo_okEvent;
            rootGrid.Children.Add(resetPassword);
        }
        #endregion
 
        #region 角色管理
        private void rbRoleManage_Checked(object sender, RoutedEventArgs e)
        {
            gridContent.Children.Clear();
            if (authorityCenter == null)
            {
                authorityCenter = new AuthorityCenter();
                authorityCenter.editEvent += AuthorityCenter_editEvent;
                gridContent.Children.Add(authorityCenter);
            }
            else
                gridContent.Children.Add(authorityCenter);
            btnNew.Visibility = Visibility.Collapsed;
        }
 
        private void AuthorityCenter_editEvent(object sender, Classes.CustomRoutedEventArgs<string> e)
        {
            string id = (string)e.param;
            EditAuthority editAuthority = new EditAuthority(id);
            editAuthority.closeEvent += EditAuthority_closeEvent;
            rootGrid.Children.Add(editAuthority);
        }
 
        private void EditAuthority_closeEvent(object sender, EventArgs e)
        {
            UIElement element = (UIElement)sender;
            if (rootGrid.Children.Contains(element))
                rootGrid.Children.Remove(element);
        }
        #endregion
 
        #region 新建
        private void btnNew_Click(object sender, RoutedEventArgs e)
        {
            if (EventResponseController.Instance.CanExecute() == false)
                return;
 
            EditUserInfo editUserInfo = new EditUserInfo();
            editUserInfo.closeEvent += EditUserInfo_closeEvent;
            editUserInfo.okEvent += EditUserInfo_okEvent;
            rootGrid.Children.Add(editUserInfo);
        }
 
        private void EditUserInfo_closeEvent(object sender, EventArgs e)
        {
            UIElement element = sender as UIElement;
            if (rootGrid.Children.Contains(element))
                rootGrid.Children.Remove(element);
        }
 
        private void EditUserInfo_okEvent(object sender, EventArgs e)
        {
            UIElement element = sender as UIElement;
            if (rootGrid.Children.Contains(element))
                rootGrid.Children.Remove(element);
 
            userCenter.Refresh();
        }
        #endregion
    }
}