From 4cb1f00f84d160f97afd0fb86cf600e1be667dd5 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期四, 17 十月 2024 11:22:15 +0800
Subject: [PATCH] 水力组件更新

---
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/02-model/HydroModelMgrPage.cs |  150 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 138 insertions(+), 12 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/02-model/HydroModelMgrPage.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/02-model/HydroModelMgrPage.cs
index 53f03a5..22fad4b 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/02-model/HydroModelMgrPage.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/02-model/HydroModelMgrPage.cs
@@ -1,4 +1,8 @@
-锘縩amespace Yw.WinFrmUI
+锘縰sing DevExpress.XtraEditors;
+using Yw.EPAnet;
+using Yw.WinFrmUI.Page;
+
+namespace Yw.WinFrmUI
 {
     /// <summary>
     /// 
@@ -19,19 +23,25 @@
         /// <summary>
         /// 鏌ョ湅妯″瀷浜嬩欢
         /// </summary>
-        public event Action<Yw.Dto.HydroModelDto> ViewModelEvent;
+        public event Action<HydroModelVmo> ViewModelEvent;
+
+        /// <summary>
+        /// 璁$畻妯″瀷浜嬩欢
+        /// </summary>
+        public event Action<HydroModelVmo> CalcuModelEvent;
+
+        /// <summary>
+        /// 鏍¢獙妯″瀷浜嬩欢
+        /// </summary>
+        public event Action<HydroModelVmo> ValidModelEvent;
 
         private List<HydroModelMgrViewModel> _allBindingList = null;
-        private Lazy<Yw.BLL.HydroModel> _bll = new(() => new Yw.BLL.HydroModel());
-        private Lazy<Yw.BLL.HydroModelRelation> _bllRelation = new(() => new Yw.BLL.HydroModelRelation());
-
-
 
         //鍔犺浇鏁版嵁
         private async Task LoadData()
         {
-            var allBindingList = await _bll.Value.GetAll();
-            var allBindingRelationList = await _bllRelation.Value.GetAll();
+            var allBindingList = await BLLFactory<Yw.BLL.HydroModel>.Instance.GetAll();
+            var allBindingRelationList = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance.GetAll();
             _allBindingList = new List<HydroModelMgrViewModel>();
             if (allBindingList != null && allBindingList.Count > 0)
             {
@@ -67,9 +77,44 @@
         /// <summary>
         /// 鏌ョ湅妯″瀷
         /// </summary>
-        protected virtual void ViewModel(Yw.Dto.HydroModelDto dto)
+        protected virtual async void ViewModel(HydroModelVmo vmo)
         {
+            var info = await new Yw.BLL.HydroModelInfo().GetByID(vmo.ID);
+            var guid = new PageGuid()
+            {
+                Modular = "Hydro",
+                MoudingType = eMoudingType.Tab,
+                Function = "HydroQ3d",
+                TagName = info.ID.ToString()
+            };
+            if (!IsExistPage(guid, true))
+            {
+                var page = new HydroQ3dViewPage();
+                page.SetBindingData(info);
+                CreatePage(page, guid);
+            }
+        }
 
+        /// <summary>
+        /// 璁$畻妯″瀷
+        /// </summary>
+        protected virtual async void CalcuModel(HydroModelVmo vmo)
+        {
+            var info = await new Yw.BLL.HydroModelInfo().GetByID(vmo.ID);
+            var netWork = Yw.Hydro.ParseHelper.ToNetwork(info);
+            var list = netWork.Calcu();
+            XtraMessageBox.Show(JsonHelper.Object2FormatJson(list));
+        }
+
+        /// <summary>
+        /// 鏍¢獙妯″瀷
+        /// </summary>
+        protected virtual async void ValidModel(HydroModelVmo vmo)
+        {
+            var info = await new Yw.BLL.HydroModelInfo().GetByID(vmo.ID);
+            var netWork = Yw.Hydro.ParseHelper.ToNetwork(info);
+            var result = netWork.Check();
+            XtraMessageBox.Show(JsonHelper.Object2FormatJson(result));
         }
 
 
@@ -125,7 +170,7 @@
 
         }
 
-        //鏌ョ湅妯″瀷
+        //妯″瀷鏌ョ湅
         private void barBtnViewModel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
             var vm = GetCurrentViewModel();
@@ -133,8 +178,61 @@
             {
                 return;
             }
-            ViewModel(vm.Dto);
-            this.ViewModelEvent?.Invoke(vm.Dto);
+            ViewModel(vm.Vmo);
+            this.ViewModelEvent?.Invoke(vm.Vmo);
+        }
+
+        //妯″瀷璁$畻
+        private void barBtnCalcuModel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var vm = GetCurrentViewModel();
+            if (vm == null)
+            {
+                return;
+            }
+            CalcuModel(vm.Vmo);
+            this.CalcuModelEvent?.Invoke(vm.Vmo);
+
+        }
+
+        //妯″瀷鏍¢獙
+        private void barBtnValidModel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var vm = GetCurrentViewModel();
+            if (vm == null)
+            {
+                return;
+            }
+            ValidModel(vm.Vmo);
+            this.ValidModelEvent?.Invoke(vm.Vmo);
+        }
+
+        //瀵煎嚭inp
+        private async void barBtnExportInp_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var vm = GetCurrentViewModel();
+            if (vm == null)
+            {
+                return;
+            }
+            var info = await new Yw.BLL.HydroModelInfo().GetByID(vm.ID);
+            var netWork = Yw.Hydro.ParseHelper.ToNetwork(info);
+            var result = netWork.ToInpString();
+            XtraMessageBox.Show(result);
+        }
+
+        //缁勪欢
+        private async void barBtnParter_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var vm = GetCurrentViewModel();
+            if (vm == null)
+            {
+                return;
+            }
+            var info = await new Yw.BLL.HydroModelInfo().GetByID(vm.ID);
+            var dlg = new HydroParterListDlg();
+            dlg.SetBindingData(info);
+            dlg.Show();
         }
 
         //涓婄Щ
@@ -155,6 +253,34 @@
 
         }
 
+
         #endregion
+
+
+
+
+
+        private async void barBtnTest_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var vm = GetCurrentViewModel();
+            if (vm == null)
+            {
+                return;
+            }
+            var info = await new Yw.BLL.HydroModelInfo().GetByID(vm.ID);
+            var guid = new PageGuid()
+            {
+                Modular = "Hydro",
+                MoudingType = eMoudingType.Tab,
+                Function = "HydroL2d",
+                TagName = info.ID.ToString()
+            };
+            if (!IsExistPage(guid, true))
+            {
+                var page = new HydroL2dViewPage();
+                page.SetBindingData(info);
+                CreatePage(page, guid);
+            }
+        }
     }
 }

--
Gitblit v1.9.3