From 18225d288883a20cb7c634bda8032e1ecfee89da Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期二, 22 十月 2024 14:14:26 +0800
Subject: [PATCH] 型号展示界面调用

---
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/HydroParterPropertyCtrl.cs |  183 ++++++++++++++++++++++++++-------------------
 1 files changed, 104 insertions(+), 79 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/HydroParterPropertyCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/HydroParterPropertyCtrl.cs
index a40d6bd..4e2dd5d 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/HydroParterPropertyCtrl.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/HydroParterPropertyCtrl.cs
@@ -1,17 +1,9 @@
-锘縰sing DevExpress.Data.ExpressionEditor;
-using DevExpress.Utils;
-using DevExpress.XtraBars;
+锘縰sing DevExpress.XtraBars;
 using DevExpress.XtraEditors;
 using DevExpress.XtraEditors.Controls;
 using DevExpress.XtraEditors.Repository;
 using DevExpress.XtraLayout.Utils;
-using DevExpress.XtraRichEdit.SpellChecker;
 using DevExpress.XtraVerticalGrid.Events;
-using NetTaste;
-using SQLitePCL;
-using System.Text;
-using System.Windows.Forms.VisualStyles;
-using Yw.EPAnet;
 
 namespace Yw.WinFrmUI
 {
@@ -27,18 +19,22 @@
 
         /// <summary>
         /// 鍖归厤db浜嬩欢
+        /// 绗竴涓弬鏁颁负鍖归厤Db鐨刅iewModel
+        /// 绗簩涓弬鏁颁负鏄惁鍖归厤鎴愬姛
         /// </summary>
-        public event Action<Yw.Model.HydroParterInfo> MatchingDbEvent;
-        /// <summary>
-        /// 鏌ョ湅鏇茬嚎浜嬩欢
-        /// </summary>
-        public event Action<Yw.Model.HydroParterInfo, string> ViewCurveEvent;
+        public event Func<HydroParterPropertyViewModel, bool> MatchingDbEvent;
         /// <summary>
         /// 璁剧疆鏇茬嚎浜嬩欢
+        /// 绗竴涓弬鏁颁负璁剧疆鏇茬嚎鐨刅iewModel
+        /// 绗簩涓弬鏁颁负鏇茬嚎绫诲瀷
+        /// 绗笁涓弬鏁颁负鏄惁璁剧疆鎴愬姛
         /// </summary>
         public event Func<HydroParterPropertyViewModel, string, bool> SetCurveEvent;
         /// <summary>
         /// 璁剧疆妯″紡浜嬩欢
+        /// 绗竴涓弬鏁颁负璁剧疆妯″紡浜嬬殑ViewModel
+        /// 绗簩涓弬鏁颁负妯″紡浜嬬被鍨�
+        /// 绗笁涓弬鏁颁负鏄惁璁剧疆鎴愬姛
         /// </summary>
         public event Func<HydroParterPropertyViewModel, string, bool> SetPatternEvent;
         /// <summary>
@@ -49,14 +45,12 @@
         /// 灞炴�у�煎彂鐢熸敼鍙樹簨浠�
         /// </summary>
         public event Func<HydroParterPropertyViewModel, bool> PropertyValueChangedEvent;
-
         /// <summary>
         /// 寮鸿皟杩炴帴缁勪欢浜嬩欢
         /// 绗竴涓弬鏁颁负鏈韩Code
         /// 绗簩涓弬鏁颁负杩炴帴Code
         /// </summary>
         public event Action<string, string> BlinkLinkParterEvent;
-
 
 
         //鑾峰彇姘村姏淇℃伅鏂规硶
@@ -356,10 +350,44 @@
 
             #endregion
 
+            #region 鍨嬪彿
+
+            var modelTypeAttri = (IsHydroModelTypeAttribute)descriptor.Attributes[typeof(IsHydroModelTypeAttribute)];
+            if (modelTypeAttri != null)
+            {
+                var buttonEdit = new RepositoryItemButtonEdit();
+                buttonEdit.TextEditStyle = TextEditStyles.DisableTextEditor;
+                buttonEdit.ButtonClick += delegate
+                {
+                    if (this.MatchingDbEvent == null)
+                    {
+                        return;
+                    }
+                    var hydroInfo = _hydroInfoFunc?.Invoke();
+                    if (hydroInfo == null)
+                    {
+                        return;
+                    }
+                    var vm = GetPropertyViewModel(e.Row);
+                    if (vm == null)
+                    {
+                        return;
+                    }
+                    var bol = this.MatchingDbEvent.Invoke(vm);
+                    if (bol)
+                    {
+                        UpdateRows();
+                    }
+                };
+                e.RepositoryItem = buttonEdit;
+            }
+
+            #endregion
+
             #region 鏇茬嚎
 
-            var curvePro = (IsHydroCurveProAttribute)descriptor.Attributes[typeof(IsHydroCurveProAttribute)];
-            if (curvePro != null)
+            var curvePropAttri = (IsHydroCurveProAttribute)descriptor.Attributes[typeof(IsHydroCurveProAttribute)];
+            if (curvePropAttri != null)
             {
                 var buttonEdit = new RepositoryItemButtonEdit();
                 buttonEdit.TextEditStyle = TextEditStyles.DisableTextEditor;
@@ -371,24 +399,22 @@
                         return;
                     }
                     var vm = GetPropertyViewModel(e.Row);
-                    switch (curvePro.CurveType)
+                    switch (curvePropAttri.CurveType)
                     {
                         case HydroCurve.Pump:
                             {
-                                var pumpInfo = hydroInfo.Pumps?.Find(x => x.Code == vm.Code);
-                                if (pumpInfo == null)
+                                if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, HydroCurve.Pump))
                                 {
-                                    return;
+                                    //缂虹渷鐨勮缃柟娉�
                                 }
-                                this.ViewCurveEvent?.Invoke(pumpInfo, HydroCurve.Pump);
                             }
                             break;
                         case HydroCurve.PumpQH:
                             {
-                                if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, curvePro.CurveType))
+                                if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, HydroCurve.PumpQH))
                                 {
-                                    var vmPump = vm as HydroPumpPropertyViewModel;
-                                    var curveQh = hydroInfo.Curves?.Find(x => x.Code == vmPump.CurveQH);
+                                    var pumpViewModel = vm as HydroPumpPropertyViewModel;
+                                    var curveQh = hydroInfo.Curves?.Find(x => x.Code == pumpViewModel.CurveQH);
                                     var dlg = new SetHydroCurveDlg();
                                     dlg.ReloadDataEvent += (curveInfo) =>
                                     {
@@ -401,20 +427,20 @@
                                             hydroInfo.Curves.Remove(curveQh);
                                         }
                                         hydroInfo.Curves.Add(curveInfo);
-                                        vmPump.CurveQH = curveInfo.Code;
+                                        pumpViewModel.CurveQH = curveInfo.Code;
                                         UpdateRows();
                                     };
