public IActionResult UpdateGame([FromBody] UpdateGameForDto model) { var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value; if (ModelState.IsValid) { var group = _gameService.UpdateGameAsync(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> UpdateGameAsync(UpdateGameForDto model, string userId) { if (model == null) { throw new NullReferenceException("Game model is null."); } await using (_context) { var userClaim = await _context.GroupMembers.SingleOrDefaultAsync(u => u.UserId == userId && u.GroupId == model.GroupId && u.Role == "Admin"); var game = await _context.Games.FindAsync(model.GameId); if (game == null || userClaim == null) { return(new GameManagerResponse { Message = "Oyun bulunamadı veya yetkiniz yok.", IsSuccess = false }); } game.GameDate = model.GameDate; game.Location = model.Location; game.Price = model.Price; game.WinnerTeam = model.WinnerTeam; _context.Update(game); await _context.SaveChangesAsync(); return(new GameManagerResponse { Message = "Oyun başarıyla düzenlendi.", IsSuccess = true }); } }