public IActionResult AddNewMusician(MusicianRequestDto musicianRequestDto) { try { _dbService.AddMusician(musicianRequestDto);; } catch (Exception ex) { return(BadRequest(ex.Message)); } return(Ok()); }
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(); }