项目要求更改
This commit is contained in:
@@ -5,6 +5,7 @@ using CapMachine.Wpf.Services;
|
||||
using Masuit.Tools;
|
||||
using Prism.Commands;
|
||||
using Prism.Events;
|
||||
using Prism.Regions;
|
||||
using Prism.Services.Dialogs;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -17,19 +18,21 @@ namespace CapMachine.Wpf.ViewModels
|
||||
{
|
||||
public class UserManageViewModel : NavigationViewModel
|
||||
{
|
||||
public UserManageViewModel(IEventAggregator eventAggregator, IFreeSql freeSql, ConfigService configService, IDialogService dialogService)
|
||||
public UserManageViewModel(IEventAggregator eventAggregator, IFreeSql freeSql, ConfigService configService, IDialogService dialogService, IRegionManager regionManager)
|
||||
{
|
||||
//事件服务
|
||||
_EventAggregator = eventAggregator;
|
||||
FreeSql = freeSql;
|
||||
ConfigService = configService;
|
||||
DialogService = dialogService;
|
||||
RegionManager = regionManager;
|
||||
CurUserDto = new UserDto() { IsEnable = true };
|
||||
}
|
||||
private IEventAggregator _EventAggregator { get; set; }
|
||||
public IFreeSql FreeSql { get; }
|
||||
public ConfigService ConfigService { get; }
|
||||
public IDialogService DialogService { get; }
|
||||
public IRegionManager RegionManager { get; }
|
||||
|
||||
|
||||
|
||||
@@ -81,18 +84,30 @@ namespace CapMachine.Wpf.ViewModels
|
||||
if (ListUser.FirstOrDefault().Password == CurUserDto.Password.Trim())
|
||||
{
|
||||
MessageBox.Show("登录成功!", "提示");
|
||||
CurUserDto.Level = ListUser.FirstOrDefault().Level;
|
||||
|
||||
var loginUser = ListUser.FirstOrDefault();
|
||||
CurUserDto.Id = loginUser.Id;
|
||||
CurUserDto.Name = loginUser.Name;
|
||||
CurUserDto.Level = loginUser.Level;
|
||||
CurUserDto.IsEnable = loginUser.IsEnable;
|
||||
CurUserDto.Password = "";
|
||||
ConfigService.CurUserDto = CurUserDto;
|
||||
ConfigService.IsUserLoggedIn = true;
|
||||
_UserManageCmd?.RaiseCanExecuteChanged();
|
||||
RegionManager.RequestNavigate("MainViewContentRegion", "MonitorView");
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
ConfigService.IsUserLoggedIn = false;
|
||||
_UserManageCmd?.RaiseCanExecuteChanged();
|
||||
MessageBox.Show("密码错误!", "提示");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ConfigService.IsUserLoggedIn = false;
|
||||
_UserManageCmd?.RaiseCanExecuteChanged();
|
||||
MessageBox.Show("当前用户不存在!", "提示");
|
||||
}
|
||||
|
||||
@@ -115,19 +130,36 @@ namespace CapMachine.Wpf.ViewModels
|
||||
{
|
||||
if (_UserManageCmd == null)
|
||||
{
|
||||
_UserManageCmd = new DelegateCommand(() => UserManageCmdMethod());
|
||||
_UserManageCmd = new DelegateCommand(() => UserManageCmdMethod(), () => CanUserManage());
|
||||
}
|
||||
return _UserManageCmd;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 判断当前用户是否可以进行用户管理
|
||||
/// </summary>
|
||||
/// <returns>true可管理,false不可管理</returns>
|
||||
private bool CanUserManage()
|
||||
{
|
||||
return ConfigService.IsUserLoggedIn &&
|
||||
ConfigService.CurUserDto != null &&
|
||||
ConfigService.CurUserDto.Level == "管理员";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 用户管理
|
||||
/// </summary>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
private void UserManageCmdMethod()
|
||||
{
|
||||
if (CurUserDto != null && CurUserDto.Level == "管理员")
|
||||
if (!ConfigService.IsUserLoggedIn)
|
||||
{
|
||||
MessageBox.Show("请先登录后再进行用户管理!", "提示");
|
||||
return;
|
||||
}
|
||||
|
||||
if (ConfigService.CurUserDto != null && ConfigService.CurUserDto.Level == "管理员")
|
||||
{
|
||||
ShowDialogExpInfo();
|
||||
}
|
||||
@@ -157,5 +189,15 @@ namespace CapMachine.Wpf.ViewModels
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 导航到当前页面时刷新用户管理按钮状态
|
||||
/// </summary>
|
||||
/// <param name="navigationContext">导航上下文</param>
|
||||
public override void OnNavigatedTo(NavigationContext navigationContext)
|
||||
{
|
||||
_UserManageCmd?.RaiseCanExecuteChanged();
|
||||
base.OnNavigatedTo(navigationContext);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user