Example #1
0
        public async Task <bool> CreateNewGameByPlayerId(DTONewPlayerGame newPlayerGame)
        {
            try
            {
                var game = await _context.Game.Include("Course.Holes").SingleAsync(g => g.Id == newPlayerGame.GameId);

                //    var courseHole = await _context.Course.Include(h => h.Holes).FirstOrDefaultAsync(c => c.Id == game.Course);
                var player = await _context.Player.SingleAsync(p => p.Id == newPlayerGame.PlayerId);

                var playerHoleScoreList = new List <PlayerHoleScore>();
                var pscors = _context.Score.Where(x => x.Player.Id == newPlayerGame.PlayerId && x.Game.Id == newPlayerGame.GameId).SingleOrDefault();

                if (pscors == null)
                {
                    foreach (var hole in game.Course.Holes)
                    {
                        var playerScore = new PlayerHoleScore
                        {
                            Player = player,
                            Hole   = hole,
                            Points = 0,
                            Score  = 0
                        };
                        playerHoleScoreList.Add(playerScore);
                    }
                    var score = new Score
                    {
                        Player = player,
                        Game   = game,
                        Holes  = playerHoleScoreList
                    };

                    await _context.AddAsync(score);

                    await _context.SaveChangesAsync();

                    return(true);
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception e)
            {
                return(false);
            }
        }
Example #2
0
 public async Task <IActionResult> CreateNewPlayerGame([FromBody] DTONewPlayerGame newPlayerGame)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(new BadRequestObjectResult(new { msg = "Invalid model" }));
         }
         if (await _scoreRepository.CreateNewGameByPlayerId(newPlayerGame))
         {
             return(Ok(new { msg = "Player Game Created" }));
         }
         return(new BadRequestObjectResult(new { msg = "Could Create Game" }));
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         throw;
     }
 }