lixiaojun
2024-12-10 caf081a70d327cfb455b2ddcd5edc2e0acb2d3bf
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/05-working/SimulationWorkingCheckedListHelper.cs
@@ -1,4 +1,4 @@
using DevExpress.Xpo.Helpers;
using DevExpress.Utils.Extensions;
using Yw.Vmo;
namespace HStation.WinFrmUI
@@ -50,19 +50,63 @@
        /// <summary>
        /// 更新
        /// </summary>
        public void Update(HydroWorkingVmo working)
        {
            if (working == null)
            {
                return;
            }
            if (_allWorkingCheckedListDict == null)
            {
                return;
            }
            var key = _allWorkingCheckedListDict.Keys.Where(x => x.ID == working.ID).FirstOrDefault();
            if (key != null)
            {
                var hasChecked = _allWorkingCheckedListDict[key];
                _allWorkingCheckedListDict.Remove(key);
                _allWorkingCheckedListDict.Add(working, hasChecked);
            }
        }
        /// <summary>
        /// 更新
        /// </summary>
        public void Update(HydroWorkingVmo working, bool hasChecked)
        {
            if (working == null)
            {
                return;
            }
            if (_allWorkingCheckedListDict == null)
            {
                _allWorkingCheckedListDict = new Dictionary<HydroWorkingVmo, bool>();
            }
            if (_allWorkingCheckedListDict.ContainsKey(working))
            var key = _allWorkingCheckedListDict.Keys.Where(x => x.ID == working.ID).FirstOrDefault();
            if (key != null)
            {
                _allWorkingCheckedListDict[working] = hasChecked;
                _allWorkingCheckedListDict.Remove(key);
            }
            else
            _allWorkingCheckedListDict.Add(working, hasChecked);
        }
        /// <summary>
        /// 移除
        /// </summary>
        public void Remove(HydroWorkingVmo working)
        {
            if (working == null)
            {
                _allWorkingCheckedListDict.Add(working, hasChecked);
                return;
            }
            if (_allWorkingCheckedListDict == null)
            {
                return;
            }
            var key = _allWorkingCheckedListDict.Keys.ToList().Find(x => x.ID == working.ID);
            if (key != null)
            {
                _allWorkingCheckedListDict.Remove(key);
            }
        }