ningshuxia
2025-03-24 7b8ae93d47186c442ff890a1a83d108f115924c7
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/05-working/SimulationWorkingCheckedListHelper.cs
@@ -1,5 +1,4 @@
using DevExpress.Utils.Extensions;
using Yw.Vmo;
using Yw.Vmo;
namespace HStation.WinFrmUI
{
@@ -11,12 +10,11 @@
        /// <summary>
        /// 
        /// </summary>
        public SimulationWorkingCheckedListHelper(SimulationVisualListHelper visualListHelper)
        public SimulationWorkingCheckedListHelper()
        {
            _visualListHelper = visualListHelper;
        }
        private SimulationVisualListHelper _visualListHelper = null;//可见列表辅助类
        private Dictionary<HydroWorkingVmo, bool> _allWorkingCheckedListDict = null;//所有工况选择列表字典
        /// <summary>
@@ -25,6 +23,14 @@
        public void InitialData(Dictionary<HydroWorkingVmo, bool> allWorkingCheckedListDict)
        {
            _allWorkingCheckedListDict = allWorkingCheckedListDict;
        }
        /// <summary>
        /// 获取工况字典
        /// </summary>
        public Dictionary<HydroWorkingVmo, bool> GetWorkingDict()
        {
            return _allWorkingCheckedListDict == null ? null : new Dictionary<HydroWorkingVmo, bool>(_allWorkingCheckedListDict);
        }
        /// <summary>
@@ -40,11 +46,29 @@
        /// </summary>
        public List<HydroWorkingVmo> GetCheckedWorkingList()
        {
            return _allWorkingCheckedListDict?.Where(x => x.Value).Select(x => x.Key).OrderBy(x => x.SortCode).ToList();
        }
        /// <summary>
        /// 更新
        /// </summary>
        public void Update(HydroWorkingVmo working)
        {
            if (working == null)
            {
                return;
            }
            if (_allWorkingCheckedListDict == null)
            {
                return default;
                return;
            }
            return _allWorkingCheckedListDict.Where(x => x.Value).Select(x => x.Key).OrderBy(x => x.SortCode).ToList();
            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>
@@ -71,13 +95,17 @@
        /// <summary>
        /// 移除
        /// </summary>
        public void Remove(long workingId)
        public void Remove(HydroWorkingVmo working)
        {
            if (working == null)
            {
                return;
            }
            if (_allWorkingCheckedListDict == null)
            {
                return;
            }
            var key = _allWorkingCheckedListDict.Keys.ToList().Find(x => x.ID == workingId);
            var key = _allWorkingCheckedListDict.Keys.ToList().Find(x => x.ID == working.ID);
            if (key != null)
            {
                _allWorkingCheckedListDict.Remove(key);