public async Task <ResponseNewRoundGameView> NewRound(RequestNewRoundGameView item) { long roundId = await CreateRoundAndReturnId(item.Game.Id); var playerList = new List <ViewModels.RequestModel.PlayerNewRoundGameViewItem>(); playerList.Add(item.Player); playerList.AddRange(item.Bots); playerList.Add(item.Dealer); List <PlayerRoundHand> playerRoundHandList = CreatePlayerRoundHands(playerList, roundId); await _playerRoundHandRepository.CreateManyAsync(playerRoundHandList); playerRoundHandList = await _playerRoundHandRepository.GetPLayerRoundHandListByRoundId(roundId); var result = new ResponseNewRoundGameView(); result.Game = _maping.MapGameToGameNewRoundGameViewItem(item.Game); result.Round = _maping.MapRoundToRoundNewRoundGameViewItem(await _roundRepository.Get(roundId)); result.Player = _maping.MapPlayerToPlayerNewRoundGameViewItem(playerList .Where(x => x.Role == (int)PlayerRole.Player) .FirstOrDefault(), playerRoundHandList.Where(x => x.PlayerId == item.Player.Id) .SingleOrDefault()); result.Dealer = _maping.MapPlayerToPlayerNewRoundGameViewItem(playerList.Where(x => x.Role == (int)PlayerRole.Dealer).FirstOrDefault(), playerRoundHandList.Where(x => x.PlayerId == item.Dealer.Id).SingleOrDefault()); result.Bots = _maping.MapPlayerListToPlayerNewRoundGameViewItem(playerList.Where(x => x.Role == (int)PlayerRole.Bot).ToList(), playerRoundHandList); return(result); }
public async Task <ResponseNewRoundGameView> NewRound(RequestNewRoundGameView item) { ResponseNewRoundGameView model = await _gameService.NewRound(item); return(model); }