protected override void OnLoadData() { if (IsInDesignMode || string.IsNullOrEmpty(Settings.ApiKey)) { return; } var rester = new Api.Rest.Transfers(Settings.ApiKey); var transaction = ProgressTracker.StartNewTransaction(); rester.ListTransfers(response => { Transfers = response.Data.ToModelList(Invoker).OrderBy(x => x.Transfer.Name).ToObservableCollection(); if (Updater != null) { Updater.Dispose(); } //Automatically refreshes...every so often Updater = new AutonomousUpdater(Transfers, Settings, Invoker); ProgressTracker.CompleteTransaction(transaction); }); }
public void GetStreamUrl(FileViewModel context, Action <Uri> action) { var transaction = ProgressTracker.StartNewTransaction(); RestApi.StreamFile(context.File.FileID, response => { ProgressTracker.CompleteTransaction(transaction); action(response.ResponseUri); }); }
public void ConvertToMp4(FileViewModel context, Action action) { var transaction = ProgressTracker.StartNewTransaction(); RestApi.FileToMp4(context.File.FileID, response => { ProgressTracker.CompleteTransaction(transaction); action(); }); }
public void GetMp4Status(FileViewModel context, Action <Mp4Status, int> action) { var transaction = ProgressTracker.StartNewTransaction(); RestApi.Mp4Status(context.File.FileID, response => { ProgressTracker.CompleteTransaction(transaction); action(response.Data.ToMp4Status(), response.Data.mp4.percent_done); }); }
private void CancelTransfers(List <int> transfers) { var rester = new Api.Rest.Transfers(Settings.ApiKey); var transaction = ProgressTracker.StartNewTransaction(); rester.CancelTransfers(transfers, response => { Refresh(); ProgressTracker.CompleteTransaction(transaction); }); }
public void DeleteFiles(List <FileViewModel> selected) { var transaction = ProgressTracker.StartNewTransaction(); var ids = selected.Select(x => x.File.FileID); RestApi.DeleteFiles(ids, response => { ProgressTracker.CompleteTransaction(transaction); if (response.ResponseStatus == ResponseStatus.Completed) { Refresh(); } }); }
protected override void OnLoadData() { if (IsInDesignMode || string.IsNullOrEmpty(Settings.ApiKey)) { return; } var transactionID = ProgressTracker.StartNewTransaction(); RestApi.ListFiles(null, response => { //Store these down as our root items AllFiles = OrderCollection(response.Data.ToModelList(Invoker, Settings, ProgressTracker)); //These root items will then be displayed as default CurrentFileList = AllFiles; ProgressTracker.CompleteTransaction(transactionID); }); }
public void ConvertToMp4(List <FileViewModel> selected) { foreach (var file in selected.Where(x => x.File.ContentType == ContentType.Video && !x.File.Name.EndsWith("mp4", StringComparison.InvariantCultureIgnoreCase))) { var fileID = file.File.FileID; var transaction = ProgressTracker.StartNewTransaction(); RestApi.Mp4Status(fileID, response => { if (response.Data.ToMp4Status() == Mp4Status.NotAvailable) { RestApi.FileToMp4(fileID, response2 => ProgressTracker.CompleteTransaction(transaction)); } else { ProgressTracker.CompleteTransaction(transaction); } }); } }
public void ExpandFile(FileViewModel file) { if (file.File.ContentType != ContentType.Directory) { return; } if (file.Children != null) { CurrentFileList = file.Children; return; } var transactionID = ProgressTracker.StartNewTransaction(); RestApi.ListFiles(file.File.FileID, response => { file.Children = OrderCollection(response.Data.ToModelList(Invoker, Settings, ProgressTracker)); CurrentFileList = file.Children; ProgressTracker.CompleteTransaction(transactionID); }); }