public async Task <List <UserCardsViewModel> > GetBotsCards(int gameId, int roundId) { var bots = _userRepository.GetAll() .Where(bot => bot.TypeId == (int)PlayerTypeEnum.Bot && bot.GameId == gameId); var listOfBotCards = new List <UserCardsViewModel>(); foreach (var bot in bots) { var userCardViewModel = new UserCardsViewModel(); userCardViewModel.name = bot.Name; userCardViewModel.id = bot.Id; for (int i = 0; i < _countCardsForStartGame; i++) { var cardId = Randomizer.RandomId(); var cardForUser = _cardRepository.Get(cardId); userCardViewModel.cards.Add(cardForUser.Id); var userCard = new UserCard(); userCard.CardId = cardForUser.Id; userCard.UserId = bot.Id; userCard.RoundId = roundId; await _userCardRepository.CreateAsync(userCard); Thread.Sleep(100); } listOfBotCards.Add(userCardViewModel); } return(listOfBotCards); }
public async Task <UserCardsViewModel> GetCardsForStartGame(int gameId, string userName, int idRound) { try { int countsCardsInStartGame = 2; var user = _userRepository.GetAll().SingleOrDefault(x => x.GameId == gameId && x.Name == userName); var userCards = new UserCardsViewModel(); userCards.id = user.Id; for (int i = 0; i < countsCardsInStartGame; i++) { var random = Randomizer.RandomId(); var cardForUser = _cardRepository.Get(random); userCards.cards.Add(cardForUser.Id); var userCard = new UserCard(); userCard.CardId = cardForUser.Id; userCard.UserId = user.Id; userCard.RoundId = idRound; await _userCardRepository.CreateAsync(userCard); Thread.Sleep(100); } return(userCards); } catch (Exception e) { LogWriter.WriteLog(e.Message, "RoundService"); return(null); } }
public async Task <UserCardsViewModel> GetPlayerDealerCards(int role, int gameId, int roundId) { var userCards = new UserCardsViewModel(); var user = _userRepository.GetAll().Single(player => player.GameId == gameId && player.TypeId == role); userCards.id = user.Id; userCards.name = user.Name; for (int i = 0; i < _countCardsForStartGame; i++) { var cardId = Randomizer.RandomId(); var cardForUser = _cardRepository.Get(cardId); userCards.cards.Add(cardForUser.Id); var userCard = new UserCard(); userCard.CardId = cardForUser.Id; userCard.UserId = user.Id; userCard.RoundId = roundId; await _userCardRepository.CreateAsync(userCard); Thread.Sleep(100); } return(userCards); }
public YourCardsPage() { InitializeComponent(); BindingContext = new UserCardsViewModel(); }