Exemplo n.º 1
0
        public ObservableCollection <GroupItemList <ArtistItem> > OrderArtists()
        {
            var groupedArtists = new ObservableCollection <GroupItemList <ArtistItem> >();
            var groupQuery     = from artist in Artists
                                 group artist by Strings.HumanizedArtistFirstLetter(artist.Name) into a
                                 orderby a.Key
                                 select new { GroupName = a.Key, Items = a };

            foreach (var g in groupQuery)
            {
                GroupItemList <ArtistItem> artists = new GroupItemList <ArtistItem>();
                artists.Key = g.GroupName;
                foreach (var artist in g.Items)
                {
                    artists.Add(artist);
                }
                groupedArtists.Add(artists);
            }
            return(groupedArtists);
        }
Exemplo n.º 2
0
        public ObservableCollection <GroupItemList <TrackItem> > OrderTracks()
        {
            var groupedTracks = new ObservableCollection <GroupItemList <TrackItem> >();
            var groupQuery    = from track in Tracks
                                group track by Strings.HumanizedArtistFirstLetter(track.Name) into a
                                orderby a.Key
                                select new { GroupName = a.Key, Items = a };

            foreach (var g in groupQuery)
            {
                GroupItemList <TrackItem> tracks = new GroupItemList <TrackItem>();
                tracks.Key = g.GroupName;
                foreach (var artist in g.Items)
                {
                    tracks.Add(artist);
                }
                groupedTracks.Add(tracks);
            }
            return(groupedTracks);
        }
Exemplo n.º 3
0
        public static void OrderAlbums()
        {
            Task.Run(async () =>
            {
                var groupedAlbums = new ObservableCollection<GroupItemList<AlbumItem>>();
                if (Locator.SettingsVM.AlbumsOrderType == OrderType.ByArtist)
                {
                    if (Locator.SettingsVM.AlbumsOrderListing == OrderListing.Ascending)
                    {
                        var groupQuery = from album in Locator.MusicLibraryVM.Albums
                                         orderby album.Artist
                                         group album by Strings.HumanizedArtistName(album.Artist) into a
                                         select new { GroupName = a.Key, Items = a };
                        foreach (var g in groupQuery)
                        {
                            GroupItemList<AlbumItem> albums = new GroupItemList<AlbumItem>();
                            albums.Key = g.GroupName;
                            foreach (var album in g.Items)
                            {
                                albums.Add(album);
                            }
                            groupedAlbums.Add(albums);
                        }
                    }
                    else if (Locator.SettingsVM.AlbumsOrderListing == OrderListing.Descending)
                    {
                        var groupQuery = from album in Locator.MusicLibraryVM.Albums
                                         orderby album.Artist descending
                                         group album by Strings.HumanizedArtistName(album.Artist) into a
                                         select new { GroupName = a.Key, Items = a };
                        foreach (var g in groupQuery)
                        {
                            GroupItemList<AlbumItem> albums = new GroupItemList<AlbumItem>();
                            albums.Key = g.GroupName;
                            foreach (var album in g.Items)
                            {
                                albums.Add(album);
                            }
                            groupedAlbums.Add(albums);
                        }
                    }
                }
                else if (Locator.SettingsVM.AlbumsOrderType == OrderType.ByDate)
                {
                    if (Locator.SettingsVM.AlbumsOrderListing == OrderListing.Ascending)
                    {
                        var groupQuery = from album in Locator.MusicLibraryVM.Albums
                                         orderby album.Year
                                         group album by Strings.HumanizedYear(album.Year) into a
                                         select new { GroupName = a.Key, Items = a };
                        foreach (var g in groupQuery)
                        {
                            GroupItemList<AlbumItem> albums = new GroupItemList<AlbumItem>();
                            albums.Key = g.GroupName;
                            foreach (var album in g.Items)
                            {
                                albums.Add(album);
                            }
                            groupedAlbums.Add(albums);
                        }
                    }
                    else if (Locator.SettingsVM.AlbumsOrderListing == OrderListing.Descending)
                    {
                        var groupQuery = from album in Locator.MusicLibraryVM.Albums
                                         orderby album.Year descending
                                         group album by Strings.HumanizedYear(album.Year) into a
                                         select new { GroupName = a.Key, Items = a };
                        foreach (var g in groupQuery)
                        {
                            GroupItemList<AlbumItem> albums = new GroupItemList<AlbumItem>();
                            albums.Key = g.GroupName;
                            foreach (var album in g.Items)
                            {
                                albums.Add(album);
                            }
                            groupedAlbums.Add(albums);
                        }
                    }
                }
                else if (Locator.SettingsVM.AlbumsOrderType == OrderType.ByAlbum)
                {
                    if (Locator.SettingsVM.AlbumsOrderListing == OrderListing.Ascending)
                    {
                        var groupQuery = from album in Locator.MusicLibraryVM.Albums
                                         orderby album.Name
                                         group album by Strings.HumanizedAlbumFirstLetter(album.Name) into a
                                         select new { GroupName = a.Key, Items = a };
                        foreach (var g in groupQuery)
                        {
                            GroupItemList<AlbumItem> albums = new GroupItemList<AlbumItem>();
                            albums.Key = g.GroupName;
                            foreach (var album in g.Items)
                            {
                                albums.Add(album);
                            }
                            groupedAlbums.Add(albums);
                        }
                    }
                    else if (Locator.SettingsVM.AlbumsOrderListing == OrderListing.Descending)
                    {
                        var groupQuery = from album in Locator.MusicLibraryVM.Albums
                                         orderby album.Name descending
                                         group album by Strings.HumanizedAlbumFirstLetter(album.Name) into a
                                         select new { GroupName = a.Key, Items = a };
                        foreach (var g in groupQuery)
                        {
                            GroupItemList<AlbumItem> albums = new GroupItemList<AlbumItem>();
                            albums.Key = g.GroupName;
                            foreach (var album in g.Items)
                            {
                                albums.Add(album);
                            }
                            groupedAlbums.Add(albums);
                        }
                    }
                }

                await App.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => Locator.MusicLibraryVM.GroupedAlbums = groupedAlbums);
            });
        }
Exemplo n.º 4
0
        public static void OrderAlbums()
        {
            Task.Run(async() =>
            {
                var groupedAlbums = new ObservableCollection <GroupItemList <AlbumItem> >();
                if (Locator.SettingsVM.AlbumsOrderType == OrderType.ByArtist)
                {
                    if (Locator.SettingsVM.AlbumsOrderListing == OrderListing.Ascending)
                    {
                        var groupQuery = from album in Locator.MusicLibraryVM.Albums
                                         orderby album.Artist
                                         group album by Strings.HumanizedArtistName(album.Artist) into a
                                         select new { GroupName = a.Key, Items = a };
                        foreach (var g in groupQuery)
                        {
                            GroupItemList <AlbumItem> albums = new GroupItemList <AlbumItem>();
                            albums.Key = g.GroupName;
                            foreach (var album in g.Items)
                            {
                                albums.Add(album);
                            }
                            groupedAlbums.Add(albums);
                        }
                    }
                    else if (Locator.SettingsVM.AlbumsOrderListing == OrderListing.Descending)
                    {
                        var groupQuery = from album in Locator.MusicLibraryVM.Albums
                                         orderby album.Artist descending
                                         group album by Strings.HumanizedArtistName(album.Artist) into a
                                         select new { GroupName = a.Key, Items = a };
                        foreach (var g in groupQuery)
                        {
                            GroupItemList <AlbumItem> albums = new GroupItemList <AlbumItem>();
                            albums.Key = g.GroupName;
                            foreach (var album in g.Items)
                            {
                                albums.Add(album);
                            }
                            groupedAlbums.Add(albums);
                        }
                    }
                }
                else if (Locator.SettingsVM.AlbumsOrderType == OrderType.ByDate)
                {
                    if (Locator.SettingsVM.AlbumsOrderListing == OrderListing.Ascending)
                    {
                        var groupQuery = from album in Locator.MusicLibraryVM.Albums
                                         orderby album.Year
                                         group album by Strings.HumanizedYear(album.Year) into a
                                         select new { GroupName = a.Key, Items = a };
                        foreach (var g in groupQuery)
                        {
                            GroupItemList <AlbumItem> albums = new GroupItemList <AlbumItem>();
                            albums.Key = g.GroupName;
                            foreach (var album in g.Items)
                            {
                                albums.Add(album);
                            }
                            groupedAlbums.Add(albums);
                        }
                    }
                    else if (Locator.SettingsVM.AlbumsOrderListing == OrderListing.Descending)
                    {
                        var groupQuery = from album in Locator.MusicLibraryVM.Albums
                                         orderby album.Year descending
                                         group album by Strings.HumanizedYear(album.Year) into a
                                         select new { GroupName = a.Key, Items = a };
                        foreach (var g in groupQuery)
                        {
                            GroupItemList <AlbumItem> albums = new GroupItemList <AlbumItem>();
                            albums.Key = g.GroupName;
                            foreach (var album in g.Items)
                            {
                                albums.Add(album);
                            }
                            groupedAlbums.Add(albums);
                        }
                    }
                }
                else if (Locator.SettingsVM.AlbumsOrderType == OrderType.ByAlbum)
                {
                    if (Locator.SettingsVM.AlbumsOrderListing == OrderListing.Ascending)
                    {
                        var groupQuery = from album in Locator.MusicLibraryVM.Albums
                                         orderby album.Name
                                         group album by Strings.HumanizedAlbumFirstLetter(album.Name) into a
                                         select new { GroupName = a.Key, Items = a };
                        foreach (var g in groupQuery)
                        {
                            GroupItemList <AlbumItem> albums = new GroupItemList <AlbumItem>();
                            albums.Key = g.GroupName;
                            foreach (var album in g.Items)
                            {
                                albums.Add(album);
                            }
                            groupedAlbums.Add(albums);
                        }
                    }
                    else if (Locator.SettingsVM.AlbumsOrderListing == OrderListing.Descending)
                    {
                        var groupQuery = from album in Locator.MusicLibraryVM.Albums
                                         orderby album.Name descending
                                         group album by Strings.HumanizedAlbumFirstLetter(album.Name) into a
                                         select new { GroupName = a.Key, Items = a };
                        foreach (var g in groupQuery)
                        {
                            GroupItemList <AlbumItem> albums = new GroupItemList <AlbumItem>();
                            albums.Key = g.GroupName;
                            foreach (var album in g.Items)
                            {
                                albums.Add(album);
                            }
                            groupedAlbums.Add(albums);
                        }
                    }
                }

                await App.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => Locator.MusicLibraryVM.GroupedAlbums = groupedAlbums);
            });
        }