public async Task <IActionResult> CreateTrack([FromBody] TrackForCreate track) { var trackFromCreate = await _mediator.Send(new CreateTrackCommand(track)); if (trackFromCreate == null) { throw new InvalidOperationException("Expected a non-null track from track creation"); } return(CreatedAtAction(nameof(GetTrackById), new { trackId = trackFromCreate.Id }, trackFromCreate)); }
public CreateTrackCommand(TrackForCreate track) { if (track is null) { throw new ArgumentNullException(nameof(track)); } AlbumId = track.AlbumId; Bytes = track.Bytes; Composer = track.Composer; GenreId = track.GenreId; MediaTypeId = track.MediaTypeId; Milliseconds = track.Milliseconds; Name = track.Name; Price = track.Price; }