public IActionResult CreateGame([FromBody] CreateGameForDto model)
        {
            var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value;

            if (ModelState.IsValid)
            {
                var group = _gameService.CreateGameAsync(model, userId);

                if (group.Result.IsSuccess)
                {
                    return(Ok(group.Result));
                }

                return(BadRequest(group.Result));
            }

            return(BadRequest("Some properties are not valid."));
        }
示例#2
0
        public async Task <GameManagerResponse> CreateGameAsync(CreateGameForDto model, string userId)
        {
            if (model == null)
            {
                throw new NullReferenceException("Game model is null.");
            }


            if (_context.GroupMembers.FirstOrDefault(p =>
                                                     p.UserId == userId && p.GroupId == model.GroupId && p.Role == "Admin") == null)
            {
                return new GameManagerResponse
                       {
                           Message   = "Sadece grup yöneticisi oyun oluşturabilir.",
                           IsSuccess = false
                       }
            }
            ;

            await using (_context)
            {
                var game = new Game
                {
                    HomeTeam   = "1",
                    AwayTeam   = "2",
                    WinnerTeam = "",
                    GameDate   = model.GameDate,
                    Location   = model.Location,
                    Price      = model.Price,
                    GroupId    = model.GroupId
                };

                await _context.AddAsync(game);

                await _context.SaveChangesAsync();

                return(new GameManagerResponse
                {
                    Message = "Oyun başarıyla oluşturuldu.",
                    IsSuccess = true
                });
            }
        }