private void CreateB_Click(object sender, RoutedEventArgs e)
        {
            Page.Playlist.Playlist.PlaylistData             pd    = new Page.Playlist.Playlist.PlaylistData();
            List <Page.Playlist.Playlist.PlaylistData.Path> Paths = new List <Page.Playlist.Playlist.PlaylistData.Path>();

            foreach (ListItem li in PlaylistItems.Items)
            {
                if (li.DataType == typeof(Page.Playlist.Playlist.PlaylistData.Path))
                {
                    Paths.Add((Page.Playlist.Playlist.PlaylistData.Path)li.Data);
                }
            }

            pd.Paths  = Paths.ToArray();
            pd.Sticky = Utils.Converter.BrushToString(new SolidColorBrush(StickyColorPicker.SelectedColor));
            pd.Title  = NameT.Text;

            switch (Mode)
            {
            case DialogMode.Create:
                Page.Playlist.Playlist.Write(Utils.Config.Setting.Paths.Playlist + FileName, pd);
                PlaylistCreated?.Invoke(this, new Utils.Classes.PlaylistEventArgs(Utils.Config.Setting.Paths.Playlist + FileName, pd));
                break;

            case DialogMode.Edit:
                Page.Playlist.Playlist.Write(EdFilePath, pd);
                PlaylistEdited?.Invoke(this, new Utils.Classes.PlaylistEventArgs(EdFilePath, pd));
                break;
            }

            Close();
        }
示例#2
0
        private void CreateTargetPlaylist(PlaylistItem[] inPlaylist, string sourceFile, string targetDirectory, IStorage storage)
        {
            var playlistHandler = PlaylistHandlerFactory.GetHandler(_targetPlaylistType.ToString().ToLower());

            var newPlaylistRawContent = playlistHandler.SetPlaylistItems(storage.File, inPlaylist, targetDirectory);
            var targetFileName        = $"{Path.GetFileNameWithoutExtension(sourceFile)}.{_targetPlaylistType.ToString().ToLower()}";

            storage.File.WriteAllText(Path.Combine(targetDirectory, targetFileName), newPlaylistRawContent);
            PlaylistCreated?.Invoke(this, new ProgressEventArgs(targetFileName, 1));
        }