/// <summary> /// Gets the breed list from the raw API response message body /// </summary> /// <param name="breedJsonArray">The object containing the breed array</param> /// <returns>List of breeds</returns> private List <Breed> GetBreedList(JObject breedJsonArray) { List <Breed> breedList = new List <Breed>(); try { foreach (JProperty breedObject in breedJsonArray.Children()) { if (breedObject != null) { Breed nextBreed = new Breed(breedObject.Name); JEnumerable <JToken> variations = breedObject.Children(); foreach (JValue variation in variations.Children()) { nextBreed.Variations.Add(new BreedVariation(variation.ToString())); } breedList.Add(nextBreed); } } return(breedList); } catch (Exception ex) { Console.WriteLine("Error: Unable generate BreedList\n{0}", ex.StackTrace); return(breedList); } }
private static void ResetCoexistingOems(JToken jTokenResponse) { try { lock (InstalledOem.listLock) { ObservableCollection <AppPlayerModel> source1 = new ObservableCollection <AppPlayerModel>(); JEnumerable <JToken> source2 = jTokenResponse.First <JToken>().Children(); if (source2.Children <JToken>().Any <JToken>()) { foreach (object child in (IEnumerable <JToken>)source2.Children <JToken>()) { AppPlayerModel appPlayerModel = JsonConvert.DeserializeObject <AppPlayerModel>(child.ToString(), Utils.GetSerializerSettings()); source1.Add(appPlayerModel); } } if (!source1.Where <AppPlayerModel>((Func <AppPlayerModel, bool>)(x => string.Equals(x.AppPlayerOem, "bgp", StringComparison.InvariantCultureIgnoreCase))).Any <AppPlayerModel>()) { foreach (AppPlayerModel appPlayerModel in (Collection <AppPlayerModel>)JsonConvert.DeserializeObject <ObservableCollection <AppPlayerModel> >(Constants.DefaultAppPlayerEngineInfo, Utils.GetSerializerSettings())) { if (string.Equals(appPlayerModel.AppPlayerOem, "bgp", StringComparison.InvariantCultureIgnoreCase)) { source1.Add(appPlayerModel); } } } string b = JsonConvert.SerializeObject((object)source1, Utils.GetSerializerSettings()); if (!string.Equals(RegistryManager.Instance.AppPlayerEngineInfo, b, StringComparison.InvariantCultureIgnoreCase)) { RegistryManager.Instance.AppPlayerEngineInfo = b; } InstalledOem.CoexistingOemList = source1; } } catch (Exception ex) { Logger.Error("Exception in parsing cloud response:" + ex?.ToString()); } }
private void AddOptionKeys(Cycle c, JToken options, bool required) { try { JEnumerable <JToken> jre = options.Children(); foreach (JToken jor in jre) { string req = jor.ToString().Replace("\"", "").Replace("}", "{").Replace(",", ":").Replace("\r\n", "").Replace(" ", ""); string[] reqparts = req.Split('{'); KeyValueProperty reqkvp = new KeyValueProperty(keyValues.FirstOrDefault(x => x.CapabilityName == reqparts[0].Replace(":", "")), required); c.AddOptionKey(reqkvp, required); JEnumerable <JToken> jret = jor.Children(); foreach (JProperty jretp in jret.Children()) { if (jretp.Name.EndsWith("Range")) { foreach (JProperty jtrp in jretp.Value.Children()) { switch (jtrp.Name) { case "Min": reqkvp.Min = jtrp.Value.ToString(); break; case "Max": reqkvp.Max = jtrp.Value.ToString(); break; case "Default": reqkvp.Default = jtrp.Value.ToString(); break; case "StepF": reqkvp.StepF = jtrp.Value.ToString(); break; case "StepC": reqkvp.StepC = jtrp.Value.ToString(); break; case "Step": reqkvp.Step = jtrp.Value.ToString(); break; default: break; } } } if (jretp.Name == "Enumeration") { reqkvp.IsEnum = true; string[] enums = jretp.Value.ToString().Replace("[", "").Replace("]", "").Replace("\"", "").Split(','); string lcs = reqkvp.KeyValue.EnumName.LCS; foreach (string s in enums) { for (int en = 0; en < reqkvp.KeyValue.EnumName.Enums.Count; en++) { try { if (reqkvp.KeyValue.EnumName.Enums[en] != null) { if (reqkvp.KeyValue.EnumName.Enums[en].ToString() == s.Trim() || s.Trim().EndsWith(lcs + reqkvp.KeyValue.EnumName.Enums[en].ToString())) { reqkvp.AddValidEnum(en); /*if (reqkvp.Default == s.Trim()) * { * reqkvp.Default = en.ToString(); * }*/ } } } catch { if (reqkvp.ValidEnums.Count == 0 && lcs != "") { lcs = ""; en = 0; } else { en = 256; } } } } } if (jretp.Name == "Default") { reqkvp.Default = jretp.Value.ToString(); } if (jretp.Name == "List") { string[] list = jretp.Value.ToString().Replace("[", "").Replace("]", "").Replace("\"", "").Split(','); foreach (string s in list) { string listitem = s.Trim(); reqkvp.AddToList(listitem); } } } } } catch { } }