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); }