using HxModel; using HxUserManagement.HxBLL; using HxUserManagement.Views; using System; using System.Windows; using System.Windows.Controls; using XHandler.Class; namespace HxUserManagement { /// /// 用户管理页面 /// 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 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 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 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 } }