Пример #1
0
        public async Task UpdateRoulette(NewRoulette rouletteToRetrieve, RouletteBet rouletteUpdated)
        {
            var rouletteRetrived = await _DynamoDb.Get(rouletteToRetrieve);

            if (!rouletteRetrived.Status)
            {
                return;
            }
            rouletteRetrived.Bets.Add(rouletteUpdated.Player);
            await _DynamoDb.Insert(rouletteRetrived);
        }
Пример #2
0
        public async Task UpdatePlayer(RoulettePlayer player, double prize)
        {
            var user = new UserDynamo {
                Email = player.Email
            };
            var currentUser = await _DynamoDb.Get(user);

            currentUser.Cash += prize;

            await _DynamoDb.Insert(currentUser);
        }
        public async Task <IActionResult> Close([FromQuery] string Id)
        {
            int         winnerMove  = new Random().Next(0, 36);
            NewRoulette newRoulette = new NewRoulette {
                Id = Id, Status = false, WinnerMove = winnerMove
            };
            var roulettes = await _DBDynamo.Get(newRoulette);

            foreach (var player in roulettes.Bets)
            {
                if (RouletteCalculator.IsWinner(winnerMove: winnerMove, player: player))
                {
                    var jsonObject = JsonConvert.SerializeObject(
                        new RouletteWinner {
                        Player = player, Prize = RouletteCalculator.Prize(player)
                    });
                    await _Queue.SendMessageAsync(message : jsonObject, sqsUrl : sqsWinner);
                }
            }
            await _DBDynamo.Insert(newRoulette);

            return(Ok(roulettes));
        }