public TrackDto AddTrackToProjectById(int projectId, TrackDto track, string userName) { var projectTrack = new project_track() { projectid = projectId, trackname = track.TrackName, isworkingtitle = false, updatedby = userName, updatedon = DateTime.Now, createdby = userName, createdon = DateTime.Now, isrc = track.Isrc, duration = track.Duration, donotpublish = false, trackorder = track.TrackOrder, recordingid = track.RecordingId }; _projectTrackRepository.Add(projectTrack); _unitOfWork.Commit(); track.Id = projectTrack.id; return(track); }
public void CreateProject(ProjectCreationViewModel project, string userName) { var projectToCreate = new project_master { projectname = project.BasicInfo.ProjectName ?? "", mainmanagerid = null, projectstartdate = DateTime.Now, isworkingtitle = project.BasicInfo.IsWorkingTitle, updatedby = userName, updatedon = DateTime.Now, createdby = userName, createdon = DateTime.Now, statuscode = project.BasicInfo.ProjectStatus, removed = false, organizationid = project.PublisherId, mainartist = project.BasicInfo.MainArtist, mainartistid = project.BasicInfo.MainArtistId }; _projectMasterRepository.Add(projectToCreate); _unitOfWork.Commit(); var projectId = projectToCreate.id; foreach (var song in project.Songs) { var songToCreate = new project_track { projectid = projectId, trackname = song.Name, isworkingtitle = false, updatedby = userName, updatedon = DateTime.Now, createdby = userName, createdon = DateTime.Now, isrc = song.Isrc, duration = song.Length, donotpublish = false, trackorder = song.Number, recordingid = song.Id }; _projectTrackRepository.Add(songToCreate); _unitOfWork.Commit(); var songId = songToCreate.id; song.Performers.ForEach(p => _projectTrackArtistRepository.Add(new project_track_artist { projecttrackid = songId, partyrealid = p.Id, rolecode = p.Role.RoleCode, instrumentcode = string.IsNullOrEmpty(p.Instrument.IdCode) ? null : p.Instrument.IdCode, updatedby = userName, updatedon = DateTime.Now, createdby = userName, createdon = DateTime.Now })); } _unitOfWork.Commit(); }