// @TODO remove when using Core.PhotoDTO public string GetImagePath() { if (IsLocal) { return(Path.Combine($"/{RelativePath}", AlbumId.ToString(), $"{Hash}.{Extension}").Replace(@"\", "/")); } else { return(Path.Combine($"{Protocol}://{DomainName}/", RelativePath, AlbumId.ToString(), $"{Hash}.{Extension}").Replace(@"\", "/")); } }
//public PSPhoto PrimaryPhoto { get; set; } public Album(AlbumId albumId, string name, FlickrPhotoId primaryPhotoId) { this.AlbumId = albumId; this.Name = name; this.PrimaryPhotoId = primaryPhotoId; }
public override int GetHashCode() { unchecked { return(((Id != null ? Id.GetHashCode() : 0) * 397) ^ (AlbumId != null ? AlbumId.GetHashCode() : 0)); } }
public IList <Song> ListOfSongs() { return(Injection.Kernel.Get <ISongRepository>().SearchSongs("AlbumId", AlbumId.ToString())); }
public void EnrichWithMetadata([NotNull] TrackOrEpisode metadata) { if (metadata.track != null) { var track = metadata.track; GuardAgainst.ArgumentBeingNull(ConnectState.Track); if (track.HasDuration) { TracksKeeper.UpdateTrackDuration(track.Duration); } var b = ConnectState.Track; if (track.HasPopularity) { b.Metadata["popularity"] = track.Popularity.ToString(); } if (track.HasExplicit) { b.Metadata["is_explicit"] = track.Explicit.ToString().ToLower(); } if (track.HasName) { b.Metadata["title"] = track.Name; } if (track.HasDiscNumber) { b.Metadata["album_disc_number"] = track.DiscNumber.ToString(); } for (var i = 0; i < track.Artist.Count; i++) { var artist = track.Artist[i]; if (artist.HasName) { b.Metadata["artist_name" + (i == 0 ? "" : (":" + i))] = artist.Name; } if (artist.HasGid) { b.Metadata["artist_uri" + (i == 0 ? "" : (":" + i))] = new ArtistId(Utils.bytesToHex(artist.Gid.ToByteArray())).Uri; } } if (track.Album != null) { var album = track.Album; if (album.Disc.Count > 0) { b.Metadata["album_track_count"] = album.Disc.Select(z => z.Track).Count().ToString(); b.Metadata["album_disc_count"] = album.Disc.Count.ToString(); } if (album.HasName) { b.Metadata["album_title"] = album.Name; } if (album.HasGid) { b.Metadata["album_uri"] = AlbumId.FromHex(Utils.bytesToHex(album.Gid.ToByteArray())).Uri; } for (int i = 0; i < album.Artist.Count; i++) { var artist = album.Artist[i]; if (artist.HasName) { b.Metadata["album_artist_name" + (i == 0 ? "" : (":" + i))] = artist.Name; } if (artist.HasGid) { b.Metadata["album_artist_uri" + (i == 0 ? "" : (":" + i))] = ArtistId.FromHex(Utils.bytesToHex(artist.Gid.ToByteArray())).Uri; } } if (track.HasDiscNumber) { b.Metadata["album_track_number"] = album.Disc.SelectMany(z => z.Track).ToList().FindIndex(k => k.Gid == track.Gid) + 1.ToString(); } if (album.CoverGroup?.Image != null && album.CoverGroup.Image.Count > 0) { ImageId.PutAsMetadata(b, album.CoverGroup); } } var k = new JArray(); foreach (var j in track.File .Where(z => z.HasFormat)) { k.Add(j.Format.ToString()); } b.Metadata["available_file_formats"] = k.ToString(); ConnectState.Track = b; } }
public override int GetHashCode() { return(AlbumId.GetHashCode()); }
/// <summary> /// Return a link to album image or artist image of song /// </summary> /// <returns>The URL of image</returns> public string ImageUrl() => AlbumId.Equals(null) || AlbumId.Equals(string.Empty) ? "https://y.gtimg.cn/music/photo_new/T001R300x300M000" + ArtistId + ".jpg" : "https://y.gtimg.cn/music/photo_new/T002R300x300M000" + AlbumId + ".jpg";
public override int GetHashCode() => AlbumId.GetHashCode();
bool IEquatable <Album> .Equals(Album other) { return(AlbumId.Equals(other.AlbumId)); }