using DataEntity.Share;
|
using HxEnum;
|
using HxModel;
|
using HxUserManagement.HxBLL;
|
using HxUserManagement.Views;
|
using NPOI.Util;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows;
|
using System.Windows.Controls;
|
using System.Windows.Data;
|
using System.Windows.Documents;
|
using System.Windows.Input;
|
using System.Windows.Media;
|
using System.Windows.Media.Imaging;
|
using System.Windows.Navigation;
|
using System.Windows.Shapes;
|
using XHandler.Class;
|
using XHandler.View.User;
|
using XImagingXhandler.XDAL;
|
namespace XHandler.View
|
{
|
/// <summary>
|
/// UserManagerment.xaml 的交互逻辑
|
/// </summary>
|
public partial class UserManagerment : UserControl
|
{
|
public event EventHandler menuChanged;
|
public event EventHandler closeEvent;
|
private User.UserCenter userCenter = null;
|
public static UserInfo currentUser = null;
|
private User.AuthorityCenter authorityCenter = null;
|
private MenuManagement menuManagement = null;
|
public UserManagerment(string loginUserID)
|
{
|
InitializeComponent();
|
currentUser = UserDB.GetUserInfByUserId(loginUserID);
|
}
|
|
private void btnClose_Click(object sender, RoutedEventArgs e)
|
{
|
if (EventResponseController.Instance.CanExecute() == false)
|
return;
|
closeEvent?.Invoke(this, EventArgs.Empty);
|
}
|
|
private void rbUserCenter_Checked(object sender, RoutedEventArgs e)
|
{
|
gridContent.Children.Clear();
|
if (userCenter == null)
|
{
|
userCenter = new User.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, CustomRoutedEventArgs<string> e)
|
{
|
string id = (string)e.param;
|
|
User.EditUserInfo editUserInfo = new User.EditUserInfo(id);
|
editUserInfo.closeEvent += EditUserInfo_closeEvent;
|
editUserInfo.okEvent += EditUserInfo_okEvent;
|
rootGrid.Children.Add(editUserInfo);
|
}
|
|
private void UserCenter_resetPswdEvent(object sender, CustomRoutedEventArgs<string> e)
|
{
|
string id = (string)e.param;
|
|
User.ResetPassword resetPassword = new User.ResetPassword(id);
|
resetPassword.closeEvent += EditUserInfo_closeEvent;
|
//editUserInfo.okEvent += EditUserInfo_okEvent;
|
rootGrid.Children.Add(resetPassword);
|
}
|
private void EditUserInfo_okEvent(object sender, EventArgs e)
|
{
|
UIElement element = sender as UIElement;
|
if (rootGrid.Children.Contains(element))
|
rootGrid.Children.Remove(element);
|
|
userCenter.Refresh();
|
}
|
|
private void EditUserInfo_closeEvent(object sender, EventArgs e)
|
{
|
UIElement element = sender as UIElement;
|
if (rootGrid.Children.Contains(element))
|
rootGrid.Children.Remove(element);
|
}
|
|
private void EditAuthority_closeEvent(object sender, EventArgs e)
|
{
|
UIElement element = (UIElement)sender;
|
if (rootGrid.Children.Contains(element))
|
rootGrid.Children.Remove(element);
|
}
|
|
private void rbRoleManage_Checked(object sender, RoutedEventArgs e)
|
{
|
gridContent.Children.Clear();
|
if (authorityCenter == null)
|
{
|
authorityCenter = new User.AuthorityCenter();
|
authorityCenter.editEvent += AuthorityCenter_editEvent;
|
gridContent.Children.Add(authorityCenter);
|
}
|
else
|
gridContent.Children.Add(authorityCenter);
|
btnNew.Visibility = Visibility.Collapsed;
|
}
|
|
private void AuthorityCenter_editEvent(object sender, CustomRoutedEventArgs<string> e)
|
{
|
string id = (string)e.param;
|
User.EditAuthority editAuthority = new User.EditAuthority(id);
|
editAuthority.closeEvent += EditAuthority_closeEvent;
|
rootGrid.Children.Add(editAuthority);
|
}
|
|
private void btnNew_Click(object sender, RoutedEventArgs e)
|
{
|
if (EventResponseController.Instance.CanExecute() == false)
|
return;
|
|
User.EditUserInfo editUserInfo = new User.EditUserInfo();
|
editUserInfo.closeEvent += EditUserInfo_closeEvent;
|
editUserInfo.okEvent += EditUserInfo_okEvent;
|
rootGrid.Children.Add(editUserInfo);
|
}
|
|
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
{
|
string userid = UserDB.GetUserInfByUserName(Shared.User.username).id;
|
if (userid == "20e617cd-4784-11ed-a82a-b445068d4036")
|
{
|
rbMenuManage.Visibility = Visibility.Visible;
|
}
|
else
|
{
|
rbMenuManage.Visibility = Visibility.Collapsed;
|
}
|
|
//所有菜单
|
List<RoleMenu> roleMenuAllList = UserDB.GetWholeRoleMenuByUserId(userid);
|
//权限控制
|
var MenuUserManage = roleMenuAllList.FirstOrDefault(x => x.rolemenuname.Equals(MenuName.MenuUserManage));
|
if (MenuUserManage != null)
|
{
|
bool isExistUserCenter = true;
|
var SubMenuUserCenter = MenuUserManage.rolemenuchildren.FirstOrDefault(x => x.rolemenuname.Equals(MenuName.SubMenuUserCenter));
|
if (SubMenuUserCenter != null)
|
{
|
rbUserCenter.Visibility = Visibility.Visible;
|
rbUserCenter.IsChecked = true;
|
}
|
else
|
{
|
rbUserCenter.Visibility = Visibility.Collapsed;
|
rbUserCenter.IsChecked = false;
|
isExistUserCenter = false;
|
}
|
|
var SubMenuRoleManage = MenuUserManage.rolemenuchildren.FirstOrDefault(x => x.rolemenuname.Equals(MenuName.SubMenuRoleManage));
|
if (SubMenuRoleManage != null)
|
{
|
rbRoleManage.Visibility = Visibility.Visible;
|
rbRoleManage.IsChecked = true;
|
}
|
else
|
{
|
rbRoleManage.Visibility = Visibility.Collapsed;
|
rbRoleManage.IsChecked = false;
|
}
|
|
if(isExistUserCenter)
|
{
|
rbUserCenter.IsChecked = true;
|
}
|
}
|
|
}
|
|
private void rbMenuManage_Checked(object sender, RoutedEventArgs e)
|
{
|
gridContent.Children.Clear();
|
if (menuManagement == null)
|
{
|
menuManagement = new MenuManagement();
|
//menuManagement.editEvent += UserCenter_editEvent;
|
//menuManagement.menuChanged += MenuManagement_menuChanged;
|
gridContent.Children.Add(menuManagement);
|
}
|
else
|
gridContent.Children.Add(menuManagement);
|
btnNew.Visibility = Visibility.Collapsed;
|
}
|
|
private void MenuManagement_menuChanged(object sender, EventArgs e)
|
{
|
menuChanged?.Invoke(this, EventArgs.Empty);
|
}
|
}
|
}
|