From 0f99d4d12f2eae29bbe343f4b3131f2faeccda5d Mon Sep 17 00:00:00 2001
From: Shuxia Ning <NingShuxia0927@outlook.com>
Date: 星期二, 14 一月 2025 17:31:20 +0800
Subject: [PATCH] 泵曲线修改

---
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkDlg.cs |   82 +++++++++++++++++++++++++++-------------
 1 files changed, 55 insertions(+), 27 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkDlg.cs
index 77f8d27..1772578 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkDlg.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/08-fourlink/SetHydroFourlinkDlg.cs
@@ -15,24 +15,37 @@
         /// </summary>
         public event Action<List<Yw.Model.HydroFourlinkInfo>> ReloadDataEvent;
 
-        //鎵�鏈夋瀯浠跺垪琛�
-        private List<Yw.Model.HydroFourlinkInfo> _allVisualList = null;
+        private List<Yw.Model.HydroFourlinkInfo> _allVisualList = null;//鎵�鏈夋瀯浠跺垪琛�
+        private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫�
+        private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被
 
         /// <summary>
         /// 缁戝畾鏁版嵁
         /// </summary>
-        public void SetBindingData(Yw.Model.HydroFourlinkInfo visual)
+        public void SetBindingData
+            (
+                Yw.Model.HydroFourlinkInfo visual,
+                HydroChangeHelper changeHelper = null,
+                HydroPropStatusHelper propStatusHelper = null
+            )
         {
             var allVisualList = visual == null ? null : new List<Yw.Model.HydroFourlinkInfo>() { visual };
-            SetBindingData(allVisualList);
+            SetBindingData(allVisualList, changeHelper, propStatusHelper);
         }
 
         /// <summary>
         /// 缁戝畾鏁版嵁
         /// </summary>
-        public void SetBindingData(List<Yw.Model.HydroFourlinkInfo> allVisualList)
+        public void SetBindingData
+            (
+                List<Yw.Model.HydroFourlinkInfo> allVisualList,
+                HydroChangeHelper changeHelper = null,
+                HydroPropStatusHelper propStatusHelper = null
+            )
         {
             _allVisualList = allVisualList;
+            _changeHelper = changeHelper;
+            _propStatusHelper = propStatusHelper;
             if (_allVisualList != null && _allVisualList.Count == 1)
             {
                 var visual = _allVisualList.First();
@@ -43,18 +56,6 @@
             }
         }
 
-        //楠岃瘉
-        private bool Valid()
-        {
-            this.dxErrorProvider1.ClearErrors();
-            if (this.txtElev.EditValue == null)
-            {
-                this.dxErrorProvider1.SetError(this.txtElev, "蹇呭~椤�");
-                return false;
-            }
-            return true;
-        }
-
         //纭畾
         private void GeneralOkAndCancelCtrl1_OkEvent()
         {
@@ -62,22 +63,49 @@
             {
                 return;
             }
-            if (!Valid())
-            {
-                return;
-            }
 
             var material = this.txtMaterial.Text.Trim();
             double? caliber = this.txtCaliber.EditValue == null ? null : double.Parse(this.txtCaliber.EditValue.ToString());
-            var elev = double.Parse(this.txtElev.EditValue.ToString());
+            double? elev = this.txtElev.EditValue == null ? null : double.Parse(this.txtElev.EditValue.ToString());
             double? minorLoss = this.txtMinorLoss.EditValue == null ? null : double.Parse(this.txtMinorLoss.EditValue.ToString());
-
             _allVisualList.ForEach(x =>
             {
-                x.Elev = elev;
-                x.MinorLoss = minorLoss;
-                x.Material = material;
-                x.Caliber = caliber;
+                if (elev.HasValue)
+                {
+                    if (x.Elev != elev.Value)
+                    {
+                        _changeHelper.Append(x, eChangeType.Update);
+                        _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Elev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼");
+                    }
+                    x.Elev = elev.Value;
+                }
+                if (minorLoss.HasValue)
+                {
+                    if (x.MinorLoss != minorLoss.Value)
+                    {
+                        _changeHelper.Append(x, eChangeType.Update);
+                        _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼");
+                    }
+                    x.MinorLoss = minorLoss.Value;
+                }
+                if (!string.IsNullOrEmpty(material))
+                {
+                    if (x.Material != material)
+                    {
+                        _changeHelper.Append(x, eChangeType.Update);
+                        _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Material), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼");
+                    }
+                    x.Material = material;
+                }
+                if (caliber.HasValue)
+                {
+                    if (x.Caliber != caliber.Value)
+                    {
+                        _changeHelper.Append(x, eChangeType.Update);
+                        _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Caliber), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃璁剧疆缁勪欢淇敼");
+                    }
+                    x.Caliber = caliber.Value;
+                }
             });
             this.ReloadDataEvent?.Invoke(_allVisualList);
             this.DialogResult = DialogResult.OK;

--
Gitblit v1.9.3