void btnPlaylistAdd_Click(object sender, RoutedEventArgs e) { try { List<JMMServerBinary.Contract_Playlist> rawPlaylists = JMMServerVM.Instance.clientBinaryHTTP.GetAllPlaylists(); PlaylistMenuCommand cmd = null; // get all playlists playlistMenu.Items.Clear(); MenuItem itemSeries = new MenuItem(); itemSeries.Header = "Add Series"; itemSeries.Click += new RoutedEventHandler(playlistMenuItem_Click); playlistMenu.Items.Add(itemSeries); Separator sep = new Separator(); MenuItem itemSeriesNew = new MenuItem(); itemSeriesNew.Header = "New Playlist"; itemSeriesNew.Click += new RoutedEventHandler(playlistMenuItem_Click); cmd = new PlaylistMenuCommand(PlaylistItemType.Series, -1); // new playlist itemSeriesNew.CommandParameter = cmd; itemSeries.Items.Add(itemSeriesNew); itemSeries.Items.Add(sep); foreach (JMMServerBinary.Contract_Playlist contract in rawPlaylists) { MenuItem itemSeriesPL = new MenuItem(); itemSeriesPL.Header = contract.PlaylistName; itemSeriesPL.Click += new RoutedEventHandler(playlistMenuItem_Click); cmd = new PlaylistMenuCommand(PlaylistItemType.Series, contract.PlaylistID.Value); itemSeriesPL.CommandParameter = cmd; itemSeries.Items.Add(itemSeriesPL); } MenuItem itemAllEpisodes = new MenuItem(); itemAllEpisodes.Header = "Add All Episodes"; playlistMenu.Items.Add(itemAllEpisodes); Separator sep2 = new Separator(); MenuItem itemAllEpisodesNew = new MenuItem(); itemAllEpisodesNew.Header = "New Playlist"; itemAllEpisodesNew.Click += new RoutedEventHandler(playlistMenuItem_Click); cmd = new PlaylistMenuCommand(PlaylistItemType.AllEpisodes, -1); // new playlist itemAllEpisodesNew.CommandParameter = cmd; itemAllEpisodes.Items.Add(itemAllEpisodesNew); itemAllEpisodes.Items.Add(sep2); foreach (JMMServerBinary.Contract_Playlist contract in rawPlaylists) { MenuItem itemSeriesPL = new MenuItem(); itemSeriesPL.Header = contract.PlaylistName; itemSeriesPL.Click += new RoutedEventHandler(playlistMenuItem_Click); cmd = new PlaylistMenuCommand(PlaylistItemType.AllEpisodes, contract.PlaylistID.Value); itemSeriesPL.CommandParameter = cmd; itemAllEpisodes.Items.Add(itemSeriesPL); } MenuItem itemUnwatchedEpisodes = new MenuItem(); itemUnwatchedEpisodes.Header = "Add Unwatched Episodes"; playlistMenu.Items.Add(itemUnwatchedEpisodes); Separator sep3 = new Separator(); MenuItem itemUnwatchedEpisodesNew = new MenuItem(); itemUnwatchedEpisodesNew.Header = "New Playlist"; itemUnwatchedEpisodesNew.Click += new RoutedEventHandler(playlistMenuItem_Click); cmd = new PlaylistMenuCommand(PlaylistItemType.UnwatchedEpisodes, -1); // new playlist itemUnwatchedEpisodesNew.CommandParameter = cmd; itemUnwatchedEpisodes.Items.Add(itemUnwatchedEpisodesNew); itemUnwatchedEpisodes.Items.Add(sep3); foreach (JMMServerBinary.Contract_Playlist contract in rawPlaylists) { MenuItem itemSeriesPL = new MenuItem(); itemSeriesPL.Header = contract.PlaylistName; itemSeriesPL.Click += new RoutedEventHandler(playlistMenuItem_Click); cmd = new PlaylistMenuCommand(PlaylistItemType.UnwatchedEpisodes, contract.PlaylistID.Value); itemSeriesPL.CommandParameter = cmd; itemUnwatchedEpisodes.Items.Add(itemSeriesPL); } playlistMenu.PlacementTarget = this; playlistMenu.IsOpen = true; } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
void btnPlaylistAdd_Click(object sender, RoutedEventArgs e) { try { // get all playlists List<JMMServerBinary.Contract_Playlist> rawPlaylists = JMMServerVM.Instance.clientBinaryHTTP.GetAllPlaylists(); PlaylistMenuCommand cmd = null; playlistMenu.Items.Clear(); Separator sep = new Separator(); MenuItem itemNew = new MenuItem(); itemNew.Header = Properties.Resources.EpisodeDetail_NewPlaylist; itemNew.Click += new RoutedEventHandler(playlistMenuItem_Click); cmd = new PlaylistMenuCommand(PlaylistItemType.SingleEpisode, -1); // new playlist itemNew.CommandParameter = cmd; playlistMenu.Items.Add(itemNew); playlistMenu.Items.Add(sep); foreach (JMMServerBinary.Contract_Playlist contract in rawPlaylists) { MenuItem itemSeriesPL = new MenuItem(); itemSeriesPL.Header = contract.PlaylistName; itemSeriesPL.Click += new RoutedEventHandler(playlistMenuItem_Click); cmd = new PlaylistMenuCommand(PlaylistItemType.SingleEpisode, contract.PlaylistID.Value); itemSeriesPL.CommandParameter = cmd; playlistMenu.Items.Add(itemSeriesPL); } playlistMenu.PlacementTarget = this; playlistMenu.IsOpen = true; } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }