Пример #1
0
        public async Task<List<DirectoryEntry>> GetDirectoryEntries(string path)
        {
            if (!await ValidateClient())
            {
                return null;
            }

            List<DirectoryEntry> results = new List<DirectoryEntry>();

            string skydrivePath = string.Format("me/skydrive{0}", string.IsNullOrWhiteSpace(path) ? "/" : path);
            if (!skydrivePath.EndsWith("/"))
            {
                skydrivePath += "/";
            }
            skydrivePath += "files";

            LiveOperationResult operationResult = await _client.GetAsync(skydrivePath);

            List<object> data = (List<object>)operationResult.Result["data"];
            foreach (IDictionary<string, object> content in data)
            {
                DirectoryEntry de = new DirectoryEntry();

                de.Description    = content["description"] as string;
                de.From           = content["from"] as string;
                de.Id             = content["id"] as string;
                de.Link           = content["link"] as string;
                de.Name           = content["name"] as string;
                de.ParentId       = content["parent_id"] as string;
                de.Type           = content["type"] as string;
                de.UploadLocation = content["upload_location"] as string;

                long size = 0;
                long.TryParse(content["size"] as string, out size);
                de.Size = size;

                results.Add(de);
            }

            return results;
        }
Пример #2
0
        public async Task<DirectoryEntry> GetDirectoryEntry(string id)
        {
            if (!await ValidateClient())
            {
                return null;
            }

            LiveOperationResult operationResult = await _client.GetAsync(id);

            dynamic content = operationResult.Result;

            DirectoryEntry de = new DirectoryEntry();

            de.Description    = content.description as string;
            de.From           = content.from as string;
            de.Id             = content.id as string;
            de.Link           = content.link as string;
            de.Name           = content.name as string;
            de.ParentId       = content.parent_id as string;
            de.Type           = content.type as string;
            de.UploadLocation = content.upload_location as string;

            long size = 0;
            long.TryParse(content.size as string, out size);
            de.Size = size;

            return de;
        }
Пример #3
0
        public async Task<DirectoryEntry> GetFolderInfo(DirectoryEntry directoryEntry)
        {
            
            var de = await SkyDriveHelper.GetDirectoryEntry(directoryEntry.Id);

            return de;
        }