private void SavePlaylistInternal(PlaylistSave control)
        {
            if (control != null)
            {
                Guid id = control.Identifier;
                if (id != default(Guid))
                {
                    IMediaSet playlist = new Playlist();
                    playlist.Id     = id;
                    playlist.Title  = control.Title;
                    playlist.Artist = control.Artist;
                    playlist.Number = control.Number;
                    playlist.Source = control.Source;
                    playlist.Date   = control.Date;
                    playlist.Format = control.Format;
                    playlist.Path   = control.Path;

                    IList <MediaItemData> itemData = control.GetItemData();
                    IList <MediaItem>     items    = persistenceController.CreateMediaItems(itemData);

                    foreach (MediaItem item in items)
                    {
                        playlist.Items.Add(item);
                        //item.Number, item);
                    }

                    PersistenceController.SaveMediaSet(playlist);
                }
            }
        }
        public PlaylistSave EditPlaylist(MediaSet playlist)
        {
            PlaylistSave control = null;

            if (playlist != null)
            {
                control            = new PlaylistSave();
                control.Identifier = playlist.Id;
                control.Title      = playlist.Title;
                control.Artist     = playlist.Artist;
                control.Number     = playlist.Number;
                control.Source     = playlist.Source;
                control.Date       = playlist.Date;
                control.Format     = playlist.Format;
                control.Path       = playlist.Path;

                if (playlist.Items != null)
                {
                    int x = playlist.Items.Count;
                }

                foreach (MediaItem item in playlist.Items)                 //.Values)
                {
                    control.AddItem(GetMediaItemData(item));
                }
            }

            control.ToolController = this;

            return(control);
        }
 public void SavePlaylist(PlaylistSave control)
 {
     SavePlaylistInternal(control);
     //Thread thread = new Thread(new ParameterizedThreadStart(SavePlaylistInternal));
     //thread.IsBackground = true;
     //SavePlaylistAsync handle = new SavePlaylistAsync(SavePlaylistInternal);
     //handle.BeginInvoke(control, new AsyncCallback(ProcessSavePlaylistResult), null);
 }