public void Push(GoogleDriveFile item) { lock (_lock) { _stack.Push(item); } }
public bool TryPop(out GoogleDriveFile item) { lock (_lock) { if (_stack.Count == 0) { item = null; return false; } item = _stack.Pop(); return true; } }
public bool TryPeek(out GoogleDriveFile item) { return _breadcrumbs.TryPeek(out item); }
public void Push(GoogleDriveFile item) { _breadcrumbs.Push(item); }
public Task<GoogleDriveFile> FilesInsert(GoogleAuthToken authToken, GoogleDriveFilesInsertRequest filesInsertRequest, CancellationToken cancellationToken) { var queryStringValues = new Dictionary<string, string>(); if (filesInsertRequest.Convert.HasValue) { queryStringValues.Add("convert", filesInsertRequest.Convert.ToString()); } if (filesInsertRequest.Ocr.HasValue) { queryStringValues.Add("ocr", filesInsertRequest.Ocr.ToString()); } if (!string.IsNullOrEmpty(filesInsertRequest.Fields)) { queryStringValues.Add("fields", filesInsertRequest.Fields); } var metadata = new GoogleDriveFile() { Title = filesInsertRequest.Filename, MimeType = filesInsertRequest.ContentType, Parents = new[] { new GoogleDriveParent() { Id = filesInsertRequest.FolderId } } }; if (filesInsertRequest.FileContent == null) { var request = _googleAuthService.CreateRestRequest(authToken, "files" + queryStringValues.ToQueryString(), HttpMethod.Post); request.Content = new StringContent(JsonConvert.SerializeObject(metadata), Encoding.UTF8, JsonContentType); return _client.SendAndDeserialize<GoogleDriveFile>(request, cancellationToken); } else { queryStringValues.Add("uploadType", "multipart"); var request = _googleAuthService.CreateRestRequest(authToken, "files" + queryStringValues.ToQueryString(), HttpMethod.Post); var metadataBytes = JsonConvert.SerializeObject(metadata, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }).GetBytes(); var metadataContent = new ByteArrayContent(metadataBytes); metadataContent.Headers.ContentType = new MediaTypeHeaderValue(JsonContentType); var fileContent = new ByteArrayContent(filesInsertRequest.FileContent); fileContent.Headers.ContentType = new MediaTypeHeaderValue(filesInsertRequest.ContentType); request.Content = new MultipartFormDataContent { metadataContent, fileContent }; return _clientForUploads.SendAndDeserialize<GoogleDriveFile>(request, cancellationToken); } }
public bool IsChildOf(GoogleDriveFile file) { if (Parents == null) { return false; } if (file == null) { return Parents .Any(y => y.IsRoot); } else { var currentFolderId = file.Id; return Parents .Any(x => x.Id == currentFolderId); } }
public GoogleFileViewModel(GoogleDriveFile fileModel) { FileModel = fileModel; }