public async Task <ActionResult> CreateBoardGame([FromBody] UpdateBoardGameRequest newGame) { if (!ModelState.IsValid) { return(BadRequest()); } await service.AddBoardGameAsync(newGame); return(Ok()); }
public async Task <ActionResult> UpdateBoardGame(int id, [FromBody] UpdateBoardGameRequest dataToUpdate) { if (!ModelState.IsValid) { return(BadRequest()); } await service.UpdateGameAsync(id, dataToUpdate); return(Ok()); }
public async Task AddBoardGameAsync(UpdateBoardGameRequest game) { var dbGames = await dbContext.BoardGames.Where(g => g.Name == game.Name).ToArrayAsync(); if (dbGames.Length > 0) { throw new RequestedResourceHasConflictException("name"); } await dbContext.BoardGames.AddAsync(mapper.Map <BoardGame>(game)); await dbContext.SaveChangesAsync(); }
public async Task UpdateGameAsync(int id, UpdateBoardGameRequest gameToUpdate) { var dbGames = await dbContext.BoardGames.Where(g => g.Id == id).ToArrayAsync(); if (dbGames.Length == 0) { throw new RequestedResourceNotFoundException(); } var dbGame = dbGames[0]; mapper.Map(gameToUpdate, dbGame); dbGame.Modified = DateTime.Now; dbContext.Entry(dbGames[0]).State = EntityState.Modified; await dbContext.SaveChangesAsync(); }