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)); }
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); } } }