<PackageReference Include="Relativity.Server.Import.SDK" Version="2.9.2" />

DictionaryExtensions

static class DictionaryExtensions
Represents extension methods for common dictionary-based operations.
using System; using System.Collections.Generic; namespace Relativity.DataExchange { internal static class DictionaryExtensions { public static string GetStringValue(this IDictionary<string, object> dictionary, string name, string defaultValue) { if (dictionary == null) throw new ArgumentNullException("dictionary"); if (ContainsNonNullValue(dictionary, name)) return dictionary[name].ToString(); return defaultValue; } public static int GetInt32Value(this IDictionary<string, object> dictionary, string name, int defaultValue) { return dictionary.GetInt32Value(name, defaultValue, null); } public static int GetInt32Value(this IDictionary<string, object> dictionary, string name, int defaultValue, int? minValue) { if (dictionary == null) throw new ArgumentNullException("dictionary"); if (ContainsNonNullValue(dictionary, name) && int.TryParse(dictionary[name].ToString(), out int result)) { if (minValue.HasValue) { int num = result; int? nullable = minValue; if ((num < nullable.GetValueOrDefault()) & nullable.HasValue) return defaultValue; } return result; } return defaultValue; } public static Uri GetUriValue(this IDictionary<string, object> dictionary, string name, Uri defaultValue) { if (dictionary == null) throw new ArgumentNullException("dictionary"); if (ContainsNonNullValue(dictionary, name)) try { return new Uri(dictionary[name].ToString()); } catch (ArgumentNullException) { return null; } catch (UriFormatException) { return new Uri(dictionary[name].ToString(), UriKind.Relative); } return defaultValue; } public static bool GetBooleanValue(this IDictionary<string, object> dictionary, string name, bool defaultValue) { if (dictionary == null) throw new ArgumentNullException("dictionary"); if (ContainsNonNullValue(dictionary, name) && bool.TryParse(dictionary[name].ToString(), out bool result)) return result; return defaultValue; } public static TEnum GetEnumValue<TEnum>(this IDictionary<string, object> dictionary, string name, TEnum defaultValue) where TEnum : struct { if (dictionary == null) throw new ArgumentNullException("dictionary"); if (ContainsNonNullValue(dictionary, name) && Enum.TryParse(dictionary[name].ToString(), out TEnum result)) return result; return defaultValue; } private static bool ContainsNonNullValue(IDictionary<string, object> dictionary, string name) { if (dictionary.ContainsKey(name)) return dictionary[name] != null; return false; } } }