| | |
| | | using DevExpress.Utils.MVVM; |
| | | using HStation.WinFrmUI.PhartRelation; |
| | | using HStation.WinFrmUI.Xhs; |
| | | using Yw.Model; |
| | | using Yw.Model; |
| | | |
| | | namespace HStation.WinFrmUI |
| | | { |
| | |
| | | this.hydroVisualPropertyCtrl1.PropertyValueChangedEvent += HydroVisualPropertyCtrl1_PropertyValueChangedEvent; |
| | | this.hydroVisualPropertyCtrl1.MarkPropertyValueChangedEvent += HydroVisualPropertyCtrl1_MarkPropertyValueChangedEvent; |
| | | this.hydroVisualPropertyCtrl1.GradingPropertyValueChangedEvent += HydroPVisualPropertyCtrl1_GradingPropertyValueChangedEvent; |
| | | this.hydroVisualPropertyCtrl1.FlowEffectPropertyValueChangedEvent += HydroVisualPropertyCtrl1_FlowEffectPropertyValueChangedEvent; |
| | | } |
| | | |
| | | #region 事件集 |
| | | #region 事件集合 |
| | | |
| | | /// <summary> |
| | | /// 构件查看事件 |
| | |
| | | /// </summary> |
| | | public event Action<HydroVisualInfo> GradingPropertyValueChangedEvent; |
| | | |
| | | /// <summary> |
| | | /// 水流动画属性值改变事件 |
| | | /// </summary> |
| | | public event Action<HydroVisualInfo> FlowEffectPropertyValueChangedEvent; |
| | | private HydroChangeHelper _changeHelper = null;//改变辅助类 |
| | | private HydroPropStatusHelper _propStatusHelper = null;//属性状态辅助类 |
| | | |
| | | #endregion 事件集 |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// 初始化数据 |
| | | /// </summary> |
| | | public void InitialData |
| | | ( |
| | | HydroChangeHelper changeHelper, |
| | | HydroPropStatusHelper propStatusHelper |
| | | ) |
| | | { |
| | | _changeHelper = changeHelper; |
| | | _propStatusHelper = propStatusHelper; |
| | | this.hydroVisualPropertyCtrl1.InitialData(changeHelper, propStatusHelper); |
| | | } |
| | | |
| | | #region 属性赋值 |
| | | |
| | |
| | | set { this.hydroVisualPropertyCtrl1.SelectedObject = value; } |
| | | } |
| | | |
| | | #endregion 属性赋值 |
| | | /// <summary> |
| | | /// 计算结果 |
| | | /// </summary> |
| | | public Func<HydroCalcuResult> CalcuResult { get; set; } |
| | | |
| | | #endregion |
| | | |
| | | #region 属性更新 |
| | | |
| | |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | } |
| | | |
| | | #endregion 属性更新 |
| | | #endregion |
| | | |
| | | #region 事件实现 |
| | | |
| | |
| | | var dlg = new AssetsTankSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(tankViewModel, output); |
| | | HydroMatchingHelper.Apply(tankViewModel, output, _changeHelper, _propStatusHelper); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | |
| | | var dlg = new AssetsTankSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(tankViewModel, output); |
| | | HydroMatchingHelper.Apply(tankViewModel, output, _changeHelper, _propStatusHelper); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | |
| | | { |
| | | var bluntheadViewModel = vm as HydroBluntheadViewModel; |
| | | var input = HydroMatchingHelper.Create(bluntheadViewModel); |
| | | var dlg = new SimulationBluntheadSingleMatchingDlg(); |
| | | var dlg = new AssetsBluntheadSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(bluntheadViewModel, output); |
| | | HydroMatchingHelper.Apply(bluntheadViewModel, output, _changeHelper, _propStatusHelper); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | |
| | | { |
| | | var elbowViewModel = vm as HydroElbowViewModel; |
| | | var input = HydroMatchingHelper.Create(elbowViewModel); |
| | | var dlg = new SimulationElbowSingleMatchingDlg(); |
| | | var dlg = new AssetsElbowSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(elbowViewModel, output); |
| | | HydroMatchingHelper.Apply(elbowViewModel, output, _changeHelper, _propStatusHelper); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | |
| | | { |
| | | var threelinkViewModel = vm as HydroThreelinkViewModel; |
| | | var input = HydroMatchingHelper.Create(threelinkViewModel); |
| | | var dlg = new SimulationThreelinkSingleMatchingDlg(); |
| | | var dlg = new AssetsThreelinkSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(threelinkViewModel, output); |
| | | HydroMatchingHelper.Apply(threelinkViewModel, output, _changeHelper, _propStatusHelper); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | |
| | | { |
| | | var fourlinkViewModel = vm as HydroFourlinkViewModel; |
| | | var input = HydroMatchingHelper.Create(fourlinkViewModel); |
| | | var dlg = new SimulationFourlinkSingleMatchingDlg(); |
| | | var dlg = new AssetsFourlinkSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(fourlinkViewModel, output); |
| | | HydroMatchingHelper.Apply(fourlinkViewModel, output, _changeHelper, _propStatusHelper); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | |
| | | var dlg = new AssetsMeterSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(meterViewModel, output); |
| | | HydroMatchingHelper.Apply(meterViewModel, output, _changeHelper, _propStatusHelper); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | |
| | | var dlg = new AssetsFlowmeterSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(flowmeterViewModel, output); |
| | | HydroMatchingHelper.Apply(flowmeterViewModel, output, _changeHelper, _propStatusHelper); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | |
| | | var dlg = new AssetsPressmeterSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(pressmeterViewModel, output); |
| | | HydroMatchingHelper.Apply(pressmeterViewModel, output, _changeHelper, _propStatusHelper); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | |
| | | { |
| | | var nozzleViewModel = vm as HydroNozzleViewModel; |
| | | var input = HydroMatchingHelper.Create(nozzleViewModel); |
| | | var dlg = new SimulationSprinklerSingleMatchingDlg(); |
| | | var dlg = new AssetsSprinklerSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(nozzleViewModel, output); |
| | | HydroMatchingHelper.Apply(nozzleViewModel, output, _changeHelper, _propStatusHelper); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | |
| | | { |
| | | var hydrantViewModel = vm as HydroHydrantViewModel; |
| | | var input = HydroMatchingHelper.Create(hydrantViewModel); |
| | | var dlg = new SimulationHydrantSingleMatchingDlg(); |
| | | var dlg = new AssetsHydrantSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(hydrantViewModel, output); |
| | | HydroMatchingHelper.Apply(hydrantViewModel, output, _changeHelper, _propStatusHelper); |
| | | 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.Cooling: |
| | | { |
| | | var coolingViewModel = vm as HydroCoolingViewModel; |
| | | var input = HydroMatchingHelper.Create(coolingViewModel); |
| | | var dlg = new AssetsCoolingSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(coolingViewModel, output, _changeHelper, _propStatusHelper); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | |
| | | { |
| | | var pipeViewModel = vm as HydroPipeViewModel; |
| | | var input = HydroMatchingHelper.Create(pipeViewModel); |
| | | var dlg = new SimulationPipeSingleMatchingDlg(); |
| | | var dlg = new AssetsPipeSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(pipeViewModel, output); |
| | | HydroMatchingHelper.Apply(pipeViewModel, output, _changeHelper, _propStatusHelper); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | }; |
| | | dlg.SetBindingData(input); |
| | | dlg.ShowDialog(); |
| | | } |
| | | break; |
| | |
| | | var dlg = new SimulationPumpSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(pumpViewModel, output); |
| | | HydroMatchingHelper.Apply(pumpViewModel, output, _changeHelper, _propStatusHelper); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | |
| | | var dlg = new AssetsValveSingleMatchingDlg(); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | HydroMatchingHelper.Apply(valveViewModel, output); |
| | | HydroMatchingHelper.Apply(valveViewModel, output, _changeHelper, _propStatusHelper); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); |
| | |
| | | { |
| | | 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 AssetsTankCurveVOLViewDlg(); |
| | | dlg.SetBindingData(longDbId); |
| | | dlg.ShowDialog(); |
| | | if (long.TryParse(curveInfo.DbId, out long longDbId)) |
| | | { |
| | | var dlg = new AssetsTankCurveVOLViewDlg(); |
| | | dlg.SetBindingData(longDbId); |
| | | dlg.ShowDialog(); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | |
| | | pumpViewModel.UpdateProperty(); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | }; |
| | | dlg.SetBindingData(pumpViewModel); |
| | | dlg.SetBindingData(pumpViewModel, this.CalcuResult?.Invoke()); |
| | | 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.CurveOL); |
| | | if (curveInfo != null) |
| | | { |
| | | var valveViewModel = vm as HydroValveViewModel; |
| | | var dlg = new AssetsValveCurveViewDlg(); |
| | | dlg.SetBindingData(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 AssetsExchangerCurveQLViewDlg(); |
| | | dlg.SetBindingData(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 AssetsCompressorCurveQLViewDlg(); |
| | | dlg.SetBindingData(longDbId); |
| | | dlg.ShowDialog(); |
| | | if (long.TryParse(curveInfo.DbId, out long longDbId)) |
| | | { |
| | | var dlg = new AssetsCompressorCurveQLViewDlg(); |
| | | dlg.SetBindingData(longDbId); |
| | | dlg.ShowDialog(); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | |
| | | } |
| | | } |
| | | |
| | | #endregion 事件实现 |
| | | #endregion |
| | | |
| | | #region 事件穿透 |
| | | |
| | |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm?.Vmo); |
| | | } |
| | | |
| | | //水流动画属性发生改变 |
| | | private void HydroVisualPropertyCtrl1_FlowEffectPropertyValueChangedEvent(HydroVisualViewModel vm) |
| | | { |
| | | this.FlowEffectPropertyValueChangedEvent?.Invoke(vm?.Vmo); |
| | | } |
| | | |
| | | #endregion 事件穿透 |
| | | #endregion |
| | | |
| | | |
| | | } |
| | | } |