private List <BandMember> GetBandMembers(Artist artist) { var members = new List <BandMember>(); var membersOfBand = artist.Relations.Where(x => x.TypeId == RelationLinks.BandMember); foreach (var member in membersOfBand) { members.Add(new BandMember { Name = member.Artist?.Name, Attributes = member.Attributes, IsCurrentMember = member.Ended == null, End = member.End, Start = member.Begin }); } return(members); }
private ArtistLinks GetLinksForArtist(Artist artist) { var links = new ArtistLinks(); foreach (var relation in artist.Relations) { switch (relation.TypeId) { case RelationLinks.AllMusic: links.AllMusic = relation.Url?.Resource.ToHttpsUrl(); break; case RelationLinks.BbcMusic: links.BbcMusic = relation.Url?.Resource.ToHttpsUrl(); break; case RelationLinks.Discogs: links.Discogs = relation.Url?.Resource.ToHttpsUrl(); break; case RelationLinks.Homepage: links.HomePage = relation.Url?.Resource.ToHttpsUrl(); break; case RelationLinks.Imdb: links.Imdb = relation.Url?.Resource.ToHttpsUrl(); break; case RelationLinks.LastFm: links.LastFm = relation.Url?.Resource.ToHttpsUrl(); break; case RelationLinks.MySpace: links.MySpace = relation.Url?.Resource.ToHttpsUrl(); break; case RelationLinks.OnlineCommunity: links.OnlineCommunity = relation.Url?.Resource.ToHttpsUrl(); break; case RelationLinks.SocialNetwork: if ((relation.Url?.Resource ?? string.Empty).Contains("twitter", CompareOptions.IgnoreCase)) { links.Twitter = relation.Url?.Resource.ToHttpsUrl(); } if ((relation.Url?.Resource ?? string.Empty).Contains("facebook", CompareOptions.IgnoreCase)) { links.Facebook = relation.Url?.Resource.ToHttpsUrl(); } if ((relation.Url?.Resource ?? string.Empty).Contains("instagram", CompareOptions.IgnoreCase)) { links.Instagram = relation.Url?.Resource.ToHttpsUrl(); } if ((relation.Url?.Resource ?? string.Empty).Contains("vk", CompareOptions.IgnoreCase)) { links.Vk = relation.Url?.Resource.ToHttpsUrl(); } break; case RelationLinks.Streams: if ((relation.Url?.Resource ?? string.Empty).Contains("spotify", CompareOptions.IgnoreCase)) { links.Spotify = relation.Url?.Resource.ToHttpsUrl(); } if ((relation.Url?.Resource ?? string.Empty).Contains("deezer", CompareOptions.IgnoreCase)) { links.Deezer = relation.Url?.Resource.ToHttpsUrl(); } break; case RelationLinks.YouTube: links.YouTube = relation.Url?.Resource.ToHttpsUrl(); break; case RelationLinks.Download: if ((relation.Url?.Resource ?? string.Empty).Contains("google", CompareOptions.IgnoreCase)) { links.Google = relation.Url?.Resource.ToHttpsUrl(); } if ((relation.Url?.Resource ?? string.Empty).Contains("apple", CompareOptions.IgnoreCase)) { links.Apple = relation.Url?.Resource.ToHttpsUrl(); } break; } } return(links); }