コード例 #1
0
 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));
     }
 }
コード例 #2
0
ファイル: Resource.cs プロジェクト: Minebot17/Project2
        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;
                }
            }
        }