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