public ActionResult <String> AddPlaylistRequest([FromBody] AddPlaylist newPlaylist)
        {
            foreach (M3UPlaylist item in Plugin.Instance.M3UPlaylists)
            {
                if (item.PlaylistUrl == newPlaylist.PlaylistUrl)
                {
                    return(Ok(Plugin.Instance.M3UPlaylists));
                }
            }

            string m3uFile;

            try
            {
                using (WebClient client = new WebClient())
                {
                    if (newPlaylist.UserAgent.Length > 0)
                    {
                        client.Headers.Add(HttpRequestHeader.UserAgent, newPlaylist.UserAgent);
                    }
                    m3uFile = client.DownloadString(newPlaylist.PlaylistUrl);
                }
            }
            catch (WebException ex)
            {
                _logger.LogError("Error downloading M3U file\n" + ex.Message);
                return(Ok(new ErrorResponse()
                {
                    ErrorMsg = "Error downloading M3U file.",
                    ErrorCode = -1
                }));
            }

            Plugin.Instance.M3UPlaylists.Add(new M3UPlaylist()
            {
                PlaylistName = newPlaylist.PlaylistName,
                PlaylistUrl  = newPlaylist.PlaylistUrl,
                UserAgent    = newPlaylist.UserAgent
            });

            //var items = Helper.ParseM3U(m3uFile);

            //Plugin.Instance.M3UChannels.Add(newPlaylist.PlaylistUrl, items);

            //Save.SaveM3UChannels(Plugin.Instance.M3UChannels, newPlaylist.PlaylistUrl);

            Plugin.Instance.TaskManager.Execute <RefreshTask>();

            Save.SaveM3UPlaylists(Plugin.Instance.M3UPlaylists);

            return(Ok(Plugin.Instance.M3UPlaylists));
        }
Ejemplo n.º 2
0
        private void MenuItemNew_Click(object sender, RoutedEventArgs e)
        {
            AddPlaylist addUI = new AddPlaylist();

            addUI.Owner      = this;
            addUI.Controller = Controller;
            addUI.ShowDialog();
            if (Controller.isAdded)
            {
                Controller.isAdded = false;
                Loading();
            }
        }
Ejemplo n.º 3
0
        private async void AddPlayListButton_Click(object sender, RoutedEventArgs e)
        {
            //call addplaylist
            var AddPlayListDialog = new AddPlaylist();
            var result            = await AddPlayListDialog.ShowAsync();

            //if add was selected
            if (result == ContentDialogResult.Primary)
            {
                //playlistname inputted by user in textbox
                var plname = AddPlayListDialog.Content;

                try
                {
                    if (plname.ToString().Contains(","))
                    {
                        throw new ArgumentException("Commas cannot be used, Please try again.");
                    }
                }
                catch (ArgumentException ex)
                {
                    var messageDialog = new MessageDialog(ex.Message);
                    // Show the message dialog
                    await messageDialog.ShowAsync();

                    return;
                }
                //create a playlist object and call AddPlayList from viewmodel
                vm.AddPlayList(new PlayList
                {
                    PlayListName = plname.ToString(),
                });
            }
            else if (result == ContentDialogResult.Secondary) //cancel was selected
            {
                AddPlayListDialog.Hide();
            }
        }
Ejemplo n.º 4
0
        public void editListViewItem(ListViewItem item)
        {
            foreach (PlaylistModel playlist in playlists)
            {
                if (playlist.PlaylistName == item.Text)
                {
                    AddPlaylist form = new AddPlaylist(playlist, directories);
                    form.ShowDialog();

                    playlist.PlaylistName = form.playlistName;
                    item.Text             = form.playlistName;
                    playlist.MediaFiles.RemoveRange(0, playlist.MediaFiles.Count);

                    foreach (MediaFileModel file in form.addPlaylist)
                    {
                        playlist.MediaFiles.Add(file);
                    }
                    item.Selected = true;
                    _form.dataGridView1.Refresh();
                    Json.saveToJson(@".\playlists.json", playlists);
                }
            }
        }
Ejemplo n.º 5
0
        public void createPlaylist()
        {
            AddPlaylist pForm = new AddPlaylist(directories);

            pForm.ShowDialog();

            ListViewItem  playlist = new ListViewItem(pForm.playlistName, _form.listViewLibrary.Groups[1]);
            PlaylistModel plist    = new PlaylistModel(pForm.playlistName, new List <MediaFileModel>());

            playlist.Selected = true;

            foreach (MediaFileModel file in pForm.addPlaylist)
            {
                plist.MediaFiles.Add(file);
            }

            playlists.Add(plist);
            _form.listViewLibrary.Items.Add(playlist);

            _form.dataGridView1.DataSource = plist.MediaFiles;

            Json.saveToJson(@".\playlists.json", playlists);
        }
Ejemplo n.º 6
0
        private async void ExecuteAddNewPlaylist(object parameter)
        {
            AddPlaylist addPlaylistDialog = new AddPlaylist();

            await addPlaylistDialog.ShowAsync();
        }