protected override void OnHandleIntent(Intent intent) { var bundle = intent.GetBundleExtra(nameof(ActivateChallenge)); var challengeId = new Guid(bundle.GetString(nameof(ActivateChallenge.Id))); var cmd = new ActivateChallenge(challengeId); var task = challengeService.ExecuteCommand(cmd); task.ContinueWith(_ => BroadcastSuccess(challengeId), TaskContinuationOptions.OnlyOnRanToCompletion); task.ContinueWith(_ => BroadcastFailure(challengeId), TaskContinuationOptions.OnlyOnFaulted); }
async Task When(ActivateChallenge cmd) { await Update(new ChallengeId(cmd.Id), c => c.Activate(DateTime.Now)); }