private async void UpdateBalancesAsync() { if (this.updateBalancesCancellation != null) { this.updateBalancesCancellation.Cancel(); } this.updateBalancesCancellation = new CancellationTokenSource(); HitError error = null; await Task.Factory.StartNew(() => this.UpdateBalances(this.updateBalancesCancellation.Token, out error)) .ContinueWith((t) => { if (error == null) { this.balancesCache.ForEach(b => this.PushMessage(b)); } else { var dealTicket = DealTicketGenerator.CreateRefuseDealTicket(error.ToString()); this.PushMessage(dealTicket); } }); }
protected T CheckHitResponse <T>(HitResponse <T> hitResponse, out HitError hitError, bool pushDealTicketOnError = false) { T result = hitResponse.Result; hitError = hitResponse.Error; if (hitError != null && pushDealTicketOnError) { var dealTicket = DealTicketGenerator.CreateRefuseDealTicket(hitError.ToString()); this.PushMessage(dealTicket); } return(result); }