-                                    dlg.SetBindingData(hydroInfo, curveQh, curvePro.CurveType);
+                                    dlg.SetBindingData(hydroInfo, curveQh, curvePropAttri.CurveType);
                                     dlg.ShowDialog();
                                 }
                             }
                             break;
                         case HydroCurve.PumpQP:
                             {
-                                if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, curvePro.CurveType))
+                                if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, curvePropAttri.CurveType))
                                 {
-                                    var vmPump = vm as HydroPumpPropertyViewModel;
-                                    var curveQp = hydroInfo.Curves?.Find(x => x.Code == vmPump.CurveQP);
+                                    var pumpViewModel = vm as HydroPumpPropertyViewModel;
+                                    var curveQp = hydroInfo.Curves?.Find(x => x.Code == pumpViewModel.CurveQP);
                                     var dlg = new SetHydroCurveDlg();
                                     dlg.ReloadDataEvent += (curveInfo) =>
                                     {
@@ -427,50 +453,50 @@
                                             hydroInfo.Curves.Remove(curveQp);
                                         }
                                         hydroInfo.Curves.Add(curveInfo);
-                                        vmPump.CurveQP = curveInfo.Code;
+                                        pumpViewModel.CurveQP = curveInfo.Code;
                                         UpdateRows();
                                     };
