duheng
2024-12-05 b26ae60e85d4a03a2426e6607e7afe89e1c10a5f
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs
@@ -1,4 +1,5 @@
using HStation.WinFrmUI.PhartRelation;
using DevExpress.Utils.MVVM;
using HStation.WinFrmUI.PhartRelation;
using HStation.WinFrmUI.Xhs;
using Yw.Model;
@@ -120,12 +121,11 @@
                case Yw.Hydro.ParterCatalog.Tank:
                    {
                        var tankViewModel = vm as HydroTankViewModel;
                        var input = HydroMatchingHelper.Create(tankViewModel.Vmo, tankViewModel.HydroInfo);
                        var input = HydroMatchingHelper.Create(tankViewModel);
                        var dlg = new SimulationTankSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(tankViewModel.HydroInfo, tankViewModel.Vmo, output);
                            tankViewModel.UpdateProperty();
                            HydroMatchingHelper.Apply(tankViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
@@ -135,12 +135,11 @@
                case Yw.Hydro.ParterCatalog.Waterbox:
                    {
                        var tankViewModel = vm as HydroTankViewModel;
                        var input = HydroMatchingHelper.Create(tankViewModel.Vmo, tankViewModel.HydroInfo);
                        var input = HydroMatchingHelper.Create(tankViewModel);
                        var dlg = new SimulationTankSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(tankViewModel.HydroInfo, tankViewModel.Vmo, output);
                            tankViewModel.UpdateProperty();
                            HydroMatchingHelper.Apply(tankViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
@@ -149,18 +148,26 @@
                    break;
                case Yw.Hydro.ParterCatalog.Blunthead:
                    {
                        var bluntheadViewModel = vm as HydroBluntheadViewModel;
                        var input = HydroMatchingHelper.Create(bluntheadViewModel);
                        var dlg = new SimulationBluntheadSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(bluntheadViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
                        dlg.ShowDialog();
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Elbow:
                    {
                        var elbowViewModel = vm as HydroElbowViewModel;
                        var input = HydroMatchingHelper.Create(elbowViewModel.Vmo, elbowViewModel.HydroInfo);
                        var input = HydroMatchingHelper.Create(elbowViewModel);
                        var dlg = new SimulationElbowSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(elbowViewModel.HydroInfo, elbowViewModel.Vmo, output);
                            elbowViewModel.UpdateProperty();
                            HydroMatchingHelper.Apply(elbowViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
@@ -169,42 +176,113 @@
                    break;
                case Yw.Hydro.ParterCatalog.Threelink:
                    {
                        var threelinkViewModel = vm as HydroThreelinkViewModel;
                        var input = HydroMatchingHelper.Create(threelinkViewModel);
                        var dlg = new SimulationThreelinkSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(threelinkViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
                        dlg.ShowDialog();
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Fourlink:
                    {
                        var fourlinkViewModel = vm as HydroFourlinkViewModel;
                        var input = HydroMatchingHelper.Create(fourlinkViewModel);
                        var dlg = new SimulationFourlinkSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(fourlinkViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
                        dlg.ShowDialog();
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Meter:
                    {
                        var meterViewModel = vm as HydroMeterViewModel;
                        var input = HydroMatchingHelper.Create(meterViewModel);
                        var dlg = new SimulationMeterSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(meterViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
                        dlg.ShowDialog();
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Flowmeter:
                    {
                        var flowmeterViewModel = vm as HydroFlowmeterViewModel;
                        var input = HydroMatchingHelper.Create(flowmeterViewModel);
                        var dlg = new SimulationFlowmeterSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(flowmeterViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
                        dlg.ShowDialog();
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Pressmeter:
                    {
                        var pressmeterViewModel = vm as HydroPressmeterViewModel;
                        var input = HydroMatchingHelper.Create(pressmeterViewModel);
                        var dlg = new SimulationPressmeterSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(pressmeterViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
                        dlg.ShowDialog();
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Nozzle:
                    {
                        var nozzleViewModel = vm as HydroNozzleViewModel;
                        var input = HydroMatchingHelper.Create(nozzleViewModel);
                        var dlg = new SimulationSprinklerSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(nozzleViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
                        dlg.ShowDialog();
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Hydrant:
                    {
                        var hydrantViewModel = vm as HydroHydrantViewModel;
                        var input = HydroMatchingHelper.Create(hydrantViewModel);
                        var dlg = new SimulationHydrantSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(hydrantViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
                        dlg.ShowDialog();
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Pipe:
                    {
                        var pipeViewModel = vm as HydroPipeViewModel;
                        var input = HydroMatchingHelper.Create(pipeViewModel);
                        var dlg = new SimulationPipeSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(pipeViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.ShowDialog();
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Pump:
@@ -214,8 +292,7 @@
                        var dlg = new SimulationPumpSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(pumpViewModel.HydroInfo, pumpViewModel.Vmo, output);
                            pumpViewModel.UpdateProperty();
                            HydroMatchingHelper.Apply(pumpViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
@@ -224,17 +301,44 @@
                    break;
                case Yw.Hydro.ParterCatalog.Valve:
                    {
                        var valveViewModel = vm as HydroValveViewModel;
                        var input = HydroMatchingHelper.Create(valveViewModel);
                        var dlg = new SimulationValveSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(valveViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
                        dlg.ShowDialog();
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Exchanger:
                    {
                        var exchangerViewModel = vm as HydroExchangerViewModel;
                        var input = HydroMatchingHelper.Create(exchangerViewModel);
                        var dlg = new SimulationExchangerSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(exchangerViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
                        dlg.ShowDialog();
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Compressor:
                    {
                        var compressorViewModel = vm as HydroCompressorViewModel;
                        var input = HydroMatchingHelper.Create(compressorViewModel);
                        var dlg = new SimulationCompressorSingleMatchingDlg();
                        dlg.ReloadDataEvent += (output) =>
                        {
                            HydroMatchingHelper.Apply(compressorViewModel, output);
                            this.hydroVisualPropertyCtrl1.UpdateRows();
                        };
                        dlg.SetBindingData(input);
                        dlg.ShowDialog();
                    }
                    break;
                default: break;
@@ -253,46 +357,36 @@
            {
                case HydroCurve.Tank:
                    {
                        var tankViewModel = vm as HydroTankViewModel;
                        var dlg = new TankChartShowDlg();
                        dlg.ShowDialog();
                    }
                    break;
                case HydroCurve.Pump:
                    {
                        //var pumpInfo = vm.HydroInfo.Pumps?.Find(x => x.Code == vm.Code);
                        //if (pumpInfo == null)
                        //{
                        //    break;
                        //}
                        //var input = AssetsMatchingParasHelper.Create(vm.HydroInfo, pumpInfo, null);
                        //var dlg = new SinglePumpAnalyDlg();
                        //dlg.SetBindindData(input);
                        //dlg.ReloadDataEvent += (output) =>
                        //{
                        //    var bol = AssetsMatchingParasHelper.Apply(vm.HydroInfo, output);
                        //    if (bol)
                        //    {
                        //        vm.UpdateProperty();
                        //        this.hydroVisualPropertyCtrl1.UpdateRows();
                        //    }
                        //    return bol;
                        //};
                        //dlg.ShowDialog();
                        //return true;
                        var pumpViewModel = vm as HydroPumpViewModel;
                        //var dlg = new PumpChartShowDlg();
                    }
                    break;
                case HydroCurve.Valve:
                    {
                        var valveViewModel = vm as HydroValveViewModel;
                        var dlg = new ValveChartShowDlg();
                        dlg.ShowDialog();
                    }
                    break;
                case HydroCurve.Exchanger:
                    {
                        var exchangerViewModel = vm as HydroExchangerViewModel;
                        var dlg = new ExchangerChartShowDlg();
                        dlg.ShowDialog();
                    }
                    break;
                case HydroCurve.Compressor:
                    {
                        var compressorViewModel = vm as HydroCompressorViewModel;
                        var dlg = new CompressorChartShowDlg();
                        dlg.ShowDialog();
                    }
                    break;
                default: break;