Exemple #1
0
        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());
 }
Exemple #4
0
        public void CreateProject_WithNumberOfTracksAboveTreshold()
        {
            var project = new ProjectCreationViewModel
            {
                BasicInfo   = new ProjectExtendedDto(),
                PublisherId = 1337,
                Songs       = Builder <SongWithPerformersDto> .CreateListOfSize(101).Build()
            };

            var result = _projectController.CreateProject(project);
        }
Exemple #5
0
        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));
        }