public async Task <Player> Login() { Task <List <Player> > getPlayersTask = _pokerClient.GetPlayers(); List <Player> players = await getPlayersTask; string playerName = UI.Prompt("Enter player name to login: "******"") { var player = players.Where(p => p.Name == playerName).FirstOrDefault(); if (player == null) { if (UI.Prompt("Player not found, create now? <Y>/N ", "Y") == "Y") { Task postPlayerTask = _pokerClient.PostPlayer(playerName); UI.Notify("Player posted."); await postPlayerTask; return(await Login()); } } return(await _pokerClient.GetPlayer(player.Id)); } return(null); }