Exemplo n.º 1
0
        public async Task <ResponseGetFirstDealGameView> GetFirstDeal(RequestGetFirstDealGameView model)
        {
            Random                 random           = new Random((int)DateTime.Now.Ticks);
            Stack <Card>           mixCards         = new Stack <Card>(CardGenerator().OrderBy(x => random.Next()));
            List <PlayerRoundHand> playerRoundHands = await _playerRoundHandRepository.GetPLayerRoundHandListByRoundId(model.Round.Id);

            foreach (var hand in playerRoundHands)
            {
                var cardHand = new List <Card>();
                cardHand.Add(GetCard(mixCards));
                cardHand.Add(GetCard(mixCards));
                hand.Score = (int)cardHand.First().Value + (int)cardHand.Last().Value;
                await SaveHands(cardHand, hand.Id);
            }
            await _playerRoundHandRepository.UpdateManyAsync(playerRoundHands);

            var playeRoundHandsId = new List <long>();

            foreach (var a in playerRoundHands)
            {
                playeRoundHandsId.Add(a.Id);
            }

            var result = new ResponseGetFirstDealGameView();

            result.Hands = _maping.MapPlayerRouondHandGetFirstDealGameViewItem(playerRoundHands, await _cardRepository.GetPlayerRoundHandCards(playeRoundHandsId));
            return(result);
        }
        public async Task <ResponseGetFirstDealGameView> GetFirstDeal(RequestGetFirstDealGameView item)
        {
            ResponseGetFirstDealGameView model = await _gameService.GetFirstDeal(item);

            return(model);
        }