-                                    dlg.SetBindingData(hydroInfo, curveQp, curvePro.CurveType);
+                                    dlg.SetBindingData(hydroInfo, curveQp, curvePropAttri.CurveType);
                                     dlg.ShowDialog();
                                 }
                             }
                             break;
                         case HydroCurve.PumpQE:
                             {
-                                if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, curvePro.CurveType))
+                                var pumpViewModel = vm as HydroPumpPropertyViewModel;
+                                var curveQe = hydroInfo.Curves?.Find(x => x.Code == pumpViewModel.CurveQE);
+                                var dlg = new SetHydroCurveDlg();
+                                dlg.ReloadDataEvent += (curveInfo) =>
                                 {
-                                    var vmPump = vm as HydroPumpPropertyViewModel;
-                                    var curveQe = hydroInfo.Curves?.Find(x => x.Code == vmPump.CurveQE);
-                                    var dlg = new SetHydroCurveDlg();
-                                    dlg.ReloadDataEvent += (curveInfo) =>
+                                    if (hydroInfo.Curves == null)
                                     {
-                                        if (hydroInfo.Curves == null)
-                                        {
-                                            hydroInfo.Curves = new List<Model.HydroCurveInfo>();
-                                        }
-                                        if (curveQe != null)
-                                        {
-                                            hydroInfo.Curves.Remove(curveQe);
-                                        }
-                                        hydroInfo.Curves.Add(curveInfo);
-                                        vmPump.CurveQE = curveInfo.Code;
-                                        UpdateRows();
-                                    };
-                                    dlg.SetBindingData(hydroInfo, curveQe, curvePro.CurveType);
-                                    dlg.ShowDialog();
-                                }
+                                        hydroInfo.Curves = new List<Model.HydroCurveInfo>();
+                                    }
+                                    if (curveQe != null)
+                                    {
+                                        hydroInfo.Curves.Remove(curveQe);
+                                    }
+                                    hydroInfo.Curves.Add(curveInfo);
+                                    pumpViewModel.CurveQE = curveInfo.Code;
+                                    UpdateRows();
+                                };
+                                dlg.SetBindingData(hydroInfo, curveQe, curvePropAttri.CurveType);
+                                dlg.ShowDialog();
                             }
                             break;
                         case HydroCurve.Valve:
                             {
-
+                                if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, HydroCurve.Valve))
+                                {
+                                    //缂虹渷鐨勮缃柟娉�
+                                }
                             }
                             break;
                         case HydroCurve.ValveQL:
                             {
-                                if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, curvePro.CurveType))
+                                if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, curvePropAttri.CurveType))
                                 {
-
+                                    //缂虹渷鐨勮缃柟娉�
                                 }
                             }
                             break;
@@ -482,10 +508,10 @@
 
             #endregion
 
-            #region 鍨嬪彿
+            #region 妯″紡
 
-            var modelTypePro = (IsHydroModelTypeAttribute)descriptor.Attributes[typeof(IsHydroModelTypeAttribute)];
-            if (modelTypePro != null)
+            var patternProAttri = (IsHydroPatternProAttribute)descriptor.Attributes[typeof(IsHydroPatternProAttribute)];
+            if (patternProAttri != null)
             {
                 var buttonEdit = new RepositoryItemButtonEdit();
                 buttonEdit.TextEditStyle = TextEditStyles.DisableTextEditor;
@@ -497,26 +523,25 @@
                         return;
                     }
                     var vm = GetPropertyViewModel(e.Row);
-                    var allParterList = hydroInfo.GetAllParters();
-                    var parter = allParterList?.Find(x => x.Code == vm.Code);
-                    this.MatchingDbEvent?.Invoke(parter);
-                };
-                e.RepositoryItem = buttonEdit;
-            }
-
-            #endregion
-
-            #region 妯″紡
-
-            var patternPro = (IsHydroPatternProAttribute)descriptor.Attributes[typeof(IsHydroPatternProAttribute)];
-            if (patternPro != null)
-            {
-                var buttonEdit = new RepositoryItemButtonEdit();
-                buttonEdit.TextEditStyle = TextEditStyles.DisableTextEditor;
-                buttonEdit.ButtonClick += delegate
-                {
-                    var vm = GetPropertyViewModel(e.Row);
-                    this.SetPatternEvent?.Invoke(vm, patternPro.PatternType);
+                    switch (patternProAttri.PatternType)
+                    {
+                        case HydroPattern.Head:
+                            {
+                                if (this.SetPatternEvent == null || !this.SetPatternEvent.Invoke(vm, HydroPattern.Head))
+                                {
+                                    //缂虹渷鐨勮缃柟娉�
+                                }
+                            }
+                            break;
+                        case HydroPattern.Demand:
+                            {
+                                if (this.SetPatternEvent == null || !this.SetPatternEvent.Invoke(vm, HydroPattern.Demand))
+                                {
+                                    //缂虹渷鐨勮缃柟娉�
+                                }
+                            }
+                            break;
+                    }
                 };
                 e.RepositoryItem = buttonEdit;
             }

--
Gitblit v1.9.3