| | |
| | | using HStation.WinFrmUI.PhartRelation; |
| | | using HStation.WinFrmUI.Xhs; |
| | | using Yw.Model; |
| | | using Yw.WinFrmUI.HydroW3d; |
| | | |
| | | namespace HStation.WinFrmUI |
| | | { |
| | |
| | | /// </summary> |
| | | public event Action<HydroVisualInfo> FlowEffectPropertyValueChangedEvent; |
| | | |
| | | #endregion |
| | | #endregion 事件集 |
| | | |
| | | #region 属性赋值 |
| | | |
| | | /// <summary> |
| | | /// 允许编辑 |
| | | /// </summary> |
| | | public bool AllowEdit |
| | | { |
| | | get { return this.hydroVisualPropertyCtrl1.AllowEdit; } |
| | | set { this.hydroVisualPropertyCtrl1.AllowEdit = value; } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 选择对象 |
| | |
| | | set { this.hydroVisualPropertyCtrl1.SelectedObject = value; } |
| | | } |
| | | |
| | | #endregion |
| | | #endregion 属性赋值 |
| | | |
| | | #region 属性更新 |
| | | |
| | |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | } |
| | | |
| | | #endregion |
| | | #endregion 属性更新 |
| | | |
| | | #region 事件实现 |
| | | |
| | |
| | | { |
| | | var tankViewModel = vm as HydroTankViewModel; |
| | | var input = HydroMatchingHelper.Create(tankViewModel); |
| | | var dlg = new SimulationTankSingleMatchingDlg(); |
| | | var dlg = new AssetsTankSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(tankViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | dlg.SetBindingData(input); |
| | | dlg.ShowDialog(); |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Waterbox: |
| | | { |
| | | var tankViewModel = vm as HydroTankViewModel; |
| | | var input = HydroMatchingHelper.Create(tankViewModel); |
| | | var dlg = new SimulationTankSingleMatchingDlg(); |
| | | var dlg = new AssetsTankSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(tankViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | dlg.SetBindingData(input); |
| | | dlg.ShowDialog(); |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Blunthead: |
| | | { |
| | | var bluntheadViewModel = vm as HydroBluntheadViewModel; |
| | |
| | | { |
| | | HydroMatchingHelper.Apply(bluntheadViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | dlg.SetBindingData(input); |
| | | dlg.ShowDialog(); |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Elbow: |
| | | { |
| | | var elbowViewModel = vm as HydroElbowViewModel; |
| | |
| | | { |
| | | HydroMatchingHelper.Apply(elbowViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | dlg.SetBindingData(input); |
| | | dlg.ShowDialog(); |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Threelink: |
| | | { |
| | | var threelinkViewModel = vm as HydroThreelinkViewModel; |
| | |
| | | { |
| | | HydroMatchingHelper.Apply(threelinkViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | dlg.SetBindingData(input); |
| | | dlg.ShowDialog(); |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Fourlink: |
| | | { |
| | | var fourlinkViewModel = vm as HydroFourlinkViewModel; |
| | |
| | | { |
| | | HydroMatchingHelper.Apply(fourlinkViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | 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(); |
| | | var dlg = new AssetsMeterSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(meterViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | 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(); |
| | | var dlg = new AssetsFlowmeterSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(flowmeterViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | 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(); |
| | | var dlg = new AssetsPressmeterSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(pressmeterViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | dlg.SetBindingData(input); |
| | | dlg.ShowDialog(); |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Nozzle: |
| | | { |
| | | var nozzleViewModel = vm as HydroNozzleViewModel; |
| | |
| | | { |
| | | HydroMatchingHelper.Apply(nozzleViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | dlg.SetBindingData(input); |
| | | dlg.ShowDialog(); |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Hydrant: |
| | | { |
| | | var hydrantViewModel = vm as HydroHydrantViewModel; |
| | |
| | | { |
| | | HydroMatchingHelper.Apply(hydrantViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | dlg.SetBindingData(input); |
| | | dlg.ShowDialog(); |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Pipe: |
| | | { |
| | | var pipeViewModel = vm as HydroPipeViewModel; |
| | |
| | | { |
| | | HydroMatchingHelper.Apply(pipeViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | dlg.ShowDialog(); |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Pump: |
| | | { |
| | | var pumpViewModel = vm as HydroPumpViewModel; |
| | |
| | | { |
| | | HydroMatchingHelper.Apply(pumpViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | dlg.SetBindingData(input); |
| | | dlg.ShowDialog(); |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Valve: |
| | | { |
| | | var valveViewModel = vm as HydroValveViewModel; |
| | | var input = HydroMatchingHelper.Create(valveViewModel); |
| | | var dlg = new SimulationValveSingleMatchingDlg(); |
| | | var dlg = new AssetsValveSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(valveViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | 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(); |
| | | var dlg = new AssetsExchangerSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(exchangerViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | 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(); |
| | | var dlg = new AssetsCompressorSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(compressorViewModel, output); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | dlg.SetBindingData(input); |
| | | dlg.ShowDialog(); |
| | | } |
| | | break; |
| | | default: break; |
| | | |
| | | default: break; |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | case HydroCurve.Tank: |
| | | { |
| | | if (long.TryParse(vm.DbId, out long longDbId)) |
| | | var tankViewModel = vm as HydroTankViewModel; |
| | | var curveInfo = tankViewModel.HydroInfo.Curves?.Find(x => x.Code == tankViewModel.VolCurve); |
| | | if (curveInfo != null) |
| | | { |
| | | var tankViewModel = vm as HydroTankViewModel; |
| | | var dlg = new TankChartShowDlg(); |
| | | dlg.SetBingingData(longDbId); |
| | | dlg.ShowDialog(); |
| | | if (long.TryParse(curveInfo.DbId, out long longDbId)) |
| | | { |
| | | var dlg = new AssetsTankCurveVOLViewDlg(); |
| | | dlg.SetBindingData(longDbId); |
| | | dlg.ShowDialog(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | break; |
| | | |
| | | case HydroCurve.Pump: |
| | | { |
| | | var pumpViewModel = vm as HydroPumpViewModel; |
| | |
| | | dlg.ShowDialog(); |
| | | } |
| | | break; |
| | | |
| | | case HydroCurve.Valve: |
| | | { |
| | | if (long.TryParse(vm.DbId, out long longDbId)) |
| | | var valveViewModel = vm as HydroValveViewModel; |
| | | var curveInfo = valveViewModel.HydroInfo.Curves?.Find(x => x.Code == valveViewModel.ValveSetting); |
| | | if (curveInfo != null) |
| | | { |
| | | var valveViewModel = vm as HydroValveViewModel; |
| | | var dlg = new ValveChartShowDlg(); |
| | | dlg.SetBingingData(longDbId); |
| | | dlg.ShowDialog(); |
| | | if (long.TryParse(curveInfo.DbId, out long longDbId)) |
| | | { |
| | | var dlg = new AssetsValveCurveViewDlg(); |
| | | dlg.SetBindingData(longDbId); |
| | | dlg.ShowDialog(); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | |
| | | case HydroCurve.Exchanger: |
| | | { |
| | | if (long.TryParse(vm.DbId, out long longDbId)) |
| | | var exchangerViewModel = vm as HydroExchangerViewModel; |
| | | var curveInfo = exchangerViewModel.HydroInfo.Curves?.Find(x => x.Code == exchangerViewModel.CurveQL); |
| | | if (curveInfo != null) |
| | | { |
| | | var exchangerViewModel = vm as HydroExchangerViewModel; |
| | | var dlg = new ExchangerChartShowDlg(); |
| | | dlg.SetBingingData(longDbId); |
| | | dlg.ShowDialog(); |
| | | if (long.TryParse(curveInfo.DbId, out long longDbId)) |
| | | { |
| | | var dlg = new AssetsExchangerCurveQLViewDlg(); |
| | | dlg.SetBindingData(longDbId); |
| | | dlg.ShowDialog(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | break; |
| | | |
| | | case HydroCurve.Compressor: |
| | | { |
| | | if (long.TryParse(vm.DbId, out long longDbId)) |
| | | var compressorViewModel = vm as HydroCompressorViewModel; |
| | | var curveInfo = compressorViewModel.HydroInfo.Curves?.Find(x => x.Code == compressorViewModel.CurveQL); |
| | | if (curveInfo != null) |
| | | { |
| | | var compressorViewModel = vm as HydroCompressorViewModel; |
| | | var dlg = new CompressorChartShowDlg(); |
| | | dlg.SetBingingData(longDbId); |
| | | dlg.ShowDialog(); |
| | | if (long.TryParse(curveInfo.DbId, out long longDbId)) |
| | | { |
| | | var dlg = new AssetsCompressorCurveQLViewDlg(); |
| | | dlg.SetBindingData(longDbId); |
| | | dlg.ShowDialog(); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | |
| | | default: break; |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | #endregion 事件实现 |
| | | |
| | | #region 事件穿透 |
| | | |
| | |
| | | this.FlowEffectPropertyValueChangedEvent?.Invoke(vm?.Vmo); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | |
| | | #endregion 事件穿透 |
| | | } |
| | | } |