public void LoadDetail(object data) { if (data == null) { return; } Detail = new DetailRecord(); Detail.Data = data; if (data.GetType() == typeof(Album)) { Album album = (Album)data; Detail.Header = "ALBUMINFO"; Detail.Title = album.Title; Detail.Intro = string.Format("by {0}-{1} Tracks-{2} Videos-{3}", album.Artist.Name, TimeHelper.ConverIntToString(album.Duration), album.NumberOfTracks, album.NumberOfVideos); Detail.Cover = AIGS.Common.Convert.ConverByteArrayToBitmapImage(album.CoverData); Detail.ReleaseDate = "Release date " + album.ReleaseDate; Detail.ItemList = new ObservableCollection <DetailRecord.Item>(); if (album.Tracks != null) { foreach (Track item in album.Tracks) { item.WaitDownload = true; Detail.ItemList.Add(new DetailRecord.Item(item.Title, TimeHelper.ConverIntToString(item.Duration), item.Album.Title, item, flag: TidalTool.getFlag(item))); } } if (album.Videos != null) { foreach (Video item in album.Videos) { item.WaitDownload = true; Detail.ItemList.Add(new DetailRecord.Item(item.Title, TimeHelper.ConverIntToString(item.Duration), item.Album.Title, item, "VIDEO", flag: TidalTool.getFlag(item))); } } //FlagDetail if (album.AudioQuality == "HI_RES") { Detail.FlagDetail += "Master "; } if (album.Explicit) { Detail.FlagDetail += "Explicit"; } //Modes if (album.AudioModes != null && album.AudioModes.Length > 0) { foreach (var item in album.AudioModes) { Detail.Modes += item + " "; } } } else if (data.GetType() == typeof(Video)) { Video video = (Video)data; video.WaitDownload = true; Detail.Header = "VIDEOINFO"; Detail.Title = video.Title; Detail.Cover = AIGS.Common.Convert.ConverByteArrayToBitmapImage(video.CoverData); Detail.Intro = string.Format("by {0}-{1}", video.Artist.Name, TimeHelper.ConverIntToString(video.Duration)); Detail.ReleaseDate = "Release date " + video.ReleaseDate; Detail.ItemList = new ObservableCollection <DetailRecord.Item>(); Detail.ItemList.Add(new DetailRecord.Item(video.Title, TimeHelper.ConverIntToString(video.Duration), video.Album == null ? "" : video.Album.Title, data, "VIDEO")); if (video.Explicit) { Detail.FlagDetail += "Explicit"; } //Detail.Modes += video.Quality; } else if (data.GetType() == typeof(Artist)) { Artist artist = (Artist)data; Detail.Header = "ARTISTINFO"; Detail.Title = artist.Name; Detail.Intro = string.Format("by {0} Albums-{1}", artist.Name, artist.Albums.Count); Detail.Cover = AIGS.Common.Convert.ConverByteArrayToBitmapImage(artist.CoverData); Detail.ReleaseDate = ""; Detail.ItemList = new ObservableCollection <DetailRecord.Item>(); if (artist.Albums != null) { foreach (Album item in artist.Albums) { item.WaitDownload = true; Detail.ItemList.Add(new DetailRecord.Item(item.Title, TimeHelper.ConverIntToString(item.Duration), item.Title, item, "ALBUM", flag: TidalTool.getFlag(item))); } } } else if (data.GetType() == typeof(Playlist)) { Playlist plist = (Playlist)data; Detail.Header = "PLAYLISTINFO"; Detail.Title = plist.Title; Detail.Intro = string.Format("{0} Tracks-{1} Videos-{2}", TimeHelper.ConverIntToString(plist.Duration), plist.NumberOfTracks, plist.NumberOfVideos); Detail.Cover = AIGS.Common.Convert.ConverByteArrayToBitmapImage(plist.CoverData); Detail.ReleaseDate = ""; Detail.ItemList = new ObservableCollection <DetailRecord.Item>(); if (plist.Tracks != null) { foreach (Track item in plist.Tracks) { item.WaitDownload = true; Detail.ItemList.Add(new DetailRecord.Item(item.Title, TimeHelper.ConverIntToString(item.Duration), item.Album.Title, item, flag: TidalTool.getFlag(item))); } } if (plist.Videos != null) { foreach (Video item in plist.Videos) { item.WaitDownload = true; Detail.ItemList.Add(new DetailRecord.Item(item.Title, TimeHelper.ConverIntToString(item.Duration), item.Title, item, "VIDEO")); } } } }
public object Load(object data) { AllCheck = true; Data = data; FlagDetail = ""; Modes = ""; if (data.GetType() == typeof(Playlist)) { Playlist plist = (Playlist)data; Header = "PLAYLISTINFO"; Title = plist.Title; //Intro = string.Format("by {0}-{1} Tracks-{2} Videos-{3}", plist.Created, TimeHelper.ConverIntToString(plist.Duration), plist.NumberOfTracks, plist.NumberOfVideos); Intro = string.Format("{0} Tracks-{1} Videos-{2}", TimeHelper.ConverIntToString(plist.Duration), plist.NumberOfTracks, plist.NumberOfVideos); Cover = AIGS.Common.Convert.ConverByteArrayToBitmapImage(plist.CoverData); ReleaseDate = ""; ItemList = new ObservableCollection <InfoItem>(); if (plist.Tracks != null) { foreach (Track item in plist.Tracks) { ItemList.Add(new InfoItem(plist.Tracks.IndexOf(item) + 1, item.Title, TimeHelper.ConverIntToString(item.Duration), item.Album.Title, item, flag: TidalTool.getFlag(item))); } } if (plist.Videos != null) { foreach (Video item in plist.Videos) { ItemList.Add(new InfoItem(plist.Tracks.Count + plist.Videos.IndexOf(item) + 1, item.Title, TimeHelper.ConverIntToString(item.Duration), item.Title, item, "VIDEO")); } } } else if (data.GetType() == typeof(Artist)) { Artist artist = (Artist)data; Header = "ARTISTINFO"; Title = artist.Name; Intro = string.Format("by {0} Albums-{1}", artist.Name, artist.Albums.Count); Cover = AIGS.Common.Convert.ConverByteArrayToBitmapImage(artist.CoverData); ReleaseDate = ""; ItemList = new ObservableCollection <InfoItem>(); if (artist.Albums != null) { foreach (Album item in artist.Albums) { ItemList.Add(new InfoItem(artist.Albums.IndexOf(item) + 1, item.Title, TimeHelper.ConverIntToString(item.Duration), item.Title, item, "ALBUM", flag: TidalTool.getFlag(item))); } } } else if (data.GetType() == typeof(Album)) { Album album = (Album)data; Header = "ALBUMINFO"; Title = album.Title; Intro = string.Format("by {0}-{1} Tracks-{2} Videos-{3}", album.Artist.Name, TimeHelper.ConverIntToString(album.Duration), album.NumberOfTracks, album.NumberOfVideos); Cover = AIGS.Common.Convert.ConverByteArrayToBitmapImage(album.CoverData); ReleaseDate = "Release date " + album.ReleaseDate; ItemList = new ObservableCollection <InfoItem>(); if (album.Tracks != null) { foreach (Track item in album.Tracks) { ItemList.Add(new InfoItem(item.TrackNumber, item.Title, TimeHelper.ConverIntToString(item.Duration), item.Album.Title, item, flag: TidalTool.getFlag(item))); } } if (album.Videos != null) { foreach (Video item in album.Videos) { ItemList.Add(new InfoItem(item.TrackNumber, item.Title, TimeHelper.ConverIntToString(item.Duration), item.Album.Title, item, "VIDEO")); } } //FlagDetail if (album.AudioQuality == "HI_RES") { FlagDetail += "Master "; } if (album.Explicit) { FlagDetail += "Explicit"; } //Modes if (album.AudioModes != null && album.AudioModes.Count() > 0) { foreach (var item in album.AudioModes) { Modes += item + " "; } } } else if (data.GetType() == typeof(Video)) { Video video = (Video)data; Header = "VIDEOINFO"; Title = video.Title; Cover = AIGS.Common.Convert.ConverByteArrayToBitmapImage(video.CoverData); Intro = string.Format("by {0}-{1}", video.Artist.Name, TimeHelper.ConverIntToString(video.Duration)); ReleaseDate = "Release date " + video.ReleaseDate; ItemList = new ObservableCollection <InfoItem>(); ItemList.Add(new InfoItem(0, video.Title, TimeHelper.ConverIntToString(video.Duration), video.Album == null ? "" : video.Album.Title, data, "VIDEO")); } return(data); }
public void Load(SearchResult SearchInfo) { ShowWait = Visibility.Hidden; PlayList = new List <SearchItem>(); ArtistList = new List <SearchItem>(); AlbumList = new List <SearchItem>(); TrackList = new List <SearchItem>(); VideoList = new List <SearchItem>(); this.SearchInfo = SearchInfo; foreach (Playlist item in SearchInfo.Playlists) { PlayList.Add(new SearchItem(SearchInfo.Playlists.IndexOf(item) + 1, item.Title, item.Title, TimeHelper.ConverIntToString(item.Duration), TidalTool.getFlag(item))); } foreach (Artist item in SearchInfo.Artists) { ArtistList.Add(new SearchItem(SearchInfo.Artists.IndexOf(item) + 1, item.Name, item.Name, "")); } foreach (Album item in SearchInfo.Albums) { AlbumList.Add(new SearchItem(SearchInfo.Albums.IndexOf(item) + 1, item.Title, item.Artists[0].Name, TimeHelper.ConverIntToString(item.Duration), TidalTool.getFlag(item))); } foreach (Track item in SearchInfo.Tracks) { TrackList.Add(new SearchItem(SearchInfo.Tracks.IndexOf(item) + 1, item.Title, item.Artists[0].Name, TimeHelper.ConverIntToString(item.Duration), TidalTool.getFlag(item))); } foreach (Video item in SearchInfo.Videos) { VideoList.Add(new SearchItem(SearchInfo.Videos.IndexOf(item) + 1, item.Title, item.Artists[0].Name, TimeHelper.ConverIntToString(item.Duration), TidalTool.getFlag(item))); } }