alielie
2025-03-03 1fca2167068e9ef2c079ec742f20313fc6697ab1
HMI.MenuManage/UserManage.xaml.cs
@@ -1,12 +1,12 @@
using System;
using System.Windows;
using System.Windows.Controls;
using HMI.Base;
using HMI.Core.Api;
using HMI.Base;
using HMI.MenuManage.Entity;
using HMI.MenuManage.Model;
using HMI.UI.Util;
using log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
namespace HMI.MenuManage
{
@@ -16,7 +16,7 @@
    public partial class UserManage : PluginControl
    {
        UserManageModel Model;
        private ILog log;
        public UserManage()
        {
            Model = new UserManageModel();
@@ -36,6 +36,8 @@
            Button btn = (Button)sender;
            if (btn.Name == "addBtn")
            {
                try
                {
                UserModal userModal = new UserModal
                {
                    Title = "新增用户",
@@ -47,11 +49,27 @@
                    Model.LoadData();
                }
            }
                catch (Exception ex)
                {
                    log.Error("Add User Failed.", ex);
                    ToastHelper.Error(Window.GetWindow(this), $"新增失败!{ex.Message}");
                }
            }
            else if (btn.Name == "refreshBtn")
            {
                try
            {
                Model.LoadData();
            }
                catch (Exception ex)
                {
                    log.Error("Refresh User Failed.", ex);
                    ToastHelper.Error(Window.GetWindow(this), $"刷新失败!{ex.Message}");
                }
            }
            else if (btn.Name == "editBtn")
            {
                try
            {
                UserModal userModal = new UserModal
                {
@@ -64,7 +82,57 @@
                    Model.LoadData();
                }
            }
            else if (btn.Name == "delBtn") { }
                catch (Exception ex)
                {
                    log.Error("Edit User Failed.", ex);
                    ToastHelper.Error(Window.GetWindow(this), $"编辑失败!{ex.Message}");
                }
            }
            else if (btn.Name == "deleteBatchBtn")
            {
                try
                {
                    List<string> usernames = Model.DataSource.Where(x => x.Selected).Select(x => x.Username).ToList();
                    if (usernames == null || usernames.Count <= 0)
                    {
                        ToastHelper.Warning(Window.GetWindow(this), "请选择要删除的用户!");
                        return;
                    }
                    var res = MsgBoxHelper.WarnMessage(Window.GetWindow(this),
                        $"确定删除选中的[{usernames.Count}]条用户吗?该操作不可逆!");
                    if (res == MessageBoxResult.OK)
                    {
                        Model.DeleteUserByUsernames(usernames);
                        Model.LoadData();
                        ToastHelper.Success(Window.GetWindow(this), "删除成功");
                    }
                }
                catch (Exception ex)
                {
                    log.Error("Delete User Batch Failed.", ex);
                    ToastHelper.Error(Window.GetWindow(this), $"删除失败!{ex.Message}");
                }
            }
            else if (btn.Name == "delBtn")
            {
                try
                {
                    var data = (UserData)((Button)sender).DataContext;
                    var res = MsgBoxHelper.WarnMessage(Window.GetWindow(this),
                        $"确定删除用户[{data.Name}]吗?该操作不可逆!");
                    if (res == MessageBoxResult.OK)
                    {
                        Model.DeleteUserByUsername(data.Username);
                        Model.LoadData();
                    }
                }
                catch (Exception ex)
                {
                    log.Error("Delete User Failed.", ex);
                    ToastHelper.Error(Window.GetWindow(this), $"删除失败!{ex.Message}");
                }
            }
            else if (btn.Name == "saveRoleBtn")
            {
                try
@@ -76,18 +144,9 @@
                catch (Exception ex)
                {
                    log.Error("Update User-Role Rel Failed.", ex);
                    ToastHelper.Error(Window.GetWindow(this), $"保存失败!{ex.Message}");
                }
            }
        }
        public void SetLogger(ILog logger)
        {
            log = logger;
        }
        public void SetBaseFolder(string folder)
        {
            throw new NotImplementedException();
        }
    }
}