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