public async Task <GameKeyViewModel> PostGameKeyAsync(string vendorUserName, GameKeyDto gameKeyDto) { var gameKey = MapToEntity(vendorUserName, gameKeyDto); _context.GameKeys.Add(gameKey); await _context.SaveChangesAsync(); return(_mapper.Map <GameKeyViewModel>(gameKey)); }
private GameKey MapToEntity(string vendorUserName, GameKeyDto dto) { var game = _context.Games.Include(game => game.Vendor).Single(game => game.ID == dto.GameID); if (game == null) { throw new ItemNotFoundException(); } if (game.Vendor.Username != vendorUserName) { throw new WrongVendorException(); } return(new GameKey { Key = dto.Key, Game = game, }); }
public async Task <ActionResult <GameKeyViewModel> > PostGameKey([FromHeader(Name = "Authorization")] string JWT, GameKeyDto gameKeyDto) { //TODO: Validation var gameKey = await _gameKeyService.PostGameKeyAsync(User.Identity.Name, gameKeyDto); return(CreatedAtAction("GetGameKey", new { id = gameKey.ID }, gameKey)); }