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); }
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); }
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); }); }
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); }); }