public async Task <IActionResult> UpdateTrack([FromRoute] int id, [FromBody] ConferenceDTO.Track input) { var track = await _db.FindAsync <Track>(id); if (track == null) { return(NotFound()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } track.Name = input.Name; track.Slug = input.Name.ToSlug(); track.ConferenceID = input.ConferenceID; // TODO: Handle exceptions, e.g. concurrency await _db.SaveChangesAsync(); var result = track.MapTrackResponse(); return(Ok(result)); }
public static Track MapTrack(this ConferenceDTO.Track track) => new Track { ID = track.ID, Name = track.Name, ConferenceId = track.ConferenceId };
public async Task <IActionResult> Post([FromBody] ConferenceDTO.Track input) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var track = new Track { Name = input.Name, Slug = input.Name.ToSlug(), ConferenceID = input.ConferenceID }; _db.Tracks.Add(track); await _db.SaveChangesAsync(); var result = track.MapTrackResponse(); return(CreatedAtAction(nameof(GetTrack), new { id = track.TrackID }, result)); }