public async Task Throw_If_NoTracksExist() { //Arrange var options = Utils.GetOptions(nameof(Throw_If_NoTracksExist)); Playlist firstPlaylist = new Playlist { Id = 27, Title = "Home", PlaylistPlaytime = 5524, UserId = 2, Rank = 552348, IsDeleted = false, }; var dateTimeProviderMock = new Mock <IDateTimeProvider>(); var mockImageService = new Mock <IPixaBayImageService>(); using (var arrangeContext = new RidePalDbContext(options)) { arrangeContext.Playlists.Add(firstPlaylist); arrangeContext.SaveChanges(); } //Act & Assert using (var assertContext = new RidePalDbContext(options)) { var sut = new PlaylistService(assertContext, dateTimeProviderMock.Object, mockImageService.Object); await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => sut.GetPlaylistTracksAsync(27)); } }
private async void Button_sub_Click(object sender, RoutedEventArgs e) { if (playListDetailRoot.playlist.subscribed == "true") { if (await Task.Run(() => PlaylistService.SubOrCancelPlayList(playListDetailRoot.playlist.id, 2))) { NotifyPopup notifyPopup = new NotifyPopup("已取消收藏", "\xE224", Colors.MediumSeaGreen); notifyPopup.Show(); TextBlock_subIcon.Text = "\xECCD"; TextBlock_subscribe.Text = "收藏"; } else { NotifyPopup notifyPopup = new NotifyPopup("操作失败", "\xE171"); notifyPopup.Show(); } } else { if (await Task.Run(() => PlaylistService.SubOrCancelPlayList(playListDetailRoot.playlist.id, 1))) { NotifyPopup notifyPopup = new NotifyPopup("已添加收藏", "\xE082", Colors.MediumSeaGreen); notifyPopup.Show(); TextBlock_subIcon.Text = "\xF89A"; TextBlock_subscribe.Text = "已收藏"; } else { NotifyPopup notifyPopup = new NotifyPopup("操作失败", "\xE171"); notifyPopup.Show(); } } }
private async void MyMusicList_Loaded(object sender, RoutedEventArgs e) { if (playlistItems_created == null && playlistItems_subscribed == null) { playlistItems_created = new ObservableCollection <PlaylistItem>(); playlistItems_subscribed = new ObservableCollection <PlaylistItem>(); MyPlaylistRoot myPlaylistRoot = await Task.Run(() => PlaylistService.GetMyPlaylist()); if (myPlaylistRoot == null || myPlaylistRoot.playlist == null) { NotifyPopup notifyPopup = new NotifyPopup("获取失败"); notifyPopup.Show(); return; } foreach (var temp in myPlaylistRoot.playlist) { if (temp.subscribed == "true") { playlistItems_subscribed.Add(temp); } else { playlistItems_created.Add(temp); } } myPlaylistRoot = null; } AdaptiveGridView_createdByMe.ItemsSource = playlistItems_created; AdaptiveGridView_subscribed.ItemsSource = playlistItems_subscribed; }
public async Task CreateCorrectly() { var options = Utils.GetOptions(nameof(CreateCorrectly)); var playlist = new PlaylistDTO { Title = "In Utero", Duration = 1600, //PixabayImage = "https://en.wikipedia.org/wiki/In_Utero_(album)#/media/File:In_Utero_(Nirvana)_album_cover.jpg", }; using (var arrangeContext = new PGDbContext(options)) { var sut = new PlaylistService(arrangeContext); await sut.Create(playlist); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new PGDbContext(options)) { var result = await assertContext.Playlists.FirstOrDefaultAsync(x => x.Title == playlist.Title); Assert.AreEqual(playlist.Title, result.Title); Assert.AreEqual(playlist.Duration, result.Duration); //Assert.AreEqual(playlist.PixabayImage, result.Picture); } }
public async Task Throw_When_NoPlaylistsExistToAttachImageTo() { //Arrange var options = Utils.GetOptions(nameof(Throw_When_NoPlaylistsExistToAttachImageTo)); PlaylistDTO firstPlaylistDTO = new PlaylistDTO { Id = 91, Title = "Home", PlaylistPlaytime = 5524, UserId = 2, Rank = 552348, }; var dateTimeProviderMock = new Mock <IDateTimeProvider>(); var mockImageService = new Mock <IPixaBayImageService>(); using (var assertContext = new RidePalDbContext(options)) { //Act var sut = new PlaylistService(assertContext, dateTimeProviderMock.Object, mockImageService.Object); //Assert await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => sut.AttachImage(firstPlaylistDTO)); } }
private PlaylistService CreatePlaylistService() { var userId = User.Identity.GetUserId(); var service = new PlaylistService(userId); return(service); }
private async void Button_AddToPlaylist_Click(object sender, RoutedEventArgs e) { if (!PlayingService.IsPlayingSong) { return; } if (PlayingService.PlaylistItems_Created == null && PlayingService.PlaylistItems_Subscribed == null) { PlayingService.PlaylistItems_Created = new ObservableCollection <PlaylistItem>(); PlayingService.PlaylistItems_Subscribed = new ObservableCollection <PlaylistItem>(); MyPlaylistRoot myPlaylistRoot = await Task.Run(() => PlaylistService.GetMyPlaylist()); foreach (var temp in myPlaylistRoot.playlist) { if (temp.subscribed == "true") { PlayingService.PlaylistItems_Subscribed.Add(temp); } else { PlayingService.PlaylistItems_Created.Add(temp); } } myPlaylistRoot = null; } ListBox_CreatedPlaylist.ItemsSource = PlayingService.PlaylistItems_Created; await ContentDialog_CreatedPlaylist.ShowAsync(); }
public async Task ReturnFalse_WhenPlaylistIsAlreadyUndeleted() { var options = Utils.GetOptions(nameof(ReturnFalse_WhenPlaylistIsAlreadyUndeleted)); Playlist firstPlaylist = new Playlist { Id = 11, Title = "Home", PlaylistPlaytime = 5524, UserId = 2, Rank = 552348, IsDeleted = false }; var dateTimeProviderMock = new Mock <IDateTimeProvider>(); var mockImageService = new Mock <IPixaBayImageService>(); using (var arrangeContext = new RidePalDbContext(options)) { arrangeContext.Playlists.Add(firstPlaylist); arrangeContext.SaveChanges(); } using (var assertContext = new RidePalDbContext(options)) { //Act var sut = new PlaylistService(assertContext, dateTimeProviderMock.Object, mockImageService.Object); var result = await sut.UndoDeletePlaylistAsync(11); //Assert Assert.IsFalse(result); } }
/// <summary> /// plays the currently selected song, if no song is selected it plays the first one inside the playlist, /// if no song is inside the playlist, the random function is used to get a song from the library /// </summary> private void Play() { if (_mediaPlayer.IsPlaying()) { if (PlaybackPaused) { Pause(); return; } _mediaPlayer.Stop(); } if (CurrentSong == null && PlaylistService != null) { CurrentSong = PlaylistService.GetNextPlaylistItem(SequentialPlayback == false, null, true); } if (CurrentSong == null) { return; } _mediaPlayer.Play(CurrentSong); PlaybackPaused = false; PreviousSongCommand.RaiseCanExecuteChanged(); PauseCommand.RaiseCanExecuteChanged(); ((IPlayerView)View).SetArtistAndTitle(CurrentSong.Song.Artist, CurrentSong.Song.Title); int durationOfSongInMs = _mediaPlayer.GetDurationOfPlayedSong(); ((IPlayerView)View).SetSongDuration(durationOfSongInMs); }
private void btnAddPlaylist_Click(object sender, EventArgs e) { string path = FormMain.defaultPath; string url = textBoxUrl.Text; playlistService = new PlaylistService(); chromeDriver = new ChromeDriver(BrowserSettings.ChromeDriverService, BrowserSettings.ChromeOptions(null)); Playlist playlist = new Playlist(path, url); playlist = playlistService.GetUpdatedPlaylist(chromeDriver, playlist); string result = ""; string[] splited = playlist.PathFolder.Split(new[] { "\\" }, StringSplitOptions.None); splited[splited.Length - 1] = "Spotify-" + splited.LastOrDefault(); result = string.Join("\\", splited); //foreach(var split in sp) DirectoryInfo di = Directory.CreateDirectory(result); using (StreamWriter sw = File.CreateText(result + "\\url.txt")) { sw.WriteLine(playlist.Url); } chromeDriver.Quit(); this.Close(); }
private PlaylistService CreatePlaylistService() { var userId = Guid.Parse(User.Identity.GetUserId()); var playlistService = new PlaylistService(userId); return(playlistService); }
public async Task DeleteCorrectly() { var options = Utils.GetOptions(nameof(DeleteCorrectly)); var playlist = new PlaylistDTO { Title = "In Utero", Duration = 1600, //PixabayImage = "https://en.wikipedia.org/wiki/In_Utero_(album)#/media/File:In_Utero_(Nirvana)_album_cover.jpg", }; using (var arrangeContext = new PGDbContext(options)) { var sut = new PlaylistService(arrangeContext); await sut.Create(playlist); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new PGDbContext(options)) { var sut = new PlaylistService(assertContext); await sut.Delete(1); var playlists = await sut.GetAllPlaylists(); int playlistsCount = playlists.Count(); Assert.AreEqual(0, playlistsCount); } }
public IHttpActionResult Get(int id) { PlaylistService playlistService = CreatePlaylistService(); var playlist = playlistService.GetPlaylistById(id); return(Ok(playlist)); }
public void Should_ReturnSongsAsidePlaylist() { //Arrange PlaylistService playlistService = new PlaylistService(); Song song1 = new Song(1, "The Weeknd", "The Hills", GenreName.Pop, 2015, 1, ""); Song song2 = new Song(2, "Alicja Majewska", "Żyć się chce", genre: GenreName.Pop, 2019, 1, ""); Song song3 = new Song(3, "Selah Sue", "Crazy Vibes", GenreName.Jazz, 2011, 1, ""); Song song4 = new Song(4, "Lady Pank", "Tacy sami", GenreName.Rock, 1988, 1, ""); List <Song> databaseSongs = new List <Song>(); databaseSongs.Add(song1); databaseSongs.Add(song2); databaseSongs.Add(song3); databaseSongs.Add(song4); Playlist playlistToUpdate = new Playlist(1, "Testing"); playlistToUpdate.Content.Add(song1); playlistToUpdate.Content.Add(song4); //Act var result = playlistService.ReturnSongsAsidePlaylist(databaseSongs, playlistToUpdate); //Asset result.Should().BeOfType(typeof(List <Song>)); result.Should().HaveCount(2); result.Should().Contain(song2); result.Should().Contain(song3); result.Should().ContainInOrder(song2, song3); }
public async Task <ActionResult> Create(PlaylistChangeModel pmodel) { if (ModelState.IsValid) { OperationDetails operationDetails = await PlaylistService.Create(new PlaylistDTO() { Name = pmodel.Name, UserId = User.Identity.GetUserId(), Musics = pmodel.MusicsId.Select(x => new MusicDTO() { Id = x }).ToList() }); if (operationDetails.Succedeed) { return(RedirectToAction("PlaylistView")); } else { ModelState.AddModelError(operationDetails.Property, operationDetails.Message); } } return(View(pmodel)); }
async void Delete(object para) { try { PlaylistArt = null; var mediafile = para as Mediafile; if (mediafile == null) { mediafile = Player.CurrentlyPlayingFile; } var pName = Playlist == null ? (para as MenuFlyoutItem).Text : Playlist.Name; using (PlaylistService service = new PlaylistService(Playlist.Name, Playlist.IsPrivate, await ShowPasswordDialog(Playlist.IsPrivate))) { service.Remove(mediafile); Songs.Remove(mediafile); // mediafile.Playlists.Remove(mediafile.Playlists.Single(t => t.Name == pName)); // Songs.Remove(mediafile); // LibVM.Database.Update(mediafile); await Refresh(); } } catch (Exception ex) { BLogger.Logger.Error("Error occured while deleting song from playlist.", ex); } }
// GET: Playlist public ActionResult Index() { var service = new PlaylistService(); var model = service.GetAllPlaylists(); return(View(model)); }
public ActionResult PlaylistView() { var t = User.Identity.GetUserId(); List <PlaylistModel> playlists = new List <PlaylistModel>(); if (User.IsInRole("admin")) { playlists = PlaylistService.GetAll().Select(playlist => new PlaylistModel() { Id = playlist.Id, Name = playlist.Name, Musics = playlist.Musics.Select(x => new MusicModel() { Id = x.Id }).ToList() }).ToList(); } else { playlists = PlaylistService.GetAllById(t).Select(playlist => new PlaylistModel() { Id = playlist.Id, Name = playlist.Name, Musics = playlist.Musics.Select(x => new MusicModel() { Id = x.Id }).ToList() }).ToList(); } return(View(playlists)); }
//GET Playlist/Detail public ActionResult Details(int id) { var svc = new PlaylistService(); var model = svc.GetPlaylistByID(id); return(View(model)); }
public async Task DeleteThrowsWhenIdAlreadyDeleted() { var options = Utils.GetOptions(nameof(DeleteThrowsWhenIdAlreadyDeleted)); var playlist = new PlaylistDTO { Title = "In Utero", Duration = 1600, //PixabayImage = "https://en.wikipedia.org/wiki/In_Utero_(album)#/media/File:In_Utero_(Nirvana)_album_cover.jpg", }; using (var arrangeContext = new PGDbContext(options)) { var sut = new PlaylistService(arrangeContext); await sut.Create(playlist); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new PGDbContext(options)) { var sut = new PlaylistService(assertContext); await sut.Delete(1); await Assert.ThrowsExceptionAsync <ArgumentException>(() => sut.Delete(1)); } }
protected override void BackButtonWasPressed(ViewController topViewController) { BeatSaberUI.MainFlowCoordinator.DismissFlowCoordinator(this); var playlistService = new PlaylistService(); playlistService.Reload(); }
{ public IHttpActionResult Get() { PlaylistService playlistService = CreatePlaylistService(); var playlists = playlistService.AdminGetPlaylist(); return(Ok(playlists)); }
public CommonSoundCloudTrackViewModel() { foreach (var p in PlaylistService.GetPlaylists(App.User.id)) { Playlists.Add(p); } }
List <Object> prepareToNavigeteToPlaylitDetail(long id) { PlayListDetailRoot playListDetailRoot = PlaylistService.GetPlaylistDetail(id); if (playListDetailRoot == null || playListDetailRoot.playlist.trackIds.Count == 0) { return(null); } string ids = ""; for (int i = 0; i < playListDetailRoot.playlist.trackIds.Count; i++) { if (i != 0) { ids += ","; } ids += playListDetailRoot.playlist.trackIds[i].id; } MusicDetailRoot musicDetailRoot = SongService.GetMusicDetail_Post(ids); if (musicDetailRoot == null) { return(null); } List <Object> list = new List <object>(); list.Add(playListDetailRoot); list.Add(musicDetailRoot); return(list); }
public PlaylistViewModel(int idDeezer) { playlistService = ServiceLocator.GetService <PlaylistService>(); Task.Run(async() => { try { Playlists = await playlistService.GetPlaylist(idDeezer); } catch (AccessDeezerException) { Device.BeginInvokeOnMainThread(() => { Application.Current.MainPage.DisplayAlert("alert", "message", "OK"); }); } catch (Exception) { Device.BeginInvokeOnMainThread(() => { Application.Current.MainPage.DisplayAlert("alert", "message", "OK"); }); } }); }
public async Task ReturnTrue_WhenPlaylistFavoriteWasCreatedButDisliked() { var options = Utils.GetOptions(nameof(ReturnTrue_WhenPlaylistFavoriteWasCreatedButDisliked)); Playlist firstPlaylist = new Playlist { Id = 32, Title = "Home", PlaylistPlaytime = 5524, UserId = 2, Rank = 552348, IsDeleted = false }; Playlist secondPlaylist = new Playlist { Id = 33, Title = "Metal", PlaylistPlaytime = 5024, UserId = 2, Rank = 490258, IsDeleted = false }; User user = new User() { Id = 4 }; PlaylistFavorite favorite = new PlaylistFavorite() { Id = 2, UserId = 4, PlaylistId = 32, IsFavorite = false }; var dateTimeProviderMock = new Mock <IDateTimeProvider>(); var mockImageService = new Mock <IPixaBayImageService>(); using (var arrangeContext = new RidePalDbContext(options)) { arrangeContext.Playlists.Add(firstPlaylist); arrangeContext.Playlists.Add(secondPlaylist); arrangeContext.Users.Add(user); arrangeContext.Favorites.Add(favorite); arrangeContext.SaveChanges(); } using (var assertContext = new RidePalDbContext(options)) { //Act var sut = new PlaylistService(assertContext, dateTimeProviderMock.Object, mockImageService.Object); var result = await sut.AddPlaylistToFavoritesAsync(32, 4); //Assert Assert.IsTrue(result); } }
public ActionResult Delete(string id) { PlaylistService.Delete(new PlaylistDTO() { Id = id }); return(RedirectToAction("PlaylistView")); }
/// <summary> /// Whether it is possible to play a previous song /// </summary> /// <returns></returns> private bool CanPlayPreviousSong() { if (PlaylistService != null) { return(PlaylistService.HasPreviousPlaylistItem(CurrentSong)); } return(false); }
public ActionResult DeletePlaylist(int id) { var service = new PlaylistService(); service.DeletePlaylist(id); TempData["SaveResult"] = "Playlist was deleted"; return(RedirectToAction("Index")); }
public async Task GetMaxResults() { Videos = await PlaylistService.GetYouTubeVideos(SearchYouTube, 20); await DisplayResults(); MaxReady = true; VideosReady = false; }