| | |
| | | this.gridView2.SetNormalView(); |
| | | this.gridView2.OptionsView.EnableAppearanceOddRow = false; // 使能 // 和和上面绑定 同时使用有效 |
| | | this.gridView2.OptionsView.EnableAppearanceEvenRow = false; |
| | | |
| | | |
| | | this.gridView1.OptionsView.ShowIndicator = false; |
| | | this.gridView2.OptionsView.ShowIndicator = false; |
| | | |
| | | |
| | | foreach (var page in this.tabPane1.Pages) |
| | | { |
| | | if (page.Controls[0] is ISetSchemeParterList ctrl) |
| | |
| | | ctrl.ShowFindPanel = false; |
| | | ctrl.HydroClickEvent += async (parter) => |
| | | { |
| | | _selectedParter = parter; |
| | | await _bimfaceCtrl?.ZoomAndSelectComponent(_selectedParter.Code); |
| | | _selected_parter = parter; |
| | | await _bimfaceCtrl?.ZoomAndSelectComponent(_selected_parter.Code); |
| | | }; |
| | | ctrl.HydroRecordChangedEvent += (record) => |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | private HStation.Vmo.XhsProjectVmo _project = null;//项目 |
| | | private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//项目站 |
| | | private Yw.Model.HydroModelInfo _hydroInfo = null;//水力信息 |
| | | private Yw.Model.HydroModelInfo _hydroInfo_init = null;//初始 水力信息 |
| | | private HStation.Vmo.XhsProjectSiteVmo _project_site = null;//项目站 |
| | | private Yw.Model.HydroModelInfo _hydro_info = null;//水力信息 |
| | | private Yw.Model.HydroModelInfo _hydro_info_init = null;//初始 水力信息 |
| | | |
| | | private Yw.Model.HydroParterInfo _selectedParter = null; //选择构件 |
| | | private Yw.Model.HydroParterInfo _selected_parter = null; //选择构件 |
| | | private List<SetSchemeParterRecord> _set_record_list = null; |
| | | |
| | | /// <summary> |
| | |
| | | public async Task SetBindingData |
| | | ( |
| | | HStation.Vmo.XhsProjectVmo project, |
| | | HStation.Vmo.XhsProjectSiteVmo projectSite, |
| | | Yw.Model.HydroModelInfo hydroInfo |
| | | HStation.Vmo.XhsProjectSiteVmo project_site, |
| | | Yw.Model.HydroModelInfo hydro_info |
| | | ) |
| | | { |
| | | if (project == null) |
| | |
| | | return; |
| | | } |
| | | _project = project; |
| | | _projectSite = projectSite; |
| | | _hydroInfo_init = hydroInfo; |
| | | _project_site = project_site; |
| | | _hydro_info_init = hydro_info; |
| | | _set_record_list = new List<SetSchemeParterRecord>(); |
| | | if (_projectSite == null) |
| | | if (_project_site == null) |
| | | { |
| | | _projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID); |
| | | _project_site = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID); |
| | | } |
| | | if (_hydroInfo_init == null) |
| | | |
| | | if (_hydro_info_init == null) |
| | | { |
| | | var hydroRelation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance |
| | | .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation); |
| | | _hydroInfo_init = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID); |
| | | } |
| | | |
| | | .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _project_site.ID, HStation.Xhs.Purpose.Simulation); |
| | | _hydro_info_init = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID); |
| | | } |
| | | |
| | | this.setSchemeParterRecordBindingSource.DataSource = _set_record_list; |
| | | this.setSchemeParterRecordBindingSource.ResetBindings(false); |
| | | LoadData(); |
| | | ShowBimfaceCtrl(); |
| | | SetBindingData(); |
| | | ShowBimfaceCtrl(); |
| | | FastShowHidden(false); |
| | | |
| | | InitialSchemeType(); |
| | | await InitialFlags(); |
| | | } |
| | | |
| | | //初始化文件格式 |
| | | private void InitialSchemeType() |
| | | { |
| | | this.imgCmbSchemeType.Properties.BeginUpdate(); |
| | | this.imgCmbSchemeType.Properties.Items.Clear(); |
| | | this.imgCmbSchemeType.Properties.Items.AddEnum(typeof(HStation.Xhs.eSchemeType), false); |
| | | this.imgCmbSchemeType.EditValue = eSchemeType.Common; |
| | | this.imgCmbSchemeType.Properties.EndUpdate(); |
| | | } |
| | | |
| | | //初始化标签 |
| | | private async Task InitialFlags() |
| | | { |
| | | var allFlagList = await BLLFactory<Yw.BLL.SysFlag>.Instance.GetBySysType(HStation.Xhs.DataType.XhsScheme); |
| | | var allFlagNameList = allFlagList?.Select(x => x.Name).ToList(); |
| | | this.setFlagsEditCtrl1.SetBindingData(allFlagNameList, null); |
| | | } |
| | | private void SetBindingData(List<SetSchemeParterRecord> set_record_list = null) |
| | | { |
| | | _hydro_info = _hydro_info_init.Adapt<Yw.Model.HydroModelInfo, Yw.Model.HydroModelInfo>(); |
| | | if (set_record_list != null && set_record_list.Any()) |
| | | { |
| | | foreach (var item in set_record_list) |
| | | { |
| | | switch (item.Catalog) |
| | | { |
| | | case Yw.Hydro.ParterCatalog.Pump: |
| | | { |
| | | var vm = item.MatchingModel as PumpMatchingViewModel; |
| | | var bol = AssetsMatchingParasHelper.Apply(_hydro_info, vm); |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Valve: |
| | | { |
| | | var vm = item.MatchingModel as ValveMatchingViewModel; |
| | | var bol = AssetsMatchingParasHelper.Apply(_hydro_info, vm); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Pipe: |
| | | { |
| | | var vm = item.MatchingModel as PipeMatchingViewModel; |
| | | var bol = AssetsMatchingParasHelper.Apply(_hydro_info, vm); |
| | | } |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | this.setSchemePumpListCtrl1.SetBindingData(_hydro_info); |
| | | this.setSchemeValveListCtrl1.SetBindingData(_hydro_info); |
| | | this.setSchemePipeListCtrl1.SetBindingData(_hydro_info); |
| | | |
| | | } |
| | | |
| | | //按钮 |
| | | private void buttonEdit_ButtonClick(object sender, ButtonPressedEventArgs e) |
| | | { |
| | | if (e.Button.Tag is not string tag) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | switch (tag) |
| | | { |
| | | case "showhide": |
| | | { |
| | | _show_hidden = !_show_hidden; |
| | | FastShowHidden(_show_hidden); |
| | | } |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | |
| | | #region Bimface |
| | |
| | | { |
| | | _bimfaceCtrl = new XhsProjectSimulationBimfaceCtrl(); |
| | | _bimfaceCtrl.Dock = DockStyle.Fill; |
| | | await _bimfaceCtrl.InitialData(_project, _projectSite, () => _hydroInfo); |
| | | await _bimfaceCtrl.InitialData(_project, _project_site, () => _hydro_info); |
| | | _bimfaceCtrl.LoadCompletedEvent += () => |
| | | { |
| | | //view加载完成事件 |
| | | if (_hydroInfo == null) |
| | | if (_hydro_info == null) |
| | | { |
| | | return; |
| | | } |
| | | }; |
| | | _bimfaceCtrl.HydroMouseLeftClickEvent += (obj) => |
| | | {//鼠标左键点击事件 |
| | | if (_hydroInfo == null) |
| | | if (_hydro_info == null) |
| | | { |
| | | return; |
| | | } |
| | |
| | | |
| | | #endregion |
| | | |
| | | #region FastShowHidden |
| | | |
| | | private bool _show_hidden = false; |
| | | private async void FastShowHidden(bool visible) |
| | | { |
| | | var code_list = _hydro_info.Decorators.Select(x => x.Code).ToList(); |
| | | if (code_list == null) |
| | | { |
| | | return; |
| | | } |
| | | if (visible) |
| | | { |
| | | await _bimfaceCtrl?.ShowComponents(code_list); |
| | | } |
| | | else |
| | | { |
| | | await _bimfaceCtrl?.HideComponents(code_list); |
| | | } |
| | | } |
| | | |
| | | |
| | | #endregion |
| | | |
| | | #region GridView |
| | | |
| | | private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) |
| | | { |
| | |
| | | var row = this.gridView1.GetRow(e.RowHandle) as SetSchemeParterRecord; |
| | | _set_record_list.Remove(row); |
| | | this.setSchemeParterRecordBindingSource.ResetBindings(false); |
| | | LoadData(_set_record_list); |
| | | SetBindingData(_set_record_list); |
| | | |
| | | } |
| | | } |
| | | |
| | | private void LoadData( List<SetSchemeParterRecord> set_record_list=null) |
| | | { |
| | | _hydroInfo = _hydroInfo_init.Adapt<Yw.Model.HydroModelInfo, Yw.Model.HydroModelInfo>(); |
| | | if (set_record_list != null && set_record_list.Any()) |
| | | { |
| | | foreach (var item in set_record_list) |
| | | { |
| | | switch (item.Catalog) |
| | | { |
| | | case Yw.Hydro.ParterCatalog.Pump: |
| | | { |
| | | var vm = item.MatchingModel as PumpMatchingViewModel; |
| | | var bol = AssetsMatchingParasHelper.Apply(_hydroInfo, vm); |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Valve: |
| | | { |
| | | var vm = item.MatchingModel as ValveMatchingViewModel; |
| | | var bol = AssetsMatchingParasHelper.Apply(_hydroInfo, vm); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Pipe: |
| | | { |
| | | var vm = item.MatchingModel as PipeMatchingViewModel; |
| | | var bol = AssetsMatchingParasHelper.Apply(_hydroInfo, vm); |
| | | } |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | private bool Verify() |
| | | { |
| | | this.dxErrorProvider1.ClearErrors(); |
| | | if (string.IsNullOrEmpty(this.txtNo.Text)) |
| | | { |
| | | this.dxErrorProvider1.SetError(this.txtNo, "必填项"); |
| | | return false; |
| | | } |
| | | if (string.IsNullOrEmpty(this.txtName.Text)) |
| | | { |
| | | this.dxErrorProvider1.SetError(this.txtName, "必填项"); |
| | | return false; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | |
| | | private async void btnSave_Click(object sender, EventArgs e) |
| | | { |
| | | if (_hydro_info == null) |
| | | { |
| | | return; |
| | | } |
| | | if (!Verify()) |
| | | { |
| | | return; |
| | | } |
| | | var bll_hydro_model = new Yw.BLL.HydroModel(); |
| | | var bll_xhs_scheme = new BLL.XhsScheme(); |
| | | var hydro_model_id = await bll_hydro_model.Copy(_hydro_info.ID); |
| | | if (hydro_model_id > 0) |
| | | { |
| | | var xhs_scheme = new Vmo.XhsSchemeVmo(); |
| | | xhs_scheme.SiteID = _project_site.ID; |
| | | xhs_scheme.NO = this.txtNo.Text.Trim(); |
| | | xhs_scheme.Name = this.txtName.Text.Trim(); |
| | | xhs_scheme.SchemeType = eSchemeType.Common; |
| | | xhs_scheme.Paras = null; |
| | | xhs_scheme.Flags = null; |
| | | xhs_scheme.UseStatus = Yw.Model.eUseStatus.Enable; |
| | | |
| | | var xhs_scheme_id = await bll_xhs_scheme.Insert(xhs_scheme); |
| | | if (xhs_scheme_id < 0) |
| | | { |
| | | await bll_hydro_model.DeleteByID(hydro_model_id); |
| | | XtraMessageBox.Show("方案创建失败!"); |
| | | return; |
| | | } |
| | | |
| | | |
| | | var hydro_relation = new Yw.Vmo.HydroModelRelationVmo(); |
| | | hydro_relation.ObjectType = HStation.Xhs.DataType.XhsScheme; |
| | | hydro_relation.ObjectID = xhs_scheme_id; |
| | | hydro_relation.ModelID = hydro_model_id; |
| | | hydro_relation.Purpose = HStation.Xhs.Purpose.Simulation; |
| | | hydro_relation.Content = null; |
| | | hydro_relation.Description = this.memoDescription.Text.Trim(); |
| | | |
| | | var hydro_relation_id = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance.Insert(hydro_relation); |
| | | if (hydro_relation_id < 1) |
| | | { |
| | | await bll_hydro_model.DeleteByID(hydro_model_id); |
| | | await bll_xhs_scheme.DeleteByID(xhs_scheme_id); |
| | | XtraMessageBox.Show("模型依赖创建失败!"); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | this.setSchemePumpListCtrl1.SetBindingData(_hydroInfo); |
| | | this.setSchemeValveListCtrl1.SetBindingData(_hydroInfo); |
| | | this.setSchemePipeListCtrl1.SetBindingData(_hydroInfo); |
| | | TipFormHelper.Show(eTipStatus.Succeed, "创建成功!"); |
| | | this.Close(); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |