From 771a0e7b6b1276087515bbe94de28358cb92963b Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期四, 04 六月 2026 10:32:27 +0800
Subject: [PATCH] 优化老化;

---
 HMI.AlermInfoManage/Modal/AlarmSettingModal.xaml.cs |   37 ++++++++++++++++++++++++++++---------
 1 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/HMI.AlermInfoManage/Modal/AlarmSettingModal.xaml.cs b/HMI.AlermInfoManage/Modal/AlarmSettingModal.xaml.cs
index 08f0f70..8668aee 100644
--- a/HMI.AlermInfoManage/Modal/AlarmSettingModal.xaml.cs
+++ b/HMI.AlermInfoManage/Modal/AlarmSettingModal.xaml.cs
@@ -1,7 +1,8 @@
-锘縰sing HMI.AlarmInfoManage.Entity;
+锘縰sing HMI.Core.Entity;
 using HMI.Core.Util;
 using HMI.UI.DpUtil;
 using HMI.UI.Util;
+using HMI.Util.Alarm;
 using log4net;
 using Panuon.WPF.UI;
 using System;
@@ -24,7 +25,7 @@
             InitializeComponent();
         }
         private ILog log;
-        public string FilePath { get; private set; }
+        private bool isBlock;
         public int DataIndex { get; private set; }
         public AlarmSetting Data { get; private set; }
         public ObservableCollection<AlarmSetting> Datasource { get; private set; }
@@ -73,7 +74,8 @@
         public bool ValidateDBAddress(object value, out string err)
         {
             err = null;
-            if (Datasource?.FirstOrDefault(e => e.DBAddress == value) != null)
+            var target = Datasource?.FirstOrDefault(e => e.DBAddress == value);
+            if (target != null && target != Data)
             {
                 err = this.lang("App.MustBeUnique", this.lang("Alm.DbAddress"));
                 return false;
@@ -89,23 +91,26 @@
                 Data.DBAddress = dbAddress.Text;
                 Data.StartAddress = startAddress.Text;
                 Data.Length = Convert.ToInt32(length.Value);
+                Data.AlarmCode = TbCode.Text;
+                Data.Level = NiLevel.Value ?? 0d;
                 Data.Description = TbDesc.Text;
             }
             return flag;
         }
 
         public bool? Open(int index, AlarmSetting data,
-            ObservableCollection<AlarmSetting> dataSource,
-            string filePath, bool showDescription)
+            ObservableCollection<AlarmSetting> dataSource, bool isBlock)
         {
-            FgDesc.Visibility = showDescription ? Visibility.Visible : Visibility.Collapsed;
-            FilePath = filePath;
+            this.isBlock = isBlock;
+            FgCode.Visibility = isBlock ? Visibility.Visible : Visibility.Collapsed;
             DataIndex = index;
             Data = data;
             Datasource = dataSource;
             dbAddress.Text = Data.DBAddress;
             startAddress.Text = Data.StartAddress;
             length.Value = Data.Length;
+            TbCode.Text = Data.AlarmCode;
+            NiLevel.Value = Data.Level;
             TbDesc.Text = Data.Description;
             return this.ShowDialog();
         }
@@ -125,13 +130,27 @@
         public void InsertData(AlarmSetting data)
         {
             Datasource.Add(data);
-            XmlHelper.SerializeToXml(FilePath, Datasource);
+            if (this.isBlock)
+            {
+                AlarmUtil.UpdateBlockSettings(Datasource);
+            }
+            else
+            {
+                AlarmUtil.UpdateMarkSettings(Datasource);
+            }
         }
 
         public void UpdateData(int index, AlarmSetting data)
         {
             Datasource[index] = data;
-            XmlHelper.SerializeToXml(FilePath, Datasource);
+            if (this.isBlock)
+            {
+                AlarmUtil.UpdateBlockSettings(Datasource);
+            }
+            else
+            {
+                AlarmUtil.UpdateMarkSettings(Datasource);
+            }
         }
     }
 }

--
Gitblit v1.9.1