Shuxia Ning
2025-01-14 0f99d4d12f2eae29bbe343f4b3131f2faeccda5d
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/03-mgr/XhsProjectMgrPage.cs
@@ -1,7 +1,5 @@
using DevExpress.Utils;
using DevExpress.XtraTreeList;
using HStation.WinFrmUI.Xhs;
using Timer = System.Threading.Timer;
namespace HStation.WinFrmUI
{
@@ -33,10 +31,6 @@
        }
        private List<XhsProjectMgrViewModel> _allBindingList = null;
        private BLL.XhsProjectExtensions _bll = null;
        private event Action ImportProjectCompletedEvent = null;
        /// <summary>
        /// 初始化数据源
@@ -120,23 +114,71 @@
        #region 基础操作
        //添加
        private void barBtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        //导入项目
        private void barBtnImport_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (_allBindingList == null)
            {
                TipFormHelper.ShowError("数据初始化失败!");
                return;
            }
            var dlg = new AddXhsProjectDlg();
            dlg.ReloadDataEvent += (project) =>
            var dlg = new ImportXhsProjectDlg();
            dlg.SetBindingData();
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                var vm = new XhsProjectMgrViewModel(project, null, null);
                var viewModel = dlg.ViewModel;
                var vm = new XhsProjectMgrViewModel(viewModel.Project, viewModel.MapInfo, viewModel.BimfaceFile);
                _allBindingList.Add(vm);
                this.treeList1.RefreshDataSource();
            };
            dlg.SetBindingData();
            dlg.ShowDialog();
            }
        }
        //上传模型
        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)
                {
                    return;
                }
                if (project.ID < 1)
                {
                    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();
            }
        }
        //编辑
@@ -184,7 +226,7 @@
                                .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsScheme, scheme.ID, HStation.Xhs.Purpose.Simulation);
                            if (schemeRelation != null)
                            {
                                if (!await BLLFactory<Yw.BLL.HydroModelRelation>.Instance.DeleteAllByID(schemeRelation.ID))
                                if (!await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.DeleteByID(schemeRelation.ModelID))
                                {
                                    TipFormHelper.ShowError("项目方案模型删除失败,请重试!");
                                    return;
@@ -211,7 +253,7 @@
                        .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, HStation.Xhs.Purpose.Simulation);
                    if (hydroRelation != null)
                    {
                        if (!await BLLFactory<Yw.BLL.HydroModelRelation>.Instance.DeleteAllByID(hydroRelation.ID))
                        if (!await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.DeleteByID(hydroRelation.ModelID))
                        {
                            TipFormHelper.ShowError("项目模型删除失败,请重试!");
                            return;
@@ -275,50 +317,6 @@
            var dlg = new ViewXhsProjectDlg();
            dlg.SetBindingData(vm.Project);
            dlg.ShowDialog();
        }
        //导入文件
        private void BtnAddBimfaceFile_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (_allBindingList == null)
            {
                TipFormHelper.ShowError("数据初始化失败!");
                return;
            }
            var dlg = new ImportXhsProjectDlg();
            dlg.SetBindingData();
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                var viewModel = dlg.ViewModel;
                var project = viewModel.Project;
                if (project == null)
                {
                    return;
                }
                if (project.ID < 1)
                {
                    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;
                    }
                }
                var vm = new XhsProjectMgrViewModel(project, mapInfo, bimfaceFile);
                _allBindingList.Add(vm);
                this.treeList1.RefreshDataSource();
            }
        }
        #endregion
@@ -441,7 +439,7 @@
            this.RefreshData();
        }
        #endregion 更多操作
        #endregion
        #region 树事件