public async Task <ActionResult <Level> > PostLevel(PostLevel levelDTO) { var level = new Level() { Name = levelDTO.Name, Description = levelDTO.Description, Content = levelDTO.Content, Creator = await _context.User.FirstOrDefaultAsync(u => u.id == levelDTO.CreatorID) }; if (level.Creator == null) { // User of ScoredOn bestaan niet, bad request. return(BadRequest()); } _context.Level.Add(level); await _context.SaveChangesAsync(); return(CreatedAtAction("GetLevel", new { id = level.ID }, convertGetLevelDTO(level))); }
public async Task <IActionResult> PutLevel(int id, PostLevel levelDTO) { if (id != levelDTO.ID) { return(BadRequest()); } var level = await _context.Level.FirstOrDefaultAsync(l => l.ID == levelDTO.ID); level.Name = levelDTO.Name; level.Description = levelDTO.Description; level.Content = levelDTO.Content; level.Creator = await _context.User.FirstOrDefaultAsync(u => u.id == levelDTO.CreatorID); if (level.Creator == null) { // User of ScoredOn bestaan niet, bad request. return(BadRequest()); } _context.Entry(level).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LevelExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }