using CapMachine.Core; using CapMachine.Model; using CapMachine.Wpf.Dtos; using CapMachine.Wpf.Services; using Masuit.Tools; using Prism.Commands; using Prism.Events; using Prism.Services.Dialogs; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; namespace CapMachine.Wpf.ViewModels { public class UserManageViewModel : NavigationViewModel { public UserManageViewModel(IEventAggregator eventAggregator, IFreeSql freeSql, ConfigService configService, IDialogService dialogService) { //事件服务 _EventAggregator = eventAggregator; FreeSql = freeSql; ConfigService = configService; DialogService = dialogService; CurUserDto = new UserDto() { IsEnable = true }; } private IEventAggregator _EventAggregator { get; set; } public IFreeSql FreeSql { get; } public ConfigService ConfigService { get; } public IDialogService DialogService { get; } /// /// 当前用户 /// public UserDto CurUserDto { get; set; } private DelegateCommand _LoginCmd; /// /// 用户登录命令 /// public DelegateCommand LoginCmd { set { _LoginCmd = value; } get { if (_LoginCmd == null) { _LoginCmd = new DelegateCommand(() => LoginCmdMethod()); } return _LoginCmd; } } /// /// 用户登录信息 /// /// private void LoginCmdMethod() { if (string.IsNullOrEmpty(CurUserDto.Name)) { MessageBox.Show("用户为空"); return; } if (string.IsNullOrEmpty(CurUserDto.Password)) { MessageBox.Show("密码为空"); return; } var ListUser = FreeSql.Select().Where(a => a.Name == CurUserDto.Name!.Trim() && a.IsEnable == true).ToList(); if (ListUser != null && ListUser.Count() > 0) { if (ListUser.FirstOrDefault().Password == CurUserDto.Password.Trim()) { MessageBox.Show("登录成功!", "提示"); CurUserDto.Level = ListUser.FirstOrDefault().Level; CurUserDto.Password = ""; ConfigService.CurUserDto = CurUserDto; } else { MessageBox.Show("密码错误!", "提示"); } } else { MessageBox.Show("当前用户不存在!", "提示"); } } //UserManageCmd private DelegateCommand _UserManageCmd; /// /// 用户登录命令 /// public DelegateCommand UserManageCmd { set { _UserManageCmd = value; } get { if (_UserManageCmd == null) { _UserManageCmd = new DelegateCommand(() => UserManageCmdMethod()); } return _UserManageCmd; } } /// /// 用户管理 /// /// private void UserManageCmdMethod() { if (CurUserDto != null && CurUserDto.Level == "管理员") { ShowDialogExpInfo(); } else { MessageBox.Show("登录的管理员才有权限编辑用户信息!", "提示"); } } private void ShowDialogExpInfo() { //弹窗 DialogService.ShowDialog("DialogUserView", new DialogParameters() { { "Name", "" } }, (par) => { if (par.Result == ButtonResult.OK) { //用户信息 //var ListChartTabGroupDto = par.Parameters.GetValue("ReturnValue"); } else if (par.Result == ButtonResult.Cancel) { //取消 } }); } } }