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)); }
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"); }); } }
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); } }
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"); } }
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()); }