/// <summary> /// Reads the JSON representation of an <see cref="EntityCollection{T}"/> instance. /// </summary> /// <param name="reader">The <see cref="JsonReader"/> to read from.</param> /// <param name="objectType">The type of object.</param> /// <param name="existingValue">The existing value of the object being read.</param> /// <param name="serializer">The calling serializer.</param> public override Object ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer) { var collection = (EntityCollection)Activator.CreateInstance(objectType); if (reader.CanReadArray()) { while (reader.Read() && reader.TokenType != JsonToken.EndArray) { collection.Add((Entity)StateObjectConverter.Default.ReadJson(reader, collection.EntityType, null, serializer)); } } return(collection); }
/// <summary> /// Reads the JSON representation of an <see cref="EventCollection"/> instance. /// </summary> /// <param name="reader">The <see cref="JsonReader"/> to read from.</param> /// <param name="objectType">The type of object.</param> /// <param name="existingValue">The existing value of the object being read.</param> /// <param name="serializer">The calling serializer.</param> public override Object ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer) { return(reader.CanReadArray() ? new EventCollection(serializer.Deserialize <List <Event> >(reader)) : null); }