Example #1
0
 public IActionResult AddNewMusician(MusicianRequestDto musicianRequestDto)
 {
     try
     {
         _dbService.AddMusician(musicianRequestDto);;
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
     return(Ok());
 }
Example #2
0
        public void AddMusician(MusicianRequestDto musicianRequestDto)
        {
            List <TrackDto> tracksDto    = musicianRequestDto.tracksDto;
            List <Track>    musianTracks = new List <Track>();

            // create new tracks if they dont exist
            if (tracksDto != null)
            {
                tracksDto.ForEach(tr =>
                {
                    Track dbTrack = _context.Track.Where(x => x.TrackName.Equals(tr.trackName)).FirstOrDefault();
                    if (dbTrack == null)
                    {
                        Track newTrack = new Track {
                            TrackName = tr.trackName, Duration = tr.duration
                        };
                        musianTracks.Add(newTrack);
                        _context.Add(newTrack);
                    }
                    else
                    {
                        musianTracks.Add(dbTrack);
                    }
                });
            }

            Musician newMusician = new Musician()
            {
                FirstName = musicianRequestDto.firstName, LastName = musicianRequestDto.lastName, NickName = musicianRequestDto.nickName
            };

            _context.Add(newMusician);

            musianTracks.ForEach(tr => {
                var muzTrack = new MusicianTrack()
                {
                    IdTrack = tr.IdTrack, IdMusician = newMusician.IdMusician
                };
                _context.Add(muzTrack);
            });

            _context.SaveChanges();
        }