From eebace752efad7088eb91e034cf898a6373c9911 Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期四, 22 八月 2024 10:36:15 +0800
Subject: [PATCH] 增加菜单图标

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.cs |   40 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 35 insertions(+), 5 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.cs
index ad71cb0..7e1a2d0 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.cs
@@ -9,6 +9,7 @@
             InitializeComponent();
             this.treeList1.InitialDefaultSettings();
             this.layoutControl1.SetupLayoutControl();
+            this.treeList1.SelectImageList = imageCollection1;
         }
 
         /// <summary>
@@ -25,24 +26,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 +164,5 @@
         {
             this.RefreshDataEvent?.Invoke();
         }
-
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3