lixiaojun
2025-01-07 db26311246d1c1cecadf4a22dc44ffa570ee40f2
WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/03-waterbox/SetHydroWaterboxDlg.cs
@@ -15,24 +15,38 @@
        /// </summary>
        public event Action<List<Yw.Model.HydroWaterboxInfo>> ReloadDataEvent;
        //所有部件列表
        private List<Yw.Model.HydroWaterboxInfo> _allVisualList = null;
        private List<Yw.Model.HydroWaterboxInfo> _allVisualList = null;//所有部件列表
        private HydroChangeHelper _changeHelper = null;//改变辅助类
        private HydroPropStatusHelper _propStatusHelper = null;//属性状态辅助类
        /// <summary>
        /// 绑定数据
        /// </summary>
        public void SetBindingData(Yw.Model.HydroWaterboxInfo visual)
        public void SetBindingData
            (
                Yw.Model.HydroWaterboxInfo visual,
                HydroChangeHelper changeHelper = null,
                HydroPropStatusHelper propStatusHelper = null
            )
        {
            var allVisualList = visual == null ? null : new List<Yw.Model.HydroWaterboxInfo>() { visual };
            SetBindingData(allVisualList);
            SetBindingData(allVisualList, changeHelper, propStatusHelper);
        }
        /// <summary>
        /// 绑定数据
        /// </summary>
        public void SetBindingData(List<Yw.Model.HydroWaterboxInfo> allVisualList)
        public void SetBindingData
            (
                List<Yw.Model.HydroWaterboxInfo> allVisualList,
                HydroChangeHelper changeHelper = null,
                HydroPropStatusHelper propStatusHelper = null
            )
        {
            _allVisualList = allVisualList;
            _changeHelper = changeHelper;
            _propStatusHelper = propStatusHelper;
            if (_allVisualList != null && _allVisualList.Count == 1)
            {
                var visual = _allVisualList.First();
@@ -41,6 +55,7 @@
                this.txtMinLevel.EditValue = Math.Round(visual.MinLevel, 4);
                this.txtMaxLevel.EditValue = Math.Round(visual.MaxLevel, 4);
                this.txtDN.EditValue = Math.Round(visual.DN, 4);
                this.txtMinVol.EditValue = Math.Round(visual.MinVol, 2);
            }
        }
@@ -56,28 +71,63 @@
            double? minLevel = this.txtMinLevel.EditValue == null ? null : double.Parse(this.txtMinLevel.EditValue.ToString());
            double? maxLevel = this.txtMaxLevel.EditValue == null ? null : double.Parse(this.txtMaxLevel.EditValue.ToString());
            double? dn = this.txtDN.EditValue == null ? null : double.Parse(this.txtDN.EditValue.ToString());
            double? minVol = this.txtMinVol.EditValue == null ? null : double.Parse(this.txtMinVol.EditValue.ToString());
            _allVisualList.ForEach(x =>
            {
                if (poolElev.HasValue)
                {
                    if (x.PoolElev != poolElev.Value)
                    {
                        _changeHelper.Append(x, eChangeType.Update);
                        _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.PoolElev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改");
                    }
                    x.PoolElev = poolElev.Value;
                }
                if (initLevel.HasValue)
                {
                    if (x.InitLevel != initLevel.Value)
                    {
                        _changeHelper.Append(x, eChangeType.Update);
                        _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.InitLevel), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改");
                    }
                    x.InitLevel = initLevel.Value;
                }
                if (minLevel.HasValue)
                {
                    if (x.MinLevel != minLevel.Value)
                    {
                        _changeHelper.Append(x, eChangeType.Update);
                        _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinLevel), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改");
                    }
                    x.MinLevel = minLevel.Value;
                }
                if (maxLevel.HasValue)
                {
                    if (x.MaxLevel != maxLevel.Value)
                    {
                        _changeHelper.Append(x, eChangeType.Update);
                        _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MaxLevel), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改");
                    }
                    x.MaxLevel = maxLevel.Value;
                }
                if (dn.HasValue)
                {
                    if (x.DN != dn.Value)
                    {
                        _changeHelper.Append(x, eChangeType.Update);
                        _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.DN), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改");
                    }
                    x.DN = dn.Value;
                }
                if (minVol.HasValue)
                {
                    if (x.MinVol != minVol.Value)
                    {
                        _changeHelper.Append(x, eChangeType.Update);
                        _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinVol), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改");
                    }
                    x.MinVol = minVol.Value;
                }
            });
            this.ReloadDataEvent?.Invoke(_allVisualList);
            this.DialogResult = DialogResult.OK;