public async Task <IActionResult> UpdateSpeaker([FromRoute] int id, [FromBody] ConferenceDTO.SpeakerDto input) { var speaker = await _db.FindAsync <Speaker>(id); if (speaker == null) { return(NotFound()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } speaker.Name = input.Name; speaker.WebSite = input.WebSite; speaker.Bio = input.Bio; // TODO: Handle exceptions, e.g. concurrency await _db.SaveChangesAsync(); var result = speaker.MapSpeakerResponse(); return(Ok(result)); }
public async Task <IActionResult> CreateSpeaker([FromBody] ConferenceDTO.SpeakerDto input) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var speaker = new Speaker { Name = input.Name, WebSite = input.WebSite, Bio = input.Bio }; _db.Speakers.Add(speaker); await _db.SaveChangesAsync(); var result = speaker.MapSpeakerResponse(); return(CreatedAtAction(nameof(GetSpeaker), new { id = speaker.ID }, result)); }