Пример #1
0
        /// <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());
     }
 }
Пример #3
0
        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 { }
        }