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; }
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; }
public async Task<DirectoryEntry> GetFolderInfo(DirectoryEntry directoryEntry) { var de = await SkyDriveHelper.GetDirectoryEntry(directoryEntry.Id); return de; }