private static List <string> GetValueList(AgencyList list, string key, string dependsOn = null) { if (string.IsNullOrWhiteSpace(dependsOn)) { dependsOn = null; } if (dependsOn != null && (list == null || list.DependsOn == null || dependsOn != string.Join("|", list.DependsOn))) { return(new List <string>()); } return(list != null && list.Values != null && list.Values.ContainsKey(key) ? list.Values[key] : new List <string>()); }
private static AgencyList ParseAgencyList(JToken jToken) { AgencyList list = new AgencyList { Values = new Dictionary <string, List <string> >() }; if (jToken is JValue) { list.Values["All"] = new List <string> { jToken.ToString() }; } else if (jToken is JArray) { list.Values["All"] = new List <string>(); foreach (JValue jArrayItem in (JArray)jToken) { list.Values["All"].Add(jArrayItem.ToString()); } } else if (jToken is JObject) { foreach (KeyValuePair <string, JToken> kvp in (JObject)jToken) { if (kvp.Key.Equals("depends_on", StringComparison.InvariantCultureIgnoreCase)) { list.DependsOn = new List <string>(); if (kvp.Value is JValue) { list.DependsOn.Add(kvp.Value.ToString()); } else if (kvp.Value is JArray) { foreach (JValue jArrayItem in (JArray)kvp.Value) { list.DependsOn.Add(jArrayItem.ToString()); } } else { } } else if (kvp.Key.Equals("values", StringComparison.InvariantCultureIgnoreCase)) { if (kvp.Value is JObject) { foreach (KeyValuePair <string, JToken> kvp2 in (JObject)kvp.Value) { list.Values[kvp2.Key] = new List <string>(); if (kvp2.Value is JValue) { list.Values[kvp2.Key].Add(kvp2.Value.ToString()); } else if (kvp2.Value is JArray) { foreach (JValue jValue in (JArray)(kvp2.Value)) { list.Values[kvp2.Key].Add(jValue.ToString()); } } else { } } } else if (kvp.Value is JArray) { foreach (JObject jArrayItem in (JArray)kvp.Value) { foreach (KeyValuePair <string, JToken> kvp2 in jArrayItem) { if (kvp2.Value is JValue) { list.Values[kvp2.Key] = new List <string> { kvp2.Value.ToString() }; } else { } } } } else { } } else { } } } else { } return(list); }