| | |
| | | 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 属性赋值 |
| | | |
| | |
| | | set { this.hydroVisualPropertyCtrl1.SelectedObject = value; } |
| | | } |
| | | |
| | | #endregion 属性赋值 |
| | | /// <summary> |
| | | /// 计算结果 |
| | | /// </summary> |
| | | public Func<HydroCalcuResult> CalcuResult { get; set; } |
| | | |
| | | #endregion |
| | | |
| | | #region 属性更新 |
| | | |
| | |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | } |
| | | |
| | | #endregion 属性更新 |
| | | #endregion |
| | | |
| | | #region 事件实现 |
| | | |
| | |
| | | { |
| | | 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); |
| | |
| | | { |
| | | 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 AssetsTankCurveQLViewDlg(); |
| | | 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.ValveSetting); |
| | | 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.FlowEffectPropertyValueChangedEvent?.Invoke(vm?.Vmo); |
| | | } |
| | | |
| | | #endregion 事件穿透 |
| | | #endregion |
| | | |
| | | |
| | | } |
| | | } |