123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- using AutoMapper;
- using BizService;
- using Microsoft.Extensions.Logging;
- using Model.Dto;
- using Model.Entities;
- using PLCTool.Common;
- using PLCTool.Controls;
- using PLCTool.Events;
- using PLCTool.Models;
- using Prism.Commands;
- using Prism.Events;
- using Prism.Mvvm;
- using Prism.Services.Dialogs;
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.Linq;
- using System.Text;
- using System.Text.RegularExpressions;
- using System.Threading.Tasks;
- using System.Windows;
- namespace PLCTool.ViewModels.SystemManageViewModel
- {
- public class UserManageViewModel:BindableBase
- {
- private readonly IUserService _iUserService;
- private readonly ILogger _logger;
- private readonly IMapper _mapper;
- private readonly IDialogService _dialog;
- private readonly IEventAggregator _aggregator;
- private List<UserDto> allUserInfoList = new List<UserDto>();
- public UserManageViewModel(IUserService iUserService, IMapper mapper, ILogger logger, IDialogService dialog,IEventAggregator aggregator)
- {
- _iUserService = iUserService;
- _mapper = mapper;
- _logger = logger;
- _dialog = dialog;
- _aggregator = aggregator;
- AddCommand = new DelegateCommand<object>(AddUser);
- EditCommand = new DelegateCommand<object>(EditUser);
- DeleteCommand = new DelegateCommand<object>(Delete);
- OnLoadCommand = new DelegateCommand(OnLoad);
- QueryCommand = new DelegateCommand<object>(Query);
-
- }
-
- #region 私有方法
- private void OnLoad()
- {
- GetAllUsers();
- //发布面包靴
- List<CrumbViewModel> breadCrumbs = new List<CrumbViewModel>();
- breadCrumbs.Add(new CrumbViewModel { Name = "系统管理" });
- breadCrumbs.Add(new CrumbViewModel { Name = "用户管理", NavigateRegion = "UserManageView" });
- _aggregator.GetEvent<BreadEvent>().Publish(breadCrumbs);
- }
- private void AddUser(object obj)
- {
- _dialog.ShowDialog("AddEditUserView", async callback =>
- {
- if (callback.Result == ButtonResult.OK)
- {
- GetAllUsers();
- }
- });
- }
- private void EditUser(object obj)
- {
- int id = Convert.ToInt32(obj);
-
- DialogParameters parm = new DialogParameters();
- parm.Add("Key", id);
- //蒙层显示
- _aggregator.GetEvent<MaskEvent>().Publish(true);
- _dialog.ShowDialog("AddEditUserView", parm, async callback =>
- {
- if (callback.Result == ButtonResult.OK)
- {
- GetAllUsers();
- }
- });
- }
- private void Delete(object obj)
- {
- int id = Convert.ToInt32(obj);
- MessageBoxResult boxResult = MessageBox.Show("确认删除此条数据?", "确认", MessageBoxButton.OKCancel, MessageBoxImage.Question);
- if (boxResult == MessageBoxResult.OK)
- {
- var del = _iUserService.Delete(id);
- if (del)
- {
- MessageBox.Show("删除成功!", "确认", MessageBoxButton.OK, MessageBoxImage.Information);
- GetAllUsers();
- }
- }
- }
- private void GetAllUsers()
- {
- var users = _iUserService.QueryList();
- allUserInfoList = _mapper.Map<List<User>, List<UserDto>>(users);
- UserInfoList = new ObservableCollection<UserDto>(allUserInfoList);
- }
- /// <summary>
- /// 判断输入的数据
- /// </summary>
- /// <param name="input"></param>
- /// <summary>
- /// 获取PLC配置
- /// </summary>
- /// <summary>
- /// 查询
- /// </summary>
- /// <param name="obj"></param>
- private void Query(object obj)
- {
- var conUsers = (from a in allUserInfoList
- where (string.IsNullOrEmpty(UserName) ? true : (a.UserName.Contains(UserName)))
-
- select a).ToList();
- //默认显示的第一页
- UserInfoList = new ObservableCollection<UserDto>(conUsers);
- }
- #endregion
- #region 数据绑定
- private ObservableCollection<UserDto> userInfoList = new ObservableCollection<UserDto>();
- public ObservableCollection<UserDto> UserInfoList
- {
- get { return userInfoList; }
- set { userInfoList = value; RaisePropertyChanged(); }
- }
- private string userName = string.Empty;
- public string UserName
- {
- get { return userName; }
- set { userName = value; RaisePropertyChanged(); }
- }
- #endregion
- #region 命令绑定
- public DelegateCommand OnLoadCommand { set; get; }
- public DelegateCommand<object> AddCommand { set; get; }
- public DelegateCommand<object> EditCommand { set; get; }
- public DelegateCommand<object> DeleteCommand { set; get; }
- public DelegateCommand<object> QueryCommand { set; get; }
-
- #endregion
- }
- }
|