using HStation.WinFrmUI.Xhs; namespace HStation.WinFrmUI { /// /// 项目模拟属性控件 /// public partial class XhsProjectSimulationPropertyCtrl : DevExpress.XtraEditors.XtraUserControl { public XhsProjectSimulationPropertyCtrl() { InitializeComponent(); this.hydroParterPropertyCtrl1.PropertyValueChangedEvent += HydroParterPropertyCtrl1_PropertyValueChangedEvent; this.hydroParterPropertyCtrl1.SelectCurveEvent += HydroParterPropertyCtrl1_SelectCurveEvent; this.hydroParterPropertyCtrl1.SelectPatternEvent += HydroParterPropertyCtrl1_SelectPatternEvent; } private Yw.Model.HydroModelInfo _hydro = null; /// /// 绑定数据 /// public void SetBindingData(Yw.Model.HydroModelInfo rhs) { _hydro = rhs; } /// /// 选择组件 /// public void SelectParter(long id) { if (_hydro == null) { this.hydroParterPropertyCtrl1.SelectedObject = null; return; } var allParterList = _hydro.GetAllParters(); var parter = allParterList.Find(x => x.ID == id); if (parter == null) { this.hydroParterPropertyCtrl1.SelectedObject = null; return; } var vm = Yw.WinFrmUI.HydroParterPropertyViewModelBuilder.CreateViewModel(parter, allParterList); this.hydroParterPropertyCtrl1.SelectedObject = vm; } /// /// 选择组件 /// public void SelectParter(string code) { if (_hydro == null) { this.hydroParterPropertyCtrl1.SelectedObject = null; return; } var allParterList = _hydro.GetAllParters(); var parter = allParterList.Find(x => x.Code == code); if (parter == null) { this.hydroParterPropertyCtrl1.SelectedObject = null; return; } var vm = Yw.WinFrmUI.HydroParterPropertyViewModelBuilder.CreateViewModel(parter, allParterList); this.hydroParterPropertyCtrl1.SelectedObject = vm; } /// /// 选择组件 /// /// /// public void SelectParter(Yw.Model.HydroParterInfo parter, List allParterList) { if (_hydro == null) { this.hydroParterPropertyCtrl1.SelectedObject = null; return; } if (parter == null) { this.hydroParterPropertyCtrl1.SelectedObject = null; return; } var vm = Yw.WinFrmUI.HydroParterPropertyViewModelBuilder.CreateViewModel(parter, allParterList); this.hydroParterPropertyCtrl1.SelectedObject = vm; } /// /// 更新计算属性 /// public void UpdateCalcuProperty(Yw.WinFrmUI.IHydroCalcuProperty rhs) { var vm = this.hydroParterPropertyCtrl1.SelectedObject; if (vm == null) { return; } vm.UpdateCalcuProperty(rhs); this.hydroParterPropertyCtrl1.UpdateRows(); } //属性发生改变 private void HydroParterPropertyCtrl1_PropertyValueChangedEvent(HydroParterPropertyViewModel obj) { if (obj == null) { return; } if (_hydro == null) { return; } var allParterList = _hydro.GetAllParters(); var parter = allParterList?.Find(x => x.ID == obj.ID); if (parter == null) { return; } parter.UpdateProperty(allParterList, obj); } //选择曲线 private void HydroParterPropertyCtrl1_SelectCurveEvent(HydroParterPropertyViewModel propViewModel, string curveType) { //这里 dbid modeltype //返回 dbid curveid 曲线信息 switch (curveType) { case Yw.WinFrmUI.HydroCurve.PumpQH: { var pumpPropertyViewModel = propViewModel as HydroPumpPropertyViewModel; var dbId = pumpPropertyViewModel.DbId; var modelType = pumpPropertyViewModel.ModelType; var dlg = new PumpMainCurveChoiceDlg(); dlg.SetBindingData(dbId, modelType); dlg.CurveinfoEvent += (dbid, curveid, curveinfo) => { }; dlg.ShowDialog(); } break; case Yw.WinFrmUI.HydroCurve.PumpQE: { var pumpPropertyViewModel = propViewModel as HydroPumpPropertyViewModel; var dbId = pumpPropertyViewModel.DbId; var modelType = pumpPropertyViewModel.ModelType; var dlg = new PumpMainCurveChoiceDlg(); dlg.SetBindingData(dbId, modelType); dlg.CurveinfoEvent += (dbid, curveid, curveinfo) => { }; dlg.ShowDialog(); } break; case Yw.WinFrmUI.HydroCurve.ValveQL: { // } break; default: break; } // XtraMessageBox.Show($"{propViewModel.Name}-{curveType}"); } //选择模式 private void HydroParterPropertyCtrl1_SelectPatternEvent(HydroParterPropertyViewModel propViewModel, string patternType) { switch (patternType) { case Yw.WinFrmUI.HydroPattern.Demand: { } break; case Yw.WinFrmUI.HydroPattern.Head: { } break; default: break; } XtraMessageBox.Show($"{propViewModel.Name}-{patternType}"); } } }