public async Task <Boolean> DownloadDocumentThumbnail(String documentId, String size, String thumbnailFileName) { Boolean result = false; if (String.IsNullOrEmpty(documentId) || String.IsNullOrEmpty(thumbnailFileName)) { return(result); } OnshapeDocument d = await HttpGet <OnshapeDocument>(String.Format(Constants.DOCUMENT_API_URI, documentId)); if (d == null || d.thumbnail == null || d.thumbnail.sizes == null || d.thumbnail.sizes.Count == 0) { return(result); } OnshapeThumbnail t = d.thumbnail.sizes[0]; if (!String.IsNullOrEmpty(size)) { for (int i = 0; i < d.thumbnail.sizes.Count; ++i) { if (size.Equals(d.thumbnail.sizes[i].size, StringComparison.InvariantCultureIgnoreCase)) { t = d.thumbnail.sizes[i]; break; } } } if (t != null) { var response = await HttpGet(t.href, t.mediaType); if (response.StatusCode == System.Net.HttpStatusCode.OK) { using (Stream thumbnailStream = await response.Content.ReadAsStreamAsync()) { using (Stream stream = new FileStream(thumbnailFileName, FileMode.Create, FileAccess.Write, FileShare.None, 1012 * 1024, true)) { await thumbnailStream.CopyToAsync(stream); result = true; } } } } return(result); }
internal static async Task GetDocuments(CommandExecutionContext context, Dictionary <string, List <string> > options, List <string> values) { if (options.ContainsKey(Constants.DOCUMENT_ID)) { OnshapeDocument document = await context.Client.GetDocument(options[Constants.DOCUMENT_ID][0]); Console.WriteLine(JsonConvert.SerializeObject(document)); } else if (values != null && values.Count > 0) { foreach (String v in values) { OnshapeDocument document = await context.Client.GetDocument(v); Console.WriteLine(JsonConvert.SerializeObject(document)); } } else { List <OnshapeDocument> documents = await context.Client.GetDocuments(); documents.Print(); } }
internal static async Task CreateDocument(CommandExecutionContext context, Dictionary <string, List <string> > options, List <string> values) { OnshapeDocument document = await context.Client.CreateDocument(values[0]); Console.WriteLine(JsonConvert.SerializeObject(document)); }