From fd206ba4e3e792eb01898fea540d50c2fd92f364 Mon Sep 17 00:00:00 2001
From: qin <a@163.com>
Date: 星期二, 18 三月 2025 13:46:34 +0800
Subject: [PATCH] IBox封装隐藏按钮

---
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs |   91 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 89 insertions(+), 2 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs
index 5c28aa4..39642fc 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs
@@ -24,6 +24,38 @@
 
         private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅
         private Dictionary<string, List<Yw.Model.HydroParterPropStatusInfo>> _dict = null;//瀛楀吀
+        private Dictionary<string, List<Yw.Model.HydroParterPropStatusInfo>> _dictUpdate = null;//鏇存柊瀛楀吀
+
+        /// <summary>
+        /// 鑾峰彇灞炴�х姸鎬佷俊鎭�
+        /// </summary>
+        public HydroParterPropStatusInfo GetPropStatusInfo(string code, string propNameInfo)
+        {
+            if (string.IsNullOrEmpty(code))
+            {
+                return default;
+            }
+            if (string.IsNullOrEmpty(propNameInfo))
+            {
+                return default;
+            }
+            if (_dict == null)
+            {
+                _dict = new Dictionary<string, List<Model.HydroParterPropStatusInfo>>();
+            }
+            if (!_dict.ContainsKey(code))
+            {
+                _dict.Add(code, new List<Model.HydroParterPropStatusInfo>());
+            }
+            if (_dict[code] == null)
+            {
+                _dict[code] = new List<Model.HydroParterPropStatusInfo>();
+            }
+            var list = _dict[code];
+            var propStatusInfo = list.Find(x => x.PropName == propNameInfo);
+            return propStatusInfo;
+
+        }
 
         /// <summary>
         /// 鑾峰彇灞炴�х姸鎬丏b鍒楄〃
@@ -31,6 +63,23 @@
         public List<Yw.Model.HydroParterPropStatusInfo> GetPropStatusDbList()
         {
             return _hydroInfo.ToPropStatusDbList(_dict);
+        }
+
+        /// <summary>
+        /// 鑾峰彇鏇存柊灞炴�х姸鎬丏b鍒楄〃
+        /// </summary>
+        /// <returns></returns>
+        public List<Yw.Model.HydroParterPropStatusInfo> GetUpdatePropStatusDbList()
+        {
+            return _hydroInfo.ToPropStatusDbList(_dictUpdate);
+        }
+
+        /// <summary>
+        /// 閲嶇疆
+        /// </summary>
+        public void Reset()
+        {
+            _dictUpdate?.Clear();
         }
 
         /// <summary>
@@ -70,11 +119,49 @@
             var propStatusInfo = list.Find(x => x.PropName == propNameInfo);
             if (propStatusInfo == null)
             {
-                propStatusInfo.Parter = code;
-                propStatusInfo.PropName = propNameInfo;
+                propStatusInfo = new HydroParterPropStatusInfo()
+                {
+                    Parter = code,
+                    PropName = propNameInfo
+                };
+                list.Add(propStatusInfo);
             }
             propStatusInfo.PropStatus = propStatus;
             propStatusInfo.StatusInfo = statusInfo;
+
+            AppendUpdatePropStatus(propStatusInfo);
+        }
+
+        //闄勫姞鏇存柊灞炴�х姸鎬�
+        private void AppendUpdatePropStatus(HydroParterPropStatusInfo propStatusInfo)
+        {
+            if (propStatusInfo == null)
+            {
+                return;
+            }
+            if (string.IsNullOrEmpty(propStatusInfo.Parter))
+            {
+                return;
+            }
+            if (string.IsNullOrEmpty(propStatusInfo.PropName))
+            {
+                return;
+            }
+            if (_dictUpdate == null)
+            {
+                _dictUpdate = new Dictionary<string, List<HydroParterPropStatusInfo>>();
+            }
+            if (!_dictUpdate.ContainsKey(propStatusInfo.Parter))
+            {
+                _dictUpdate.Add(propStatusInfo.Parter, new List<HydroParterPropStatusInfo>());
+            }
+            if (_dictUpdate[propStatusInfo.Parter] == null)
+            {
+                _dictUpdate[propStatusInfo.Parter] = new List<Model.HydroParterPropStatusInfo>();
+            }
+            var list = _dictUpdate[propStatusInfo.Parter];
+            list.RemoveAll(x => x.PropName == propStatusInfo.PropName);
+            list.Add(propStatusInfo);
         }
 
 

--
Gitblit v1.9.3