private void On(DeletePlayersEvent gameEvent) { if (CurrentState.State == MatchState.NotStarted) { throw new InvalidOperationException("Not Expected"); } if (gameEvent.FirstPlayerUserId) { CurrentState.FirstPlayerUserId = null; } if (gameEvent.SecondPlayerUserId) { CurrentState.SecondPlayerUserId = null; } }
public async Task <IActionResult> PlayerToUserDelete(string id, Player player) { var matchService = await _matchListService.GetMatchService(UserId, id); var e = new DeletePlayersEvent() { OccuredAt = DateTime.UtcNow }; if (player == Player.First) { e.FirstPlayerUserId = true; } else { e.SecondPlayerUserId = true; } await matchService.AddEventAsync(e); return(RedirectToAction(nameof(Details), new { id })); }