public async Task Start(IEnumerable <SyncPair> syncs, Api api, bool isTestRun = false, SyncMode?mode = null) { bool addedHandler = false; foreach (SyncPair pair in syncs) { SyncPairHandler handler; if (handlers.TryGetValue(pair.Token, out handler) && !handler.IsEnded) { continue; } handler = SyncPairHandler.FromSyncPair(pair, api, isTestRun, mode); Queue.Enqueue(handler); handlers[handler.Token] = handler; AddedHandler?.Invoke(this, handler); addedHandler = true; } if (!addedHandler || IsRunning) { return; } if (appTrigger == null) { RegisterAppBackgroundTask(); } await appTrigger.RequestAsync(); }
public bool TryGetHandler(string token, out SyncPairHandler handler) { return(handlers.TryGetValue(token, out handler)); }
private async void AbbStop_Click(object sender, RoutedEventArgs e) { SyncPairHandler handler = (SyncPairHandler)DataContext; await handler.Cancel(); }