public async Task <IActionResult> UpdateSpeaker([FromRoute] int id, [FromBody] ConferenceDTO.Speaker 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 static Speaker MapSpeaker(this ConferenceDTO.Speaker speaker) => new Speaker { ID = speaker.ID, Bio = speaker.Bio, Name = speaker.Name, WebSite = speaker.WebSite };
public async Task <ActionResult <ConferenceDTO.SpeakerResponse> > AddSpeaker(ConferenceDTO.Speaker input) { var speaker = new Speaker { Name = input.Name, Bio = input.Bio, WebSite = input.WebSite }; _context.Speakers.Add(speaker); await _context.SaveChangesAsync(); var result = speaker.MapSpeakerResponse(); return(CreatedAtAction(nameof(GetSpeakers), new { id = result.Id }, result)); }
public async Task <IActionResult> PutSpeaker(int id, ConferenceDTO.Speaker input) { var speaker = await _db.FindAsync <Speaker>(id); if (speaker == null) { return(NotFound()); } speaker.Name = input.Name; speaker.WebSite = input.WebSite; speaker.Bio = input.Bio; // TODO: Handle exceptions, e.g. concurrency await _db.SaveChangesAsync(); return(NoContent()); }
public async Task <IActionResult> CreateSpeaker([FromBody] ConferenceDTO.Speaker 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)); }
public async Task <ActionResult <ConferenceDTO.SpeakerResponse> > PostSpeaker(ConferenceDTO.Speaker input) { 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 }, speaker)); }