public static string GetConditionSummary(IPolicyObject policyObject) { IEnumerator<KeyValuePair<string, IPolicyLanguageItem>> enumerator = policyObject.GetAttributeEnumerator(); while (enumerator.MoveNext()) { KeyValuePair<string, IPolicyLanguageItem> pair = enumerator.Current; if (string.Compare(pair.Key, "ConditionSummary", true, CultureInfo.InvariantCulture) == 0) { return pair.Value.Value; } } return ""; }
public static void SetConditionSummary(IPolicyObject policyObject, string conditionSummary) { IEnumerator<KeyValuePair<string, IPolicyLanguageItem>> enumerator = policyObject.GetAttributeEnumerator(); bool exists = false; while (enumerator.MoveNext()) { KeyValuePair<string, IPolicyLanguageItem> pair = enumerator.Current; if (string.Compare(pair.Key, "ConditionSummary", true, CultureInfo.InvariantCulture) == 0) { pair.Value.Value = conditionSummary; exists = true; break; } } enumerator.Dispose(); if (!exists) { CustomAttributes.SetConditionSummary(policyObject, conditionSummary); } }
public static void AddCustomAttributes(XmlNode parentNode, IPolicyObject policyObject) { AddCustomAttributes(parentNode, policyObject.GetAttributeEnumerator()); }
/// <summary> /// Searches the attribute set of an IPolicyObject, returning the first attribute whose key matches the specified name /// </summary> public static IPolicyLanguageItem FindAttribute(IPolicyObject obj, string name, bool ignoreCase, CultureInfo culture) { Dictionary<string, IPolicyLanguageItem>.Enumerator pos = obj.GetAttributeEnumerator(); while (pos.MoveNext()) { if (string.Compare(pos.Current.Key,name, ignoreCase, culture) == 0) { return pos.Current.Value; } } return null; }