private void UpdateSaveTransfer(SaveTransfer saveTransfer, int progressPercentage) { if (progressPercentage > saveTransfer.ProgressPercentage) { saveTransfer.ProgressPercentage = progressPercentage; } if (progressPercentage >= 100) { Application.Current.Dispatcher.Invoke(() => CurrentSaveTransfers.Remove(saveTransfer)); } }
private void RetrySaveTransferAfterWait(SaveTransfer transfer, Action retryAction) { Task.Run(() => { transfer.SecondsUntilRetry = SecondsToWaitBeforeTransferRetry; do { Task.Delay(TimeSpan.FromSeconds(1)).Wait(); transfer.SecondsUntilRetry--; } while (transfer.SecondsUntilRetry > 0); }) .ContinueWith(t => retryAction()); }
private static SaveTransfer CreateNewSaveTransfer(Game game) { var transfer = new SaveTransfer { Game = game, IconVisual = Application.Current.FindResource("TransfersIcon") as Visual }; return transfer; }