Esempio n. 1
0
 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);
        }