| | |
| | | using DevExpress.CodeParser; |
| | | using DevExpress.Utils; |
| | | using DevExpress.Utils; |
| | | using DevExpress.XtraTreeList; |
| | | using HStation.WinFrmUI.Xhs; |
| | | using NetTaste; |
| | | using System; |
| | | using Timer = System.Threading.Timer; |
| | | |
| | | namespace HStation.WinFrmUI |
| | | { |
| | |
| | | this.treeList1.InitialMultiColSettings(); |
| | | this.treeList1.Appearance.Row.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Default; |
| | | this.PageTitle.Caption = "项目管理"; |
| | | this.PageTitle.HeaderSvgImage = this.svgImg32[0]; |
| | | this.PageTitle.HeaderSvgImage = XhsMainSvgImageHelper.Project; |
| | | this.PageTitle.SvgImageSize = new Size(24, 24); |
| | | this.Load += XhsProjectMgrPage_Load; |
| | | } |
| | | |
| | | private void XhsProjectMgrPage_Load(object sender, EventArgs e) |
| | | { |
| | | repositoryItemImageComboBox1.Items.AddEnum(typeof(XhsProjectMgrViewModel.eFileStatus)); |
| | | var a = typeof(XhsProjectMgrViewModel.eFileStatus); |
| | | repositoryItemImageComboBox1.Items.AddEnum(typeof(eXhsProjectStatus)); |
| | | repositoryItemImageComboBox1.Items[0].ImageIndex = 0; |
| | | repositoryItemImageComboBox1.Items[1].ImageIndex = 1; |
| | | repositoryItemImageComboBox1.Items[2].ImageIndex = 2; |
| | |
| | | repositoryItemImageComboBox1.Items[8].ImageIndex = 8; |
| | | } |
| | | |
| | | private List<XhsProjectMgrViewModel> _allProjectList = null; |
| | | |
| | | private BLL.XhsProjectExtensions _bll = null; |
| | | |
| | | private event Action ImportProjectCompletedEvent = null; |
| | | private List<XhsProjectMgrViewModel> _allBindingList = null; |
| | | |
| | | /// <summary> |
| | | /// 初始化数据源 |
| | | /// </summary> |
| | | public override async void InitialDataSource() |
| | | public override void InitialDataSource() |
| | | { |
| | | base.InitialDataSource(); |
| | | this.SetBindingData(); |
| | | this.barBtnViewBimface.ImageOptions.SvgImage = Yw.WinFrmUI.BimfaceMainSvgImageHelper.Bimface; |
| | | this.barBtnViewHydro.ImageOptions.SvgImage = Yw.WinFrmUI.HydroMainSvgImageHelper.Hydro; |
| | | this.barBtnSetMap.ImageOptions.SvgImage = XhsMainSvgImageHelper.Map; |
| | | InitialData(); |
| | | } |
| | | |
| | | private async void SetBindingData() |
| | | //初始化数据 |
| | | private async void InitialData() |
| | | { |
| | | _bll = new BLL.XhsProjectExtensions(); |
| | | var allProjectList = await _bll.GetAll(); |
| | | _allProjectList = new List<XhsProjectMgrViewModel>(); |
| | | var overlay = this.ShowOverlay(); |
| | | _allBindingList = new List<XhsProjectMgrViewModel>(); |
| | | var allProjectList = await BLLFactory<HStation.BLL.XhsProjectExtensions>.Instance.GetAll(); |
| | | if (allProjectList != null && allProjectList.Count > 0) |
| | | { |
| | | foreach (var project in allProjectList) |
| | | { |
| | | var mapinfo = await new Yw.BLL.MapInfo().Get(HStation.Xhs.DataType.XhsProject, project.ID, Yw.Map.Kind.Gaodei, Yw.Map.Purpose.Location); |
| | | var bimFile = await BimfaceFileStateHelper.IsHaveBimFace(project.ID); |
| | | if (bimFile != null) |
| | | var mapInfo = await BLLFactory<Yw.BLL.MapInfo>.Instance |
| | | .Get(HStation.Xhs.DataType.XhsProject, project.ID, Yw.Map.Kind.Gaodei, Yw.Map.Purpose.Location); |
| | | Yw.Vmo.BimfaceFileVmo bimfaceFile = null; |
| | | var projectSite = project.SiteList?.FirstOrDefault(); |
| | | if (projectSite != null) |
| | | { |
| | | //如果文件状态为上传中则进行定时请求刷新状态 |
| | | if (bimFile.FileStatus == 0) |
| | | var bimfaceFileRelation = await BLLFactory<Yw.BLL.BimfaceFileRelation>.Instance |
| | | .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, HStation.Xhs.Purpose.Simulation); ; |
| | | if (bimfaceFileRelation != null) |
| | | { |
| | | Task.Factory.StartNew(() => |
| | | { |
| | | StartTimer(300, bimFile.ID); |
| | | }); |
| | | bimfaceFile = await BLLFactory<Yw.BLL.BimfaceFile>.Instance |
| | | .GetByID(bimfaceFileRelation.BimfaceFileID); |
| | | } |
| | | var vm = new XhsProjectMgrViewModel(project, true, bimFile.FileStatus, mapinfo); |
| | | _allProjectList.Add(vm); |
| | | } |
| | | else |
| | | { |
| | | var vm = new XhsProjectMgrViewModel(project, false, 8, mapinfo); |
| | | _allProjectList.Add(vm); |
| | | } |
| | | var vm = new XhsProjectMgrViewModel(project, mapInfo, bimfaceFile); |
| | | _allBindingList.Add(vm); |
| | | } |
| | | } |
| | | this.xhsProjectMgrViewModelBindingSource.DataSource = _allProjectList; |
| | | this.xhsProjectMgrViewModelBindingSource.DataSource = _allBindingList; |
| | | this.xhsProjectMgrViewModelBindingSource.ResetBindings(false); |
| | | overlay.Close(); |
| | | } |
| | | |
| | | //计时器(刷新上传状态) |
| | | public void StartTimer(int intervalMilliseconds, long ID) |
| | | /// <summary> |
| | | /// 刷新数据 |
| | | /// </summary> |
| | | public override void RefreshData() |
| | | { |
| | | // 创建一个 Timer,它将在给定的时间间隔后触发回调方法 |
| | | var timer = new System.Threading.Timer(TimerCallback, ID, Timeout.Infinite, intervalMilliseconds); |
| | | // 启动 Timer |
| | | timer.Change(intervalMilliseconds, intervalMilliseconds); |
| | | } |
| | | |
| | | private async void TimerCallback(object state) |
| | | { |
| | | var tupleState = (Tuple<long, Timer>)state; |
| | | long iD = tupleState.Item1; |
| | | Timer timer = tupleState.Item2; |
| | | try |
| | | { |
| | | var stateResult = await BimfaceHelper.GetFileTranslateStatus(iD); |
| | | if (stateResult == 0) |
| | | { |
| | | this.SetBindingData(); |
| | | } |
| | | else |
| | | { |
| | | timer.Dispose(); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | } |
| | | base.RefreshData(); |
| | | InitialData(); |
| | | } |
| | | |
| | | #region 当前 |
| | |
| | | //获取当前 |
| | | private XhsProjectMgrViewModel GetCurrentViewModel() |
| | | { |
| | | if (_allProjectList == null) |
| | | if (_allBindingList == null) |
| | | { |
| | | Yw.WinFrmUI.MessageBoxHelper.ShowError("数据初始化错误!"); |
| | | TipFormHelper.ShowError("数据初始化错误!"); |
| | | return null; |
| | | } |
| | | if (_allProjectList == null) |
| | | if (_allBindingList.Count < 1) |
| | | { |
| | | Yw.WinFrmUI.MessageBoxHelper.ShowInfo("无数据"); |
| | | TipFormHelper.ShowWarn("无数据!"); |
| | | return null; |
| | | } |
| | | var vm = this.treeList1.GetCurrentViewModel(_allProjectList); |
| | | var vm = this.treeList1.GetCurrentViewModel(_allBindingList); |
| | | if (vm == null) |
| | | { |
| | | Yw.WinFrmUI.MessageBoxHelper.ShowInfo("请选择数据行!"); |
| | | TipFormHelper.ShowWarn("请选择数据行!"); |
| | | return null; |
| | | } |
| | | return vm; |
| | | } |
| | | |
| | | #endregion 当前 |
| | | #endregion |
| | | |
| | | #region 基础操作 |
| | | |
| | | //添加 |
| | | private async void barBtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | //导入项目 |
| | | private void barBtnImport_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | /* var dlg = new AddProjectDlg(); |
| | | dlg.ReloadDataEvent += async (rhs, mapinfo) => |
| | | { |
| | | var bll = new BLL.XhsProjectExtensions(); |
| | | var id = await bll.Insert(rhs); |
| | | if (id > 0) |
| | | { |
| | | rhs.ID = id; |
| | | var vmo = await _bll.GetByID(id); |
| | | _allProjectList.Add(new XhsProjectMgrViewModel(vmo, false)); |
| | | this.xhsProjectMgrViewModelBindingSource.ResetBindings(false); |
| | | if (mapinfo != null) |
| | | { |
| | | mapinfo.ObjectID = id; |
| | | mapinfo.ObjectName = rhs.Name; |
| | | var mapinfoid = await new Yw.BLL.MapInfo().Insert(mapinfo); |
| | | if (mapinfoid < 0) |
| | | { |
| | | TipFormHelper.ShowError("地图信息添加错误"); |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | return false; |
| | | }; |
| | | dlg.ShowDialog(); |
| | | */ |
| | | if (_allBindingList == null) |
| | | { |
| | | TipFormHelper.ShowError("数据初始化失败!"); |
| | | return; |
| | | } |
| | | var dlg = new ImportXhsProjectDlg(); |
| | | dlg.SetBindingData(); |
| | | if (dlg.ShowDialog() == DialogResult.OK) |
| | | { |
| | | var prj = dlg.ViewModel; |
| | | if (prj.ProjectID == null) |
| | | return; |
| | | var vmo = await _bll.GetByID((long)prj.ProjectID); |
| | | if (vmo == null) |
| | | var viewModel = dlg.ViewModel; |
| | | var vm = new XhsProjectMgrViewModel(viewModel.Project, viewModel.MapInfo, viewModel.BimfaceFile); |
| | | _allBindingList.Add(vm); |
| | | this.treeList1.RefreshDataSource(); |
| | | } |
| | | } |
| | | |
| | | //上传模型 |
| | | private void barBtnUploadBimface_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | var vm = GetCurrentViewModel(); |
| | | if (vm == null) |
| | | { |
| | | return; |
| | | } |
| | | if (vm.BimfaceFile != null) |
| | | { |
| | | TipFormHelper.ShowWarn("模型已上传,不能重复上传!"); |
| | | return; |
| | | } |
| | | var dlg = new ImportXhsProjectDlg(); |
| | | dlg.SetBindingData(vm.Project, vm.MapInfo); |
| | | if (dlg.ShowDialog() == DialogResult.OK) |
| | | { |
| | | var viewModel = dlg.ViewModel; |
| | | var project = viewModel.Project; |
| | | if (project == null) |
| | | { |
| | | TipFormHelper.ShowError("导入失败!"); |
| | | return; |
| | | } |
| | | else |
| | | if (project.ID < 1) |
| | | { |
| | | TipFormHelper.ShowSucceed("导入成功!"); |
| | | var mapinfo = await new Yw.BLL.MapInfo().Get(HStation.Xhs.DataType.XhsProject, (long)prj.ProjectID, Yw.Map.Kind.Gaodei, Yw.Map.Purpose.Location); |
| | | var bimFile = await BimfaceFileStateHelper.IsHaveBimFace((long)prj.ProjectID); |
| | | if (bimFile != null) |
| | | { |
| | | _allProjectList.Add(new XhsProjectMgrViewModel(vmo, true, bimFile.FileStatus, mapinfo)); |
| | | } |
| | | else |
| | | { |
| | | _allProjectList.Add(new XhsProjectMgrViewModel(vmo, false, 8, mapinfo)); |
| | | } |
| | | this.xhsProjectMgrViewModelBindingSource.ResetBindings(false); |
| | | return; |
| | | } |
| | | var mapInfo = viewModel.MapInfo; |
| | | if (mapInfo != null) |
| | | { |
| | | if (mapInfo.ID < 1) |
| | | { |
| | | mapInfo = null; |
| | | } |
| | | } |
| | | var bimfaceFile = viewModel.BimfaceFile; |
| | | if (bimfaceFile != null) |
| | | { |
| | | if (bimfaceFile.ID < 1) |
| | | { |
| | | bimfaceFile = null; |
| | | } |
| | | } |
| | | vm.Reset(project, mapInfo, bimfaceFile); |
| | | this.treeList1.RefreshDataSource(); |
| | | } |
| | | } |
| | | |
| | | //编辑 |
| | | private void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | var currentVm = this.GetCurrentViewModel(); |
| | | if (currentVm == null) |
| | | var vm = GetCurrentViewModel(); |
| | | if (vm == null) |
| | | { |
| | | MessageBoxHelper.ShowWarning("请选择数据行!"); |
| | | return; |
| | | } |
| | | var dlg = new EditProjectDlg(); |
| | | dlg.SetBindingData(currentVm.ID); |
| | | dlg.ReloadDataEvent += async (rhs, mapinfo) => |
| | | var dlg = new EditXhsProjectDlg(); |
| | | dlg.ReloadDataEvent += (project) => |
| | | { |
| | | if (await _bll.Update(rhs)) |
| | | { |
| | | currentVm.Reset(rhs); |
| | | this.xhsProjectMgrViewModelBindingSource.ResetBindings(false); |
| | | if (mapinfo != null) |
| | | { |
| | | // mapinfo.ObjectID = id; |
| | | mapinfo.ObjectName = rhs.Name; |
| | | var bol = await new Yw.BLL.MapInfo().Update(mapinfo); |
| | | if (!bol) |
| | | { |
| | | TipFormHelper.ShowError("地图信息编辑错误"); |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | return false; |
| | | vm.Reset(project, vm.MapInfo, vm.BimfaceFile); |
| | | this.treeList1.RefreshNode(this.treeList1.FocusedNode); |
| | | }; |
| | | dlg.SetBindingData(vm.Project); |
| | | dlg.ShowDialog(); |
| | | } |
| | | |
| | | //删除 |
| | | private async void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | var currentVm = GetCurrentViewModel(); |
| | | if (currentVm == null) |
| | | var vm = this.treeList1.GetCurrentViewModel(_allBindingList); |
| | | if (vm == null) |
| | | { |
| | | MessageBoxHelper.ShowWarning("请选择数据行!"); |
| | | TipFormHelper.ShowWarn("请选择项目!"); |
| | | return; |
| | | } |
| | | if (MessageBoxHelper.IsClickOk($"确认删除数据行?", "提示")) |
| | | return; |
| | | var groupresult = await _bll.DeleteByID(currentVm.ID); |
| | | if (groupresult) |
| | | var result = XtraMessageBox.Show("是否确认删除此项目?", "询问", MessageBoxButtons.YesNo) == DialogResult.Yes; |
| | | if (!result) |
| | | { |
| | | _allProjectList.Remove(currentVm); |
| | | this.xhsProjectMgrViewModelBindingSource.ResetBindings(false); |
| | | TipFormHelper.ShowSucceed("删除成功!"); |
| | | } |
| | | else |
| | | { |
| | | TipFormHelper.ShowSucceed("删除失败!"); |
| | | return; |
| | | } |
| | | } |
| | | if (vm.Project.SiteList != null && vm.Project.SiteList.Count > 0) |
| | | { |
| | | foreach (var projectSite in vm.Project.SiteList) |
| | | { |
| | | var allSchemeList = await BLLFactory<HStation.BLL.XhsScheme>.Instance.GetBySiteID(projectSite.ID); |
| | | if (allSchemeList != null && allSchemeList.Count > 0) |
| | | { |
| | | foreach (var scheme in allSchemeList) |
| | | { |
| | | var schemeRelation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance |
| | | .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsScheme, scheme.ID, HStation.Xhs.Purpose.Simulation); |
| | | if (schemeRelation != null) |
| | | { |
| | | if (!await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.DeleteByID(schemeRelation.ModelID)) |
| | | { |
| | | TipFormHelper.ShowError("项目方案模型删除失败,请重试!"); |
| | | return; |
| | | } |
| | | } |
| | | if (!await BLLFactory<HStation.BLL.XhsScheme>.Instance.DeleteByID(scheme.ID)) |
| | | { |
| | | TipFormHelper.ShowError("项目方案删除失败,请重试!"); |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | var bimfaceFileRelation = await BLLFactory<Yw.BLL.BimfaceFileRelation>.Instance |
| | | .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, HStation.Xhs.Purpose.Simulation); |
| | | if (bimfaceFileRelation != null) |
| | | { |
| | | if (!await BLLFactory<Yw.BLL.BimfaceFileRelation>.Instance.DeleteAllByID(bimfaceFileRelation.ID)) |
| | | { |
| | | TipFormHelper.ShowError("项目三维模型删除失败,请重试!"); |
| | | return; |
| | | } |
| | | } |
| | | var hydroRelation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance |
| | | .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, HStation.Xhs.Purpose.Simulation); |
| | | if (hydroRelation != null) |
| | | { |
| | | if (!await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.DeleteByID(hydroRelation.ModelID)) |
| | | { |
| | | TipFormHelper.ShowError("项目模型删除失败,请重试!"); |
| | | return; |
| | | } |
| | | } |
| | | if (!await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.DeleteByID(projectSite.ID)) |
| | | { |
| | | TipFormHelper.ShowError("项目站删除失败,请重试!"); |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | |
| | | //详细信息 |
| | | private void barBtnInfo_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | } |
| | | if (vm.MapInfo != null) |
| | | { |
| | | if (!await BLLFactory<Yw.BLL.MapInfo>.Instance.DeleteByObjectTypeAndObjectID(HStation.Xhs.DataType.XhsProject, vm.Project.ID)) |
| | | { |
| | | TipFormHelper.ShowError("项目地图位置删除失败,请重试!"); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | #endregion 基础操作 |
| | | |
| | | private void treeList1_CustomDrawRow(object sender, DevExpress.XtraTreeList.CustomDrawRowEventArgs e) |
| | | { |
| | | var a = repositoryItemButtonEdit1.ReadOnly = true; |
| | | } |
| | | |
| | | private async void treeList1_RowCellClick(object sender, RowCellClickEventArgs e) |
| | | { |
| | | if (_allProjectList == null || _allProjectList.Count < 1) |
| | | var bol = await BLLFactory<HStation.BLL.XhsProject>.Instance.DeleteByID(vm.Project.ID); |
| | | if (!bol) |
| | | { |
| | | TipFormHelper.ShowError("项目删除失败,请重试!"); |
| | | return; |
| | | } |
| | | |
| | | _allBindingList.Remove(vm); |
| | | this.xhsProjectMgrViewModelBindingSource.ResetBindings(false); |
| | | TipFormHelper.ShowSucceed("项目删除成功!"); |
| | | } |
| | | |
| | | //地图 |
| | | private void barBtnSetMap_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | var vm = GetCurrentViewModel(); |
| | | if (vm == null) |
| | | { |
| | | return; |
| | | } |
| | | if (e.Column != this.ColViewBimface) |
| | | return; |
| | | if (!vm.IsHaveBimface) |
| | | var dlg = new SetXhsProjectMapDlg(); |
| | | dlg.ReloadDataEvent += (project, mapInfo) => |
| | | { |
| | | TipFormHelper.ShowWarn("请先上传文件再进行操作!"); |
| | | vm.Reset(project, mapInfo, vm.BimfaceFile); |
| | | this.treeList1.RefreshNode(this.treeList1.FocusedNode); |
| | | }; |
| | | dlg.SetBindingData(vm.Project, vm.MapInfo); |
| | | dlg.ShowDialog(); |
| | | } |
| | | |
| | | //详细信息 |
| | | private void barBtnInfo_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | var vm = GetCurrentViewModel(); |
| | | if (vm == null) |
| | | { |
| | | return; |
| | | } |
| | | var dlg = new ViewXhsProjectDlg(); |
| | | dlg.SetBindingData(vm.Project); |
| | | dlg.ShowDialog(); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 模型 |
| | | |
| | | //查看bimface模型 |
| | | private void barBtnViewBimface_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | var vm = GetCurrentViewModel(); |
| | | if (vm == null) |
| | | { |
| | | return; |
| | | } |
| | | if (vm.BimfaceFile == null) |
| | | { |
| | | TipFormHelper.ShowWarn("请先上传文件再进行操作!"); |
| | | return; |
| | | } |
| | | if (vm.ModelStatus < eXhsProjectStatus.UploadSucceed) |
| | | { |
| | | TipFormHelper.ShowWarn("请先上传文件再进行操作!"); |
| | | return; |
| | | } |
| | | if (vm.ModelStatus < eXhsProjectStatus.ConvertSucceed) |
| | | { |
| | | TipFormHelper.ShowWarn("模型正在轻量化,请稍后重试!"); |
| | | return; |
| | | } |
| | | |
| | | var guid = new PageGuid() |
| | | { |
| | | Modular = Yw.WinFrmUI.PageModular.Bimface, |
| | | Modular = XhsFunctionHelper.Modular, |
| | | MoudingType = Yw.WinFrmUI.Page.eMoudingType.Tab, |
| | | Function = Yw.WinFrmUI.PageFunction.ViewSchemeMgr, |
| | | Function = XhsFunctionHelper.ProjectBimfaceView, |
| | | TagName = $"{vm.ID}" |
| | | }; |
| | | |
| | | if (!IsExistPage(guid, true)) |
| | | { |
| | | var page = new XhsSchemeMultiMgrPage(); |
| | | await page.SetBindingData(vm.ID); |
| | | var page = new XhsProjectBimfaceViewPage(); |
| | | page.SetBindingData(vm.Project); |
| | | CreatePage(page, guid); |
| | | } |
| | | } |
| | | |
| | | //查看水力模型 |
| | | private void barBtnViewHydro_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | var vm = GetCurrentViewModel(); |
| | | if (vm == null) |
| | | { |
| | | return; |
| | | } |
| | | if (vm.BimfaceFile == null) |
| | | { |
| | | TipFormHelper.ShowWarn("请先上传文件再进行操作!"); |
| | | return; |
| | | } |
| | | if (vm.ModelStatus < eXhsProjectStatus.UploadSucceed) |
| | | { |
| | | TipFormHelper.ShowWarn("请先上传文件再进行操作!"); |
| | | return; |
| | | } |
| | | if (vm.ModelStatus < eXhsProjectStatus.ConvertSucceed) |
| | | { |
| | | TipFormHelper.ShowWarn("模型正在轻量化,请稍后重试!"); |
| | | return; |
| | | } |
| | | |
| | | var guid = new PageGuid() |
| | | { |
| | | Modular = XhsFunctionHelper.Modular, |
| | | MoudingType = Yw.WinFrmUI.Page.eMoudingType.Tab, |
| | | Function = XhsFunctionHelper.ProjectQ3dView, |
| | | TagName = $"{vm.ID}" |
| | | }; |
| | | |
| | | if (!IsExistPage(guid, true)) |
| | | { |
| | | var page = new XhsProjectQ3dViewPage(); |
| | | page.SetBindingData(vm.Project); |
| | | CreatePage(page, guid); |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 更多操作 |
| | | |
| | |
| | | //刷新 |
| | | private void barBtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | this.SetBindingData(); |
| | | this.RefreshData(); |
| | | } |
| | | |
| | | #endregion 更多操作 |
| | | #endregion |
| | | |
| | | //查看bimface模型 |
| | | private async void barBtnViewBimface_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | #region 树事件 |
| | | |
| | | //模拟 |
| | | private void treeList1_RowCellClick(object sender, RowCellClickEventArgs e) |
| | | { |
| | | if (e.Column != this.colSimulation) |
| | | { |
| | | return; |
| | | } |
| | | var vm = GetCurrentViewModel(); |
| | | if (vm == null) |
| | | { |
| | | return; |
| | | } |
| | | if (!vm.IsHaveBimface) |
| | | if (vm.BimfaceFile == null) |
| | | { |
| | | TipFormHelper.ShowWarn("请先上传文件再进行操作!"); |
| | | TipFormHelper.ShowWarn("请先上传文件再进行操作!"); |
| | | return; |
| | | } |
| | | if (vm.ModelStatus < eXhsProjectStatus.UploadSucceed) |
| | | { |
| | | TipFormHelper.ShowWarn("请先上传文件再进行操作!"); |
| | | return; |
| | | } |
| | | if (vm.ModelStatus < eXhsProjectStatus.ConvertSucceed) |
| | | { |
| | | TipFormHelper.ShowWarn("模型正在轻量化,请稍后重试!"); |
| | | return; |
| | | } |
| | | var guid = new PageGuid() |
| | | { |
| | | Modular = Yw.WinFrmUI.PageModular.Bimface, |
| | | Modular = XhsFunctionHelper.Modular, |
| | | MoudingType = Yw.WinFrmUI.Page.eMoudingType.Tab, |
| | | Function = Yw.WinFrmUI.PageFunction.ViewBimface3d, |
| | | Function = XhsFunctionHelper.ProjectSimulation, |
| | | TagName = $"{vm.ID}" |
| | | }; |
| | | |
| | | if (!IsExistPage(guid, true)) |
| | | { |
| | | var page = new ViewXhsProjectBimfacePage(); |
| | | await page.SetBindingData(vm.ID); |
| | | var page = new XhsProjectSimulationMgrPage(); |
| | | page.SetBindingData(vm.Project); |
| | | CreatePage(page, guid); |
| | | } |
| | | } |
| | | |
| | | //查看水力模型 |
| | | private void barBtnViewHydro_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | if (_allProjectList == null || _allProjectList.Count < 1) |
| | | return; |
| | | var vm = GetCurrentViewModel(); |
| | | if (vm == null) |
| | | { |
| | | return; |
| | | } |
| | | if (!vm.IsHaveBimface) |
| | | { |
| | | TipFormHelper.ShowWarn("请先上传文件再进行操作!"); |
| | | return; |
| | | } |
| | | var guid = new PageGuid() |
| | | { |
| | | Modular = "Hydro", |
| | | MoudingType = Yw.WinFrmUI.Page.eMoudingType.Tab, |
| | | Function = "ViewModel", |
| | | }; |
| | | if (!IsExistPage(guid, true)) |
| | | { |
| | | var page = new HydroQ3dViewPage(); |
| | | page.SetBindingData(vm.ID); |
| | | CreatePage(page, guid); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | //导入文件 |
| | | private async void BtnAddBimfaceFile_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | var currentVm = this.GetCurrentViewModel(); |
| | | if (currentVm == null) |
| | | { |
| | | MessageBoxHelper.ShowWarning("请选择数据行!"); |
| | | return; |
| | | } |
| | | if (currentVm.ModelState != XhsProjectMgrViewModel.eFileStatus.Noupload) |
| | | { |
| | | MessageBoxHelper.ShowWarning("已经存在模型文件!"); |
| | | return; |
| | | } |
| | | var dlg = new ImportXhsProjectFileDlg(); |
| | | dlg.SetBindingData(currentVm.ID); |
| | | if (dlg.ShowDialog() == DialogResult.OK) |
| | | { |
| | | var prj = dlg.ViewModel; |
| | | if (prj.ProjectID == null) |
| | | return; |
| | | var mapinfo = await new Yw.BLL.MapInfo().Get(HStation.Xhs.DataType.XhsProject, (long)prj.ProjectID, Yw.Map.Kind.Gaodei, Yw.Map.Purpose.Location); |
| | | var bimFile = await BimfaceFileStateHelper.IsHaveBimFace((long)prj.ProjectID); |
| | | if (bimFile != null) |
| | | { |
| | | currentVm.Reset(currentVm, bimFile.FileStatus); |
| | | this.xhsProjectMgrViewModelBindingSource.ResetBindings(false); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | } |