From e48c798664bbdafdf519dcb5a956860db8adbd07 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期三, 23 十月 2024 13:24:49 +0800
Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0

---
 Service/HStation.Service.Revit.Core/04-service/01-json/02-helper/RevitParterExtensions.cs |   64 ++++++++++++++++++++++++++------
 1 files changed, 52 insertions(+), 12 deletions(-)

diff --git a/Service/HStation.Service.Revit.Core/04-service/01-json/02-helper/RevitParterExtensions.cs b/Service/HStation.Service.Revit.Core/04-service/01-json/02-helper/RevitParterExtensions.cs
index 70e9a39..af0224e 100644
--- a/Service/HStation.Service.Revit.Core/04-service/01-json/02-helper/RevitParterExtensions.cs
+++ b/Service/HStation.Service.Revit.Core/04-service/01-json/02-helper/RevitParterExtensions.cs
@@ -1,29 +1,69 @@
-锘縰sing HStation.Model;
-
-namespace HStation.Service
+锘縩amespace HStation.Service
 {
     /// <summary>
-    /// 
+    /// Revit缁勪欢鎷撳睍
     /// </summary>
     internal static class RevitParterExtensions
     {
+        /// <summary>
+        /// 鑾峰彇灞炴�х姸鎬�
+        /// </summary>
+        public static HStation.Model.RevitPropStatus GetPropStatus(this HStation.Model.RevitParter parter, string propName)
+        {
+            if (string.IsNullOrEmpty(propName))
+            {
+                return default;
+            }
+            var propStatus = parter.PropStatusList?.Find(x => x.PropName == propName);
+            return propStatus;
+        }
 
         /// <summary>
-        /// 
+        /// 鏄惁瀛樺湪灞炴�х姸鎬�
         /// </summary>
-        public static void AppendPropStatus(this RevitParter rhs, string propName, ePropStatus propStatus, string statusInfo)
+        public static bool IsExistPropStatus(this HStation.Model.RevitParter parter, string propName)
         {
-            if (rhs == null)
+            if (string.IsNullOrEmpty(propName))
             {
-                return;
+                return false;
             }
-            if (rhs.PropStatusList == null)
+            if (parter.PropStatusList == null || parter.PropStatusList.Count < 1)
             {
-                rhs.PropStatusList = new List<RevitPropStatus>();
+                return false;
             }
-            var status = new RevitPropStatus(propName, propStatus, statusInfo);
-            rhs.PropStatusList.Add(status);
+            return parter.PropStatusList.Exists(x => x.PropName == propName);
         }
 
+        /// <summary>
+        /// 娣诲姞鎴栬�呮洿鏂板睘鎬х姸鎬�
+        /// </summary>
+        public static bool AppendOrUpdatePropStatus(this HStation.Model.RevitParter parter, string propName, ePropStatus propStatus, string statusInfo)
+        {
+            if (parter == null)
+            {
+                return false;
+            }
+            if (string.IsNullOrEmpty(propName))
+            {
+                return false;
+            }
+            if (parter.PropStatusList == null)
+            {
+                parter.PropStatusList = new List<Model.RevitPropStatus>();
+            }
+            var propStatusModel = parter.GetPropStatus(propName);
+            if (propStatusModel == null)
+            {
+                propStatusModel = new Model.RevitPropStatus() { PropName = propName };
+                parter.PropStatusList.Add(propStatusModel);
+            }
+            propStatusModel.PropStatus = propStatus;
+            propStatusModel.StatusInfo = statusInfo;
+            return true;
+        }
+
+
+
+
     }
 }

--
Gitblit v1.9.3