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
}
}