private static int ReadItems(Action <IDataItem> dataItemsCallback, JsonReader reader) { int itemCount = 0; while (reader.Read()) { // deserialize only when there's "{" character in the stream if (reader.TokenType == JsonToken.StartObject) { JsonCacheTypes.Item jsonItem = Serializer.Deserialize <JsonCacheTypes.Item>(reader); IDataItem modelItem = Convert.ToModelItem(jsonItem); dataItemsCallback(modelItem); itemCount++; } } return(itemCount); }
public static IDataItem ToModelItem(JsonCacheTypes.Item item) { if (item.Node != null) { return(ToModelNode(item.Node)); } if (item.Link != null) { return(ToModelLink(item.Link)); } if (item.Line != null) { return(ToModelLine(item.Line)); } return(null); }