public void SyncTransactions(Action<Exception> callback) { try { TransactionList.Clear(); App.Instance.ServiceData.LoadCachedTransactions(error => { var transList = TransactionList.Where(x => x.ModifiedDate > App.Instance.LastSyncDate).ToObservableCollection(); var client = new MainClient(); client.SyncTransactionsAsync(transList); client.SyncTransactionsCompleted += async (sender, e) => { if (e.Error == null) await SetupTransactionList(e.Result, true); callback(e.Error); }; }); } catch (Exception ex) { callback(ex); } }