duheng
2024-08-21 6c88a90d2330a27c0052a22538f6ebd6200faae7
WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.cs
@@ -25,24 +25,54 @@
        /// 项目导入完成事件
        /// </summary>
        public event Action<ImportXhsProjectViewModel> ImportProjectCompletedEvent;
        private List<HomeXhsProjectTreeViewModel> _allBindingList = null;//当前绑定列表
        /// <summary>
        /// 绑定数据
        /// </summary>
        public void SetBindingData(List<XhsProjectStdDto> allProjectList)
        public async void SetBindingData(List<XhsProjectStdDto> allProjectList)
        {
            _allBindingList = new List<HomeXhsProjectTreeViewModel>();
            foreach (var item in allProjectList)
            {
                var vm = new HomeXhsProjectTreeViewModel(item);
                _allBindingList.Add(vm);
                if (await IsHaveBimFace(item.ID))
                {
                    var vm = new HomeXhsProjectTreeViewModel(item, true);
                    _allBindingList.Add(vm);
                }
                else
                {
                    var vm = new HomeXhsProjectTreeViewModel(item, false);
                    _allBindingList.Add(vm);
                }
            }
            this.treeList1.DataSource = _allBindingList;
            this.treeList1.ForceInitialize();
            this.treeList1.ExpandAll();
        }
        //查找项目是否存在模型
        private async Task<bool> IsHaveBimFace(long ProjectID)
        {
            var projectSite = await new BLL.XhsProjectSiteStd().GetDefaultByProjectID(ProjectID);
            if (projectSite == null)
            {
                return false;
            }
            var relation = await new Yw.BLL.BimfaceFileRelationStd()
               .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, Yw.Bimface.Purpose.Simulation);
            if (relation == null)
            {
                return false;
            }
            var bimfaceFile = await new Yw.BLL.BimfaceFileStd().GetByID(relation.BimfaceFileID);
            if (bimfaceFile == null)
            {
                return false;
            }
            return true;
        }
        /// <summary>
        /// 设置默认
@@ -133,6 +163,5 @@
        {
            this.RefreshDataEvent?.Invoke();
        }
    }
}
}