Exemple #1
0
        public HueObjectCollectionBase(JArray jArray, HueConnection connection)
        {
            Dictionary = new Dictionary <string, T>();

            foreach (object myObject in JsonConvert.DeserializeObject <List <object> >(jArray.ToString()))
            {
                try
                {
                    JObject myJObject = JObject.FromObject(myObject);

                    HueObjectBase item = HueObjectFactory.CreateHueObject(myJObject, connection, HueObjectFactory.GetType(typeof(T)));

                    if (item is T)
                    {
                        Dictionary.Add(Dictionary.Count.ToString(CultureInfo.InvariantCulture), (T)item);
                    }
                }
                catch (ArgumentException exception)
                {
                    Debug.WriteLine("Error when converting {0} - {1}", myObject, exception.Message);
                }
            }
        }
        protected async Task <HueObjectBase> GetAttributesAsync <T>(string id)
        {
            HueActionDelegate method = async delegate
            {
                string returnString = await Context.GetAsync(URI);

                return(HueObjectFactory.CreateHueObject(JObject.Parse(returnString), id, Context, HueObjectFactory.GetType(typeof(T))));
            };

            return(await Context.LoginWrapperAsync(method));
        }
Exemple #3
0
        public HueObjectCollectionBase(JObject jObject, HueConnection connection)
        {
            Dictionary = new Dictionary <string, T>();

            foreach (KeyValuePair <string, object> kvp in JsonConvert.DeserializeObject <Dictionary <string, object> >(jObject.ToString()))
            {
                try
                {
                    JObject myObject = JObject.FromObject(kvp.Value);

                    HueObjectBase item = HueObjectFactory.CreateHueObject(myObject, kvp.Key, connection, HueObjectFactory.GetType(typeof(T)));

                    if (item is T)
                    {
                        Dictionary.Add(kvp.Key, (T)item);
                    }
                }
                catch (ArgumentException exception)
                {
                    Debug.WriteLine("Error when converting {0} : {1} - {2}", kvp.Key, kvp.Value, exception.Message);
                }
            }
        }