protected override async void OnInitialized(EventArgs e) { base.OnInitialized(e); model = await ProjectCreationViewModel.Create(assignment, window.Session.User as StudentViewModel); root.DataContext = model; await model.LoadUniversities(); }
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(); }
public IHttpActionResult CreateProject([FromBody] ProjectCreationViewModel project) { if (project.Songs.Count() > MaxNumberOfTracks) { throw new NumberOfTrackExceededException($"The project has exceeded the number of available tracks ({MaxNumberOfTracks})"); } _projectService.CreateProject(project, User.Identity.Name); return(Ok()); }
public void CreateProject_WithNumberOfTracksAboveTreshold() { var project = new ProjectCreationViewModel { BasicInfo = new ProjectExtendedDto(), PublisherId = 1337, Songs = Builder <SongWithPerformersDto> .CreateListOfSize(101).Build() }; var result = _projectController.CreateProject(project); }
public void CreateProject_WithNumberOfTracksEqualToThreshold() { var project = new ProjectCreationViewModel { BasicInfo = new ProjectExtendedDto(), PublisherId = 1337, Songs = Builder <SongWithPerformersDto> .CreateListOfSize(100).Build() }; var result = _projectController.CreateProject(project); Assert.IsInstanceOfType(result, typeof(OkResult)); }