| | |
| | | private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//项目站 |
| | | private Yw.Model.HydroModelInfo _hydroInfo = null;//水力信息 |
| | | |
| | | private Yw.Model.HydroParterInfo _parter = null; |
| | | private Yw.WinFrmUI.HydroCheckResult _checkResult = null; |
| | | private Yw.EPAnet.CalcuResult _calcuResult = null; |
| | | |
| | | private Yw.WinFrmUI.HydroCheckResult _checkResult = null;//检查结果 |
| | | private Yw.EPAnet.CalcuResult _calcuResult = null;//计算结果 |
| | | |
| | | /// <summary> |
| | | /// 绑定数据 |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | #region Bimface |
| | | |
| | | //bimface控件 |
| | |
| | | { |
| | | return; |
| | | } |
| | | _parter = obj; |
| | | _selectedParter = obj; |
| | | ShowProperty(); |
| | | }; |
| | | } |
| | |
| | | var bimfaceCtrl = await GetBimfaceCtrl(); |
| | | this.tabPageBimface.Controls.Clear(); |
| | | this.tabPageBimface.Controls.Add(bimfaceCtrl); |
| | | } |
| | | |
| | | private void SelectBimfaceParter() |
| | | { |
| | | |
| | | } |
| | | |
| | | #endregion |
| | |
| | | return; |
| | | } |
| | | var allParterList = _hydroInfo.GetAllParters(); |
| | | _parter = allParterList?.Find(x => x.Code == obj?.FirstOrDefault()); |
| | | _selectedParter = allParterList?.Find(x => x.Code == obj?.FirstOrDefault()); |
| | | ShowProperty(); |
| | | }; |
| | | } |
| | |
| | | await Task.Delay(5000); |
| | | await _bimfaceCtrl?.ClearBlinkComponents(); |
| | | }; |
| | | _propertyCtrl.PropertyValueChangedEvent += (parter) => |
| | | { |
| | | if (parter == null) |
| | | { |
| | | return; |
| | | } |
| | | UpdateParterListProperty(parter); |
| | | }; |
| | | _propertyCtrl.ViewParterEvent += (parter) => |
| | | { |
| | | if (parter == null) |
| | | { |
| | | return; |
| | | } |
| | | _bimfaceCtrl?.ZoomToComponent(parter.Code); |
| | | }; |
| | | } |
| | | return _propertyCtrl; |
| | | } |
| | |
| | | this.docPnlRight.Width = 300; |
| | | } |
| | | |
| | | //属性面板按钮 |
| | | private void barBtnProperty_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | ShowPropertyCtrl(); |
| | | } |
| | | |
| | | //显示属性 |
| | | private void ShowProperty() |
| | | { |
| | |
| | | { |
| | | ShowPropertyCtrl(); |
| | | } |
| | | if (_parter == null) |
| | | if (_selectedParter == null) |
| | | { |
| | | _propertyCtrl?.SelectParter(null); |
| | | _propertyCtrl?.CancelSelectParter(); |
| | | return; |
| | | } |
| | | _propertyCtrl?.SelectParter(_parter.Code); |
| | | _propertyCtrl?.SelectParter(_selectedParter.Code); |
| | | |
| | | var allCalcuResultList = GetCalcuResultList(); |
| | | if (allCalcuResultList != null && allCalcuResultList.Count > 0) |
| | | { |
| | | var calcuResult = allCalcuResultList.Find(x => x.Code == _parter.Code); |
| | | var calcuResult = allCalcuResultList.Find(x => x.Code == _selectedParter.Code); |
| | | if (calcuResult != null) |
| | | { |
| | | _propertyCtrl?.UpdateCalcuProperty(calcuResult); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | #endregion |
| | | |
| | | #region 选择构件 |
| | | |
| | | //选择构件 |
| | | private Yw.Model.HydroParterInfo _selectedParter = null; |
| | | |
| | | //更新选择组件属性 |
| | | private void UpdateSelectedParterProperty() |
| | | { |
| | | if (_selectedParter == null) |
| | | { |
| | | return; |
| | | } |
| | | _propertyCtrl?.UpdateProperty(); |
| | | |
| | | } |
| | | |
| | | //更新选择组件计算属性 |
| | | private void UpdateSelectedParterCalcuProperty() |
| | | { |
| | | if (_selectedParter == null) |
| | | { |
| | | return; |
| | | } |
| | | var allCalcuResultList = GetCalcuResultList(); |
| | | if (allCalcuResultList == null || allCalcuResultList.Count < 1) |
| | | { |
| | | return; |
| | | } |
| | | var calcuResult = allCalcuResultList.Find(x => x.Code == _selectedParter.Code); |
| | | if (calcuResult == null) |
| | | { |
| | | return; |
| | | } |
| | | _propertyCtrl?.UpdateCalcuProperty(calcuResult); |
| | | } |
| | | |
| | | //更新构件列表属性 |
| | | private void UpdateParterListProperty() |
| | | { |
| | | if (this.docPnlBottom.Visibility != DevExpress.XtraBars.Docking.DockVisibility.Visible) |
| | | { |
| | | return; |
| | | } |
| | | var parterListCtrl = this.controlContainerBottom.Controls[0] as Yw.WinFrmUI.HydroParterListCtrl; |
| | | if (parterListCtrl == null) |
| | | { |
| | | return; |
| | | } |
| | | parterListCtrl.UpdateProperty(); |
| | | } |
| | | |
| | | //更新构件列表属性 |
| | | private void UpdateParterListProperty(Yw.Model.HydroParterInfo parter) |
| | | { |
| | | if (this.docPnlBottom.Visibility != DevExpress.XtraBars.Docking.DockVisibility.Visible) |
| | | { |
| | | return; |
| | | } |
| | | var parterListCtrl = this.controlContainerBottom.Controls[0] as Yw.WinFrmUI.HydroParterListCtrl; |
| | | if (parterListCtrl == null) |
| | | { |
| | | return; |
| | | } |
| | | parterListCtrl.UpdateProperty(parter); |
| | | } |
| | | |
| | | //更新构件列表属性 |
| | | private void UpdateParterListProperty(List<Yw.Model.HydroParterInfo> parterList) |
| | | { |
| | | if (this.docPnlBottom.Visibility != DevExpress.XtraBars.Docking.DockVisibility.Visible) |
| | | { |
| | | return; |
| | | } |
| | | var parterListCtrl = this.controlContainerBottom.Controls[0] as Yw.WinFrmUI.HydroParterListCtrl; |
| | | if (parterListCtrl == null) |
| | | { |
| | | return; |
| | | } |
| | | parterListCtrl.UpdateProperty(parterList); |
| | | } |
| | | |
| | | //更新构件列表计算属性 |
| | | private void UpdateParterListCalcuProperty() |
| | | { |
| | | if (this.docPnlBottom.Visibility != DevExpress.XtraBars.Docking.DockVisibility.Visible) |
| | | { |
| | | return; |
| | | } |
| | | var parterListCtrl = this.controlContainerBottom.Controls[0] as Yw.WinFrmUI.HydroParterListCtrl; |
| | | if (parterListCtrl == null) |
| | | { |
| | | return; |
| | | } |
| | | var allCalcuResultList = GetCalcuResultList(); |
| | | parterListCtrl.UpdateCalcuProperty(allCalcuResultList); |
| | | } |
| | | |
| | | #endregion |
| | |
| | | return; |
| | | } |
| | | var allParterList = _hydroInfo.GetAllParters(); |
| | | _parter = allParterList?.Find(x => x.Code == code); |
| | | _selectedParter = allParterList?.Find(x => x.Code == code); |
| | | var elementIds = new List<string>(); |
| | | if (_parter != null) |
| | | if (_selectedParter != null) |
| | | { |
| | | elementIds.Add(_parter.Code); |
| | | elementIds.Add(_selectedParter.Code); |
| | | } |
| | | await _bimfaceCtrl?.ZoomAndSelectComponents(elementIds); |
| | | ShowProperty(); |
| | |
| | | return; |
| | | } |
| | | var allParterList = _hydroInfo.GetAllParters(); |
| | | _parter = allParterList?.Find(x => x.Code == parter.Code); |
| | | _selectedParter = allParterList?.Find(x => x.Code == parter.Code); |
| | | var elementIds = new List<string>() { parter.Code }; |
| | | await _bimfaceCtrl?.ZoomAndSelectComponents(elementIds); |
| | | ShowProperty(); |
| | |
| | | { |
| | | var codes = parters?.Select(x => x.Code).Distinct().ToList(); |
| | | await _bimfaceCtrl?.ZoomAndSelectComponents(codes); |
| | | _parter = null; |
| | | _selectedParter = null; |
| | | ShowProperty(); |
| | | }; |
| | | } |
| | |
| | | var elementIds = new List<string>(); |
| | | if (string.IsNullOrEmpty(code)) |
| | | { |
| | | _parter = null; |
| | | _selectedParter = null; |
| | | } |
| | | else |
| | | { |
| | | var allParterList = _hydroInfo.GetAllParters(); |
| | | _parter = allParterList?.Find(x => x.Code == code); |
| | | if (_parter != null) |
| | | _selectedParter = allParterList?.Find(x => x.Code == code); |
| | | if (_selectedParter != null) |
| | | { |
| | | elementIds.Add(_parter.Code); |
| | | elementIds.Add(_selectedParter.Code); |
| | | } |
| | | } |
| | | await _bimfaceCtrl?.ZoomAndSelectComponents(elementIds); |
| | |
| | | _parterListCtrl.Dock = DockStyle.Fill; |
| | | _parterListCtrl.HydroClickEvent += async (parter) => |
| | | { |
| | | if (_hydroInfo == null) |
| | | { |
| | | return; |
| | | } |
| | | var allParterList = _hydroInfo.GetAllParters(); |
| | | _parter = allParterList?.Find(x => x.Code == parter.Code); |
| | | await _bimfaceCtrl?.ZoomAndSelectComponents(new List<string>() { _parter.Code }); |
| | | _selectedParter = parter; |
| | | await _bimfaceCtrl?.ZoomAndSelectComponent(_selectedParter.Code); |
| | | ShowProperty(); |
| | | }; |
| | | _parterListCtrl.HydroChangedEvent += (parterList) => |
| | | { |
| | | UpdateSelectedParterProperty(); |
| | | }; |
| | | } |
| | | return _parterListCtrl; |
| | |
| | | { |
| | | return; |
| | | } |
| | | var allCalcuResultList = GetCalcuResultList(); |
| | | var parterListCtrl = GetParterListCtrl(); |
| | | parterListCtrl.SetBindingData(_hydroInfo, GetCalcuResultList()); |
| | | parterListCtrl.SetBindingData(_hydroInfo, allCalcuResultList); |
| | | if (allCalcuResultList == null || allCalcuResultList.Count < 1) |
| | | { |
| | | parterListCtrl.SetNormalView(); |
| | | } |
| | | else |
| | | { |
| | | parterListCtrl.SetCalcuView(); |
| | | } |
| | | this.controlContainerBottom.Controls.Clear(); |
| | | this.controlContainerBottom.Controls.Add(parterListCtrl); |
| | | this.docPnlBottom.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; |
| | |
| | | //水库 |
| | | this.barBtnSetReservoirList.ItemClick += delegate |
| | | { |
| | | var dlg = new HydroReservoirBulkSetListDlg(); |
| | | dlg.ShowDialog(); |
| | | //var dlg = new HydroReservoirBulkSetListDlg(); |
| | | //dlg.ShowDialog(); |
| | | }; |
| | | //水池 |
| | | this.barBtnSetTankList.ItemClick += delegate |
| | | { |
| | | var dlg = new HydroTankBulkSetListDlg(); |
| | | dlg.ShowDialog(); |
| | | //var dlg = new HydroTankBulkSetListDlg(); |
| | | //dlg.ShowDialog(); |
| | | }; |
| | | //水箱 |
| | | this.barBtnSetWaterboxList.ItemClick += delegate |
| | |
| | | { |
| | | return; |
| | | } |
| | | var dlg = new HydroWaterboxBulkSetListDlg(); |
| | | var dlg = new SetHydroWaterboxListDlg(); |
| | | dlg.SetBindingData(_hydroInfo); |
| | | dlg.HydroClickEvent += async (obj) => |
| | | { |
| | | if (obj == null) |
| | | { |
| | | return; |
| | | } |
| | | _selectedParter = obj; |
| | | await _bimfaceCtrl?.ZoomAndSelectComponent(obj.Code); |
| | | ShowProperty(); |
| | | }; |
| | | dlg.HydroChangedEvent += (obj) => |
| | | { |
| | | |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | | //连接节点 |
| | | this.barBtnSetJunctionList.ItemClick += delegate |
| | | { |
| | | var dlg = new HydroJunctionBulkSetListDlg(); |
| | | dlg.ShowDialog(); |
| | | //var dlg = new HydroJunctionBulkSetListDlg(); |
| | | //dlg.ShowDialog(); |
| | | }; |
| | | //闷头 |
| | | this.barBtnSetBluntheadList.ItemClick += delegate |
| | |
| | | { |
| | | return; |
| | | } |
| | | var dlg = new HydroBluntheadBulkSetListDlg(); |
| | | var dlg = new SetHydroBluntheadListDlg(); |
| | | dlg.SetBindingData(_hydroInfo); |
| | | dlg.HydroClickEvent += async (obj) => |
| | | { |
| | | if (obj == null) |
| | | { |
| | | return; |
| | | } |
| | | _selectedParter = obj; |
| | | await _bimfaceCtrl?.ZoomAndSelectComponent(obj.Code); |
| | | ShowProperty(); |
| | | }; |
| | | dlg.HydroChangedEvent += (obj) => |
| | | { |
| | | |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | | //弯头 |
| | |
| | | { |
| | | return; |
| | | } |
| | | var dlg = new HydroElbowBulkSetListDlg(); |
| | | var dlg = new SetHydroElbowListDlg(); |
| | | dlg.SetBindingData(_hydroInfo); |
| | | dlg.HydroClickEvent += async (obj) => |
| | | { |
| | | if (obj == null) |
| | | { |
| | | return; |
| | | } |
| | | _selectedParter = obj; |
| | | await _bimfaceCtrl?.ZoomAndSelectComponent(obj.Code); |
| | | ShowProperty(); |
| | | }; |
| | | dlg.HydroChangedEvent += (obj) => |
| | | { |
| | | |
| | | }; |
| | | dlg.ShowDialog(); |
| | | }; |
| | | //三通 |
| | |
| | | { |
| | | return; |
| | | } |
| | | var dlg = new HydroThreelinkBulkSetListDlg(); |
| | | var dlg = new SetHydroThreelinkListDlg(); |
| | | dlg.SetBindingData(_hydroInfo); |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | { |
| | | return; |
| | | } |
| | | var dlg = new HydroFourlinkBulkSetListDlg(); |
| | | var dlg = new SetHydroFourlinkListDlg(); |
| | | dlg.SetBindingData(_hydroInfo); |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | { |
| | | return; |
| | | } |
| | | var dlg = new HydroMeterBulkSetListDlg(); |
| | | var dlg = new SetHydroMeterListDlg(); |
| | | dlg.SetBindingData(_hydroInfo); |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | { |
| | | return; |
| | | } |
| | | var dlg = new HydroFlowmeterBulkSetListDlg(); |
| | | var dlg = new SetHydroFlowmeterListDlg(); |
| | | dlg.SetBindingData(_hydroInfo); |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | { |
| | | return; |
| | | } |
| | | var dlg = new HydroPressmeterBulkSetListDlg(); |
| | | var dlg = new SetHydroPressmeterListDlg(); |
| | | dlg.SetBindingData(_hydroInfo); |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | { |
| | | return; |
| | | } |
| | | var dlg = new HydroPipeBulkSetListDlg(); |
| | | var dlg = new SetHydroPipeListDlg(); |
| | | dlg.SetBindingData(_hydroInfo); |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | { |
| | | return; |
| | | } |
| | | var dlg = new HydroPumpBulkSetListDlg(); |
| | | var dlg = new SetHydroPumpListDlg(); |
| | | dlg.SetBindingData(_hydroInfo); |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | { |
| | | return; |
| | | } |
| | | var dlg = new HydroValveBulkSetListDlg(); |
| | | var dlg = new SetHydroValveListDlg(); |
| | | dlg.SetBindingData(_hydroInfo); |
| | | dlg.ShowDialog(); |
| | | }; |
| | |
| | | dlg.SetBindingData(_hydroInfo); |
| | | dlg.HydroViewEvent += async (parter) => |
| | | { |
| | | _parter = parter; |
| | | if (_parter != null) |
| | | _selectedParter = parter; |
| | | if (_selectedParter != null) |
| | | { |
| | | await _bimfaceCtrl?.ZoomAndSelectComponents(new List<string>() { _parter.Code }); |
| | | await _bimfaceCtrl?.ZoomAndSelectComponents(new List<string>() { _selectedParter.Code }); |
| | | } |
| | | ShowProperty(); |
| | | }; |
| | |
| | | |
| | | WaitFormHelper.ShowWaitForm(this, "正在计算分析中,请稍候..."); |
| | | |
| | | await Task.Delay(5000); |
| | | //await Task.Delay(5000); |
| | | |
| | | var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydroInfo); |
| | | _calcuResult = netWork.Calcu(); |
| | |
| | | { |
| | | var first = list.First(); |
| | | var allParterList = _hydroInfo.GetAllParters(); |
| | | _parter = allParterList?.Find(x => x.Code == first.Code); |
| | | _selectedParter = allParterList?.Find(x => x.Code == first.Code); |
| | | list.ForEach(x => elementIds.Add(x.Code)); |
| | | } |
| | | else |
| | | { |
| | | _parter = null; |
| | | _selectedParter = null; |
| | | } |
| | | await _bimfaceCtrl?.ZoomAndSelectComponents(elementIds); |
| | | ShowProperty(); |
| | |
| | | sw.Stop(); |
| | | TimeSpan ts2 = sw.Elapsed; |
| | | Console.WriteLine("Stopwatch总共花费{0}ms.", ts2.TotalMilliseconds); |
| | | _parter = null; |
| | | _selectedParter = null; |
| | | await _bimfaceCtrl?.ZoomAndSelectComponents(null); |
| | | ShowProperty(); |
| | | TipFormHelper.ShowSucceed("数据已刷新"); |