public ResourceList(ResourceList rl) { this.sort = rl.sort; this.publicKey = rl.publicKey; this.path = rl.path; this.total = rl.total; this.items = new System.Collections.Generic.List <Resource>(); foreach (Resource item in rl.items) { this.items.Add(new Resource(item)); } }
internal Resource(JsonTextReader jsonReader) { int depth = jsonReader.Depth; while (jsonReader.Read()) { switch (jsonReader.TokenType) { case JsonToken.PropertyName: switch (jsonReader.Value.ToString()) { case "public_key": publicKey = jsonReader.ReadAsString(); break; case "_embedded": embedded = new ResourceList(jsonReader); break; case "name": name = jsonReader.ReadAsString(); break; case "created": created = jsonReader.ReadAsDateTime().Value; break; case "custom_properties": IDictionary <string, string> customProperties = new Dictionary <string, string>(); int depth2 = jsonReader.Depth; while (jsonReader.Read()) { if (jsonReader.TokenType == JsonToken.PropertyName) { customProperties.Add(jsonReader.Value.ToString(), jsonReader.ReadAsString()); } else if (jsonReader.TokenType == JsonToken.EndObject) { if (jsonReader.Depth == depth2) { break; } } } customProperties = new ReadOnlyDictionary <string, string>(customProperties); break; case "public_url": publicUrl = new Uri(jsonReader.ReadAsString()); break; case "origin_path": originPath = jsonReader.ReadAsString(); break; case "modified": modified = jsonReader.ReadAsDateTime().Value; break; case "path": path = jsonReader.ReadAsString(); break; case "md5": md5 = jsonReader.ReadAsString(); break; case "type": type = jsonReader.ReadAsString() == "file" ? Type.file : Type.dir; break; case "mime_type": mimeType = jsonReader.ReadAsString(); break; case "size": size = long.Parse(jsonReader.ReadAsString()); break; case "sha256": sha256 = jsonReader.ReadAsString(); break; case "revision": revision = long.Parse(jsonReader.ReadAsString()); break; case "media_type": mediaType = jsonReader.ReadAsString(); break; case "preview": preview = new Uri(jsonReader.ReadAsString()); break; case "resource_id": resourceId = jsonReader.ReadAsString(); break; case "comment_ids": commentIds = new CommentIds(jsonReader); break; case "share": share = new ShareInfo(jsonReader); break; case "views_count": viewsCount = jsonReader.ReadAsInt32(); break; case "owner": owner = new UserPublicInformation(jsonReader); break; } break; case JsonToken.EndObject: if (jsonReader.Depth == depth) { return; } break; } } }