public async Task SignInAsync(Guid invocationId, PlayerSignInRequest request) { try { var signedInPlayer = await _signInService.SignInAsync(request); await ResolveValueAsync(Clients.Caller, nameof(SignInAsync), invocationId, signedInPlayer); } catch (Exception ex) { await RejectAsync(Clients.Caller, nameof(SignInAsync), invocationId, ex.Message); } }
public async Task <PlayerDto> SignInAsync(PlayerSignInRequest request) { var playerId = request?.PlayerId ?? throw new ArgumentNullException(nameof(request.PlayerId)); var playerName = request?.PlayerName ?? GetTempPlayerName(); if (!_players.ContainsKey(playerId)) { var player = new Player( id: playerId, name: playerName ); _players.Add(playerId, player); await _eventBus.PublishAsync(PlayerSignedInDomainEvent.FromPlayer(player)); } return(MapToPlayerDto(_players[playerId])); }
public Task <PlayerDto> SignInAsync(PlayerSignInRequest request) => CreateInvocationAsync <PlayerDto>("SignInAsync", request);