Пример #1
0
        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."));
        }
Пример #2
0
        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
                });
            }
        }