Ejemplo n.º 1
0
        private IEnumerable <PlaylistTreeItemViewModel> MakePlaylistTree(Playlist[] playlists)
        {
            for (int i = 0; i < playlists.Length; i++)
            {
                if (playlists[i].Type == PlaylistType.Playlist)
                {
                    yield return(PlaylistTreeItemViewModel.FromSPPlaylist(playlists[i]));
                }

                else if (playlists[i].Type == PlaylistType.FolderStart)
                {
                    Playlist         p           = playlists[i];
                    int              depth       = 1;
                    IList <Playlist> intermedium = new List <Playlist>();
                    for (i++; i < playlists.Length; i++)
                    {
                        if (playlists[i].Type == PlaylistType.Playlist)
                        {
                            intermedium.Add(playlists[i]);
                        }
                        else if (playlists[i].Type == PlaylistType.FolderStart)
                        {
                            intermedium.Add(playlists[i]);
                            depth++;
                        }
                        else if (playlists[i].Type == PlaylistType.FolderEnd)
                        {
                            if (--depth == 0)
                            {
                                yield return(PlaylistTreeItemViewModel.FromSPPlaylist(p, MakePlaylistTree(intermedium.ToArray()).ToArray()));

                                break;
                            }
                            else
                            {
                                intermedium.Add(playlists[i]);
                            }
                        }
                    }
                }
            }
            yield break;
        }
Ejemplo n.º 2
0
 public PlaylistTreeItemViewModel(ServiceReference.Playlist pl)
     : base(pl)
 {
     parent = null;
 }
Ejemplo n.º 3
0
 public PlaylistTreeItemViewModel(ServiceReference.Playlist pl)
     : base(pl)
 {
     parent = null;
 }