public async Task <OwnCloudResponse> SetExpiryDateAsync(SharedOnlineItem onlineItem, DateTime limit) { var keyValuePairs = new Dictionary <string, string> { { "expireDate", limit.ToString("yyyy-MM-dd") } }; return(await PostPropertiesAsync(OnlinePathBuilder.FileExpirationApi(_connectionSettings.StorageUri, onlineItem), keyValuePairs, "PUT")); // {"ocs":{"meta":{"status":"ok","statuscode":100,"message":null},"data":[]}} }
public async Task <OwnCloudResponse> SetPasswordAsync(SharedOnlineItem onlineItem, string password) { var keyValuePairs = new Dictionary <string, string> { { "password", password } }; return(await PostPropertiesAsync(OnlinePathBuilder.FileExpirationApi(_connectionSettings.StorageUri, onlineItem), keyValuePairs, "PUT")); // {"ocs":{"meta":{"status":"ok","statuscode":100,"message":null},"data":[]}} }
private async Task StartWork() { progressBar.Style = ProgressBarStyle.Marquee; try { lblTitle.Text = "Creating share..."; var friendlyName = _friendlyShareName.Length > 20 ? _friendlyShareName.Substring(0, 20) : _friendlyShareName; var rootFolder = await _client.CreateFolderAsync(string.Format("Share/{0:yyyyMMddhhmmss}-{1}", DateTime.UtcNow, friendlyName), null); var format = "Uploading file {0}/{1}..."; lblTitle.Text = string.Format(format, 0, _paths.Length); progressBar.Style = ProgressBarStyle.Blocks; var status = _client.UploadFiles(rootFolder, _paths); while (!status.Task.IsFaulted && !status.Task.IsCanceled && !status.Task.IsCompleted) { lblTitle.Text = string.Format(format, status.CurrentFileNo, status.TotalFiles); progressBar.Value = (int)(status.FileProgress * 100); await Task.Delay(100); } // Task is canceled or something, so close the UI. if (!status.Task.IsCompleted) { Close(); return; } if (status.Task.IsFaulted) { lblTitle.Text = @"Error"; txtShareUrl.Text = status.Task.Exception.InnerException.Message; return; } var onlineItem = status.Result; progressBar.Style = ProgressBarStyle.Marquee; lblTitle.Text = "Creating share..."; _sharedOnlineItem = await _client.ShareItemAsync(onlineItem); txtShareUrl.Text = _sharedOnlineItem.ShareUrl.ToString(); lblTitle.Text = "Upload completed"; if (_okPressed) { await SetShareProperties(); } } catch (TaskCanceledException) { Close(); } catch (Exception ex) { lblTitle.Text = @"Error"; txtShareUrl.Text = ex.Message; } finally { _isUploading = false; progressBar.Style = ProgressBarStyle.Blocks; progressBar.Value = 100; } }
public static Uri FileExpirationApi(Uri host, SharedOnlineItem sharedItem) { return(new Uri(SanitizeHost(host) + BaseUrl + "/shares/" + sharedItem.ShareId + "?format=json", UriKind.Absolute)); }