From 12e606635c42ea20f4b7c2bdda5204237a4b4c96 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 02 三月 2026 16:14:49 +0800
Subject: [PATCH] 优化

---
 HMI.AlermInfoManage/AlarmSettingList.xaml.cs |  113 ++++++++++++++++++++------------------------------------
 1 files changed, 41 insertions(+), 72 deletions(-)

diff --git a/HMI.AlermInfoManage/AlarmSettingList.xaml.cs b/HMI.AlermInfoManage/AlarmSettingList.xaml.cs
index ba8ac96..0ca8013 100644
--- a/HMI.AlermInfoManage/AlarmSettingList.xaml.cs
+++ b/HMI.AlermInfoManage/AlarmSettingList.xaml.cs
@@ -1,14 +1,13 @@
-锘縰sing HMI.AlarmInfoManage.Entity;
+锘縰sing HMI.Core.Entity;
 using HMI.Core.Util;
 using HMI.UI.Util;
 using HMI.Util;
+using HMI.Util.Alarm;
 using log4net;
 using Microsoft.Win32;
-using NPOI.SS.Formula.Functions;
 using Panuon.WPF.UI;
 using System;
 using System.Collections.ObjectModel;
-using System.IO;
 using System.Linq;
 using System.Windows;
 using System.Windows.Controls;
@@ -21,28 +20,21 @@
     public partial class AlarmSettingList : WindowX
     {
         private ILog log;
-        public AlarmSettingList(string blockFile, string markFile, ObservableCollection<AlarmSetting> datasource,
-            ObservableCollection<AlarmSetting> markDatasource,
-            ILog log)
+        public AlarmSettingList(ILog log)
         {
-            this.blockFile = blockFile;
-            this.markFile = markFile;
-            Datasource = datasource;
-            MarkDatasource = markDatasource;
+            BlockDatasource = AlarmUtil.BlockSettings;
+            MarkDatasource = AlarmUtil.MarkSettings;
             this.log = log;
             DataContext = this;
             InitializeComponent();
         }
 
-        private readonly string blockFile;
-        private readonly string markFile;
+        private ObservableCollection<AlarmSetting> blockDatasource;
 
-        private ObservableCollection<AlarmSetting> datasource;
-
-        public ObservableCollection<AlarmSetting> Datasource
+        public ObservableCollection<AlarmSetting> BlockDatasource
         {
-            get => datasource;
-            set { Set(ref datasource, value); }
+            get => blockDatasource;
+            set { Set(ref blockDatasource, value); }
         }
 
         private ObservableCollection<AlarmSetting> markDatasource;
@@ -89,7 +81,7 @@
                     DeleteBatchData();
                     break;
                 case "editBtn":
-                    EditData(ItemIndex == 0 ? Datasource.IndexOf(data) : MarkDatasource.IndexOf(data), data);
+                    EditData(ItemIndex == 0 ? BlockDatasource.IndexOf(data) : MarkDatasource.IndexOf(data), data);
                     break;
                 case "exportBtn":
                     ExportData();
@@ -98,7 +90,7 @@
                     ImportData();
                     break;
                 case "delBtn":
-                    DeleteData(ItemIndex == 0 ? Datasource.IndexOf(data) : MarkDatasource.IndexOf(data));
+                    DeleteData(ItemIndex == 0 ? BlockDatasource.IndexOf(data) : MarkDatasource.IndexOf(data));
                     break;
                 default:
                     break;
@@ -107,55 +99,21 @@
 
         private void LoadData()
         {
-            try
-            {
-                if (File.Exists(blockFile))
-                {
-                    Datasource =
-                        XmlHelper.DeserializeFromXml<ObservableCollection<AlarmSetting>>(blockFile);
-                }
-                else
-                {
-                    Datasource = new ObservableCollection<AlarmSetting>();
-                }
-            }
-            catch (Exception ex)
-            {
-                Datasource = new ObservableCollection<AlarmSetting>();
-                ToastHelper.Error(this, $"{this.lang("App.LoadFailed")}: {ex.Message}");
-            }
-
-            try
-            {
-                if (File.Exists(markFile))
-                {
-                    MarkDatasource =
-                        XmlHelper.DeserializeFromXml<ObservableCollection<AlarmSetting>>(markFile);
-                }
-                else
-                {
-                    MarkDatasource = new ObservableCollection<AlarmSetting>();
-                }
-            }
-            catch (Exception ex)
-            {
-                MarkDatasource = new ObservableCollection<AlarmSetting>();
-                ToastHelper.Error(this, $"{this.lang("App.LoadFailed")}: {ex.Message}");
-            }
+            BlockDatasource = AlarmUtil.BlockSettings;
+            MarkDatasource = AlarmUtil.MarkSettings;
         }
 
         private void AddData(AlarmSetting data)
         {
             try
             {
-                var file = ItemIndex == 0 ? blockFile : markFile;
                 var temp = ItemIndex == 0 ? this.lang("Alm.DbBlockAlarm") : this.lang("Alm.TagAlarm");
                 var modal = new AlarmSettingModal(log)
                 {
                     Title = $"{this.lang("App.Add")}{temp}",
                     Owner = Window.GetWindow(this),
                 };
-                if (modal.Open(-1, data, ItemIndex == 0 ? Datasource : MarkDatasource, file, ItemIndex != 0) == true)
+                if (modal.Open(-1, data, ItemIndex == 0 ? BlockDatasource : MarkDatasource, ItemIndex == 0) == true)
                 {
                     LoadData();
                 }
@@ -171,14 +129,13 @@
         {
             try
             {
-                var file = ItemIndex == 0 ? blockFile : markFile;
                 var temp = ItemIndex == 0 ? this.lang("Alm.DbBlockAlarm") : this.lang("Alm.TagAlarm");
                 var modal = new AlarmSettingModal(log)
                 {
                     Title = $"{this.lang("App.Edit")}{temp}",
                     Owner = Window.GetWindow(this),
                 };
-                if (modal.Open(index, data, ItemIndex == 0 ? Datasource : MarkDatasource, file, ItemIndex != 0) == true)
+                if (modal.Open(index, data, ItemIndex == 0 ? BlockDatasource : MarkDatasource, ItemIndex == 0) == true)
                 {
                     LoadData();
                 }
@@ -201,7 +158,7 @@
                 };
                 if (sfd.ShowDialog() == true)
                 {
-                    ExcelHelper.ExportExcel(sfd.FileName, ItemIndex == 0 ? Datasource : MarkDatasource);
+                    ExcelHelper.ExportExcel(sfd.FileName, ItemIndex == 0 ? BlockDatasource : MarkDatasource);
                 }
             }
             catch (Exception ex)
@@ -225,16 +182,14 @@
                         ExcelHelper.ReadFromExcel<AlarmSetting>(ofd.FileName));
                     if (ItemIndex == 0)
                     {
-                        Datasource = datasource;
+                        AlarmUtil.UpdateBlockSettings(datasource);
+                        BlockDatasource = AlarmUtil.BlockSettings;
                     }
                     else
                     {
-                        MarkDatasource = datasource;
+                        AlarmUtil.UpdateMarkSettings(datasource);
+                        MarkDatasource = AlarmUtil.MarkSettings;
                     }
-                    var file = ItemIndex == 0 ? blockFile : markFile;
-                    var temp = ItemIndex == 0 ? Datasource : MarkDatasource;
-                    XmlHelper.SerializeToXml(file, temp);
-                    LoadData();
                 }
             }
             catch (Exception ex)
@@ -250,11 +205,18 @@
             {
                 if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeleteThis")) == MessageBoxResult.OK)
                 {
-                    var file = ItemIndex == 0 ? blockFile : markFile;
-                    var temp = XmlHelper.DeepClone(ItemIndex == 0 ? Datasource : MarkDatasource);
+                    bool isBlock = ItemIndex == 0;
+                    var temp = XmlHelper.DeepClone(isBlock ? BlockDatasource : MarkDatasource);
 
                     temp.RemoveAt(index);
-                    XmlHelper.SerializeToXml(file, temp);
+                    if (isBlock)
+                    {
+                        AlarmUtil.UpdateBlockSettings(temp);
+                    }
+                    else
+                    {
+                        AlarmUtil.UpdateMarkSettings(temp);
+                    }
                     LoadData();
                 }
             }
@@ -268,7 +230,7 @@
         {
             try
             {
-                var temp = (ItemIndex == 0 ? Datasource : MarkDatasource).Where(e => e.IsSelected).ToList();
+                var temp = (ItemIndex == 0 ? BlockDatasource : MarkDatasource).Where(e => e.IsSelected).ToList();
                 if (temp == null || temp.Count <= 0)
                 {
                     ToastHelper.Warning(Window.GetWindow(this), this.lang("HMI.NoDeleteData"));
@@ -278,9 +240,16 @@
                 if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeletes", temp.Count))
                     == MessageBoxResult.OK)
                 {
-                    var file = ItemIndex == 0 ? blockFile : markFile;
-                    temp = (ItemIndex == 0 ? Datasource : MarkDatasource).Where(e => !e.IsSelected).ToList();
-                    XmlHelper.SerializeToXml(file, temp);
+                    bool isBlock = ItemIndex == 0;
+                    temp = (isBlock ? BlockDatasource : MarkDatasource).Where(e => !e.IsSelected).ToList();
+                    if (isBlock)
+                    {
+                        AlarmUtil.UpdateBlockSettings(temp);
+                    }
+                    else
+                    {
+                        AlarmUtil.UpdateMarkSettings(temp);
+                    }
                     LoadData();
                 }
             }

--
Gitblit v1.9.1