public IActionResult AddMusician(AddMusicianRequest request) { try { _service.AddMusician(request); return(Ok()); } catch (MusicianDoesNotAddedException exc) { return(BadRequest(exc.Message)); } }
public void AddMusician(AddMusicianRequest request) { using (var transaction = _context.Database.BeginTransaction()) { try { if (request.Track != null) { var track = GetTrackByName(request.Track.TrackName); if (track == null) { _context.Add(request.Track); _context.SaveChanges(); } } var trackId = GetTrackByName(request.Track.TrackName).IdTrack; var Musician = new Musician { FirstName = request.FirstName, LastName = request.LastName, Nickname = request.Nickname }; _context.Musicians.Add(Musician); var MusicianTrack = new MusicianTrack { IdTrack = trackId, IdMusician = _context.Musicians .Where(p => p.FirstName == Musician.FirstName && p.LastName == Musician.LastName) .FirstOrDefault().IdMusician }; _context.MusicianTracks.Add(MusicianTrack); _context.SaveChanges(); transaction.Commit(); } catch (Exception exc) { transaction.Rollback(); throw new MusicianDoesNotAddedException("Uncorrect requst!"); } } }