public IActionResult AddMusician(MusicianTracksRequest request) { try { var musician = _dbService.AddMusician(request); return(Ok(musician)); } catch (TrackAlreadyExistException exc) { return(BadRequest(exc.Message)); } }
public Musician AddMusician(MusicianTracksRequest request) { var _track = _context.Tracks.FirstOrDefault(t => t.TrackName == request.Track.TrackName); if (_track != null) { throw new TrackAlreadyExistException($"Track with the name {request.Track.TrackName} already exists."); } var _musician = new Musician { FirstName = request.FirstName, LastName = request.LastName, Nickname = request.NickName }; _track = new Track { TrackName = request.Track.TrackName, Duration = request.Track.Duration }; var _idMusician = _context.Musicians.Max(m => m.IdMusician); var _idTrack = _context.Tracks.Max(m => m.IdTrack); var _musicianTrack = new MusicianTrack { IdTrack = _idTrack, IdMusician = _idMusician }; _context.Musicians.Add(_musician); _context.Tracks.Add(_track); //_context.MusicianTracks.Add(_musicianTrack); _context.MusicianTracks.AddRange(_musicianTrack); _context.SaveChanges(); return(_musician); }