From 1fca2167068e9ef2c079ec742f20313fc6697ab1 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 03 三月 2025 09:18:33 +0800
Subject: [PATCH] 完善代码;

---
 HMI.MenuManage/RoleManage.xaml.cs |  170 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 93 insertions(+), 77 deletions(-)

diff --git a/HMI.MenuManage/RoleManage.xaml.cs b/HMI.MenuManage/RoleManage.xaml.cs
index 15df9a5..8b3300a 100644
--- a/HMI.MenuManage/RoleManage.xaml.cs
+++ b/HMI.MenuManage/RoleManage.xaml.cs
@@ -1,15 +1,13 @@
-锘縰sing System;
-using System.ComponentModel;
-using System.Runtime.CompilerServices;
-using System.Windows;
-using System.Windows.Controls;
-using log4net;
-using log4net.Repository.Hierarchy;
-using Panuon.WPF.UI;
-using HMI.Core.Api;
+锘縰sing HMI.Base;
 using HMI.MenuManage.Entity;
 using HMI.MenuManage.Model;
-using HMI.Base;
+using HMI.UI.Util;
+using Panuon.WPF.UI;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows;
+using System.Windows.Controls;
 
 namespace HMI.MenuManage
 {
@@ -18,29 +16,8 @@
     /// </summary>
     public partial class RoleManage : PluginControl
     {
-        #region ...
-        public virtual event PropertyChangedEventHandler PropertyChanged;
-
-        protected virtual void RaisePropertyChanged(string name)
-        {
-
-            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
-        }
-
-        protected void RaiseAndSetIfChanged<T>(ref T old, T @new, [CallerMemberName] string propertyName = null)
-        {
-            old = @new;
-            if (propertyName != null)
-            {
-                RaisePropertyChanged(propertyName);
-            }
-        }
-        #endregion
-
         #region 灞炴��
         private RoleManageModel Model;
-        private ILog log;
-
         #endregion
 
         public RoleManage()
@@ -60,26 +37,6 @@
         #region 灞炴��
 
         #endregion
-
-        public object Active()
-        {
-            return null;
-        }
-
-        public object DeActive()
-        {
-            return null;
-        }
-
-        public object Init()
-        {
-            return null;
-        }
-
-        public void OnTabChange(object sender, object args)
-        {
-        }
-
         private void Button_Click(object sender, RoutedEventArgs e)
         {
             try
@@ -87,48 +44,112 @@
                 Button btn = (Button)sender;
                 if (btn.Name == "addBtn")
                 {
-                    RoleModal modal = new RoleModal
+                    try
                     {
-                        Title = "鏂板瑙掕壊",
-                        Owner = Window.GetWindow(this),
-                        sqliteHelper = Model.sqliteHelper
-                    };
-                    if (modal.Open(new RoleData()) == true)
+                        RoleModal modal = new RoleModal
+                        {
+                            Title = "鏂板瑙掕壊",
+                            Owner = Window.GetWindow(this),
+                            sqliteHelper = Model.sqliteHelper
+                        };
+                        if (modal.Open(new RoleData()) == true)
+                        {
+                            Model.LoadData();
+                        }
+                    }
+                    catch (Exception ex)
                     {
-                        Model.LoadData();
+                        log.Error("Add Role Failed.", ex);
+                        ToastHelper.Error(Window.GetWindow(this), $"鏂板澶辫触锛亄ex.Message}");
                     }
                 }
                 else if (btn.Name == "refreshBtn")
                 {
-                    Model.LoadData();
+                    try
+                    {
+                        Model.LoadData();
+                    }
+                    catch (Exception ex)
+                    {
+                        log.Error("Refresh Role Failed.", ex);
+                        ToastHelper.Error(Window.GetWindow(this), $"鍒锋柊澶辫触锛亄ex.Message}");
+                    }
                 }
                 else if (btn.Name == "menuBtn")
                 {
-                    Model.LoadRelData((RoleData)btn.DataContext);
+                    try
+                    {
+                        Model.LoadRelData((RoleData)btn.DataContext);
+                    }
+                    catch (Exception ex)
+                    {
+                        log.Error("Load Role-Menu Failed.", ex);
+                        ToastHelper.Error(Window.GetWindow(this), $"鍒锋柊瑙掕壊澶辫触锛亄ex.Message}");
+                    }
                 }
                 else if (btn.Name == "editBtn")
                 {
-                    RoleModal modal = new RoleModal
+                    try
                     {
-                        Title = "缂栬緫瑙掕壊",
-                        Owner = Window.GetWindow(this),
-                        sqliteHelper = Model.sqliteHelper
-                    };
-                    if (modal.Open((RoleData)btn.DataContext) == true)
+                        RoleModal modal = new RoleModal
+                        {
+                            Title = "缂栬緫瑙掕壊",
+                            Owner = Window.GetWindow(this),
+                            sqliteHelper = Model.sqliteHelper
+                        };
+                        if (modal.Open((RoleData)btn.DataContext) == true)
+                        {
+                            Model.LoadData();
+                        }
+                    }
+                    catch (Exception ex)
                     {
-                        Model.LoadData();
+                        log.Error("Edit Role Failed.", ex);
+                        ToastHelper.Error(Window.GetWindow(this), $"缂栬緫澶辫触锛亄ex.Message}");
+                    }
+                }
+                else if (btn.Name == "deleteBatchBtn")
+                {
+                    try
+                    {
+                        List<string> codes = Model.DataSource.Where(x => x.Selected).Select(x => x.Code).ToList();
+                        if (codes == null || codes.Count <= 0)
+                        {
+                            ToastHelper.Warning(Window.GetWindow(this), "璇烽�夋嫨瑕佸垹闄ょ殑瑙掕壊锛�");
+                            return;
+                        }
+
+                        var res = MsgBoxHelper.WarnMessage(Window.GetWindow(this),
+                            $"纭畾鍒犻櫎閫変腑鐨刐{codes.Count}]鏉¤鑹插悧锛熻鎿嶄綔涓嶅彲閫嗭紒");
+                        if (res == MessageBoxResult.OK)
+                        {
+                            Model.DeleteRoleByCodes(codes);
+                            Model.LoadData();
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        log.Error("Delete Role Batch Failed.", ex);
+                        ToastHelper.Error(Window.GetWindow(this), $"鍒犻櫎澶辫触锛亄ex.Message}");
                     }
                 }
                 else if (btn.Name == "delBtn")
                 {
                     try
                     {
-                        Model.DelSingleData((RoleData)btn.DataContext);
+                        var data = (RoleData)((Button)sender).DataContext;
+                        var res = MsgBoxHelper.WarnMessage(Window.GetWindow(this),
+                            $"纭畾鍒犻櫎瑙掕壊[{data.Name}]鍚楋紵璇ユ搷浣滀笉鍙�嗭紒");
+                        if (res == MessageBoxResult.OK)
+                        {
+                            Model.DelSingleData(data);
+                            Model.LoadData();
+                        }
                     }
                     catch (Exception ex)
                     {
                         log.Error("Delete Role Failed.", ex);
-                        Panuon.WPF.UI.Toast.Show((WindowX)Window.GetWindow(this), "鍒犻櫎澶辫触", ToastPosition.Top);
+                        Toast.Show((WindowX)Window.GetWindow(this), "鍒犻櫎澶辫触", ToastPosition.Top);
                     }
                 }
                 else if (btn.Name == "saveMenuBtn")
@@ -136,24 +157,19 @@
                     try
                     {
                         Model.SaveRelData(Model.SelectedValue);
-                        Panuon.WPF.UI.Toast.Show((WindowX)Window.GetWindow(this), "淇濆瓨鎴愬姛", ToastPosition.Top);
+                        Toast.Show((WindowX)Window.GetWindow(this), "淇濆瓨鎴愬姛", ToastPosition.Top);
                     }
                     catch (Exception ex)
                     {
                         log.Error("Save Role-Menu Failed.", ex);
-                        Panuon.WPF.UI.Toast.Show((WindowX)Window.GetWindow(this), "淇濆瓨澶辫触", ToastPosition.Top);
+                        Toast.Show((WindowX)Window.GetWindow(this), "淇濆瓨澶辫触", ToastPosition.Top);
                     }
                 }
             }
             catch (Exception ex)
             {
-                log.Error("123", ex);
+                log.Error("Something Error...", ex);
             }
-        }
-
-        public void SetLogger(ILog logger)
-        {
-            this.log = logger;
         }
     }
 }

--
Gitblit v1.9.1