public ActionResult Create([Bind(Include = "Album,Publishers,Tracks")] AlbumEditTemplate template)
 {
     if (ModelState.IsValid)
     {
         albumRepository.CreateAlbum(template.Album);
         albumRepository.UpdatePublishersOfAlbum(template.Album.Id, template.Publishers);
         albumRepository.UpdateTracksOfAlbum(template.Album.Id, template.Tracks);
         return(RedirectToAction("Index"));
     }
     ViewBag.Publishers = new MultiSelectList(publisherRepository.GetAllPublishers(), "Id", "Name", template.Publishers);
     ViewBag.TracksList = new SelectList(trackRepository.GetAllTracks(), "Id", "Name", template.Tracks.Select(t => t.Track));
     return(View(template));
 }
示例#2
0
        public async void CreateAlbum_ThrowBreadException_When_InvalidGroupId()
        {
            using (var applicationDbContext = TestTools.CreateApplicationDbContext()) {
                // Arrange
                int fakeGroupId = 1;
                // no group created for fakeGroupId

                // Act
                var sut = new AlbumRepository(applicationDbContext);
                await Assert.ThrowsAsync <BreadException>(async() => {
                    var album = await sut.CreateAlbum(fakeGroupId, new Domain.Dto.AlbumInfo {
                        Name        = "Name of album",
                        Description = "Descriptio for the album"
                    });

                    // Assert
                    Assert.True(false, "sut.CreateAlbum failed to raise exception as expected");
                });
            }
        }
示例#3
0
        public async void CreateAlbum_Pass_When_ValidInput()
        {
            using (var applicationDbContext = TestTools.CreateApplicationDbContext()) {
                // Arrange
                int groupId = 1;
                applicationDbContext.Add(new Group {
                    Id = groupId, Name = "DemoGroup"
                });

                // Act
                var sut   = new AlbumRepository(applicationDbContext);
                var album = await sut.CreateAlbum(groupId, new Domain.Dto.AlbumInfo {
                    Name        = "Title for album",
                    Description = "Descriptio for album"
                });

                // Assert
                Assert.NotNull(album);
                Assert.NotEqual(0, album.Id);
            }
        }
示例#4
0
        public ActionResult Create(AlbumModel albumToBeCreated)
        {
            try
            {
                Guid userId = albumToBeCreated.Id;//todo: why are the userid and the album id the same?

                AlbumRepository repo = new AlbumRepository();

                AlbumModel createdAlbum = repo.CreateAlbum(albumToBeCreated, userId);

                //create a folder for the album in the users specific albums folder
                Directory.CreateDirectory(Server.MapPath("~/Content/Albums/"
                                                         + createdAlbum.User.Username + "/" + createdAlbum.Name));

                return(RedirectToAction("Index", "Home"));
            }
            catch
            {
                return(View());
            }
        }
        private void UpdateAlbumButton_Click(object sender, RoutedEventArgs e)
        {
            Album updatedAlbum = new Album();

            updatedAlbum = SetValues();
            if (updatedAlbum.GenreId != 0 && updatedAlbum.ArtistId != 0)
            {
                if (IdInListCheck(updatedAlbum.AlbumId))
                {
                    AlbumRepository.UpdateAlbum(updatedAlbum);
                    MessageBox.Show("album updated");
                }
                else
                {
                    AlbumRepository.CreateAlbum(updatedAlbum);
                    MessageBox.Show("new item created");
                }
            }
            else
            {
                MessageBox.Show("please select a genre and an artist");
            }
        }
示例#6
0
        private async void SaveAlbum()
        {
            Album album = new Album()
            {
                title         = TextBox_title_album.Text,
                cover         = Utils.Encoder.EncodeBase64(absolutePathCover),
                publication   = "2020-06-23",
                recordCompany = TextBox_company_album.Text,
                idMusicGender = 15,
                idAlbumType   = GetAlbumType(),
                idArtist      = SingletonArtist.GetSingletonArtist().idArtist,
            };

            album.tracks = this.tracks;
            album        = await AlbumRepository.CreateAlbum(album);

            for (int i = 0; i < album.tracks.Count; i++)
            {
                TrackAudio trackAudio = new TrackAudio()
                {
                    IdTrack   = album.tracks[i].idTrack,
                    TrackName = album.tracks[i].title,
                    Audio     = GetTrackBytes(filePaths[i])
                };

                try
                {
                    await RpcStreamingService.UploadTrack(trackAudio);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Please relod");
                }
            }
            MessageBox.Show("Album created");
            NavigationService.Navigate(new ContentCreatorPage());
        }