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