// GET api/Artist/5 public SerializableArtist GetArtist(int id) { var artists = from artist in db.Artists.Include("Albums").Include("Songs") select artist; Artist searchedArtist = artists.FirstOrDefault(a => a.ArtistId == id); if (searchedArtist == null) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); } SerializableArtist artistToReturn = new SerializableArtist(); artistToReturn.ArtistId = searchedArtist.ArtistId; artistToReturn.Name = searchedArtist.Name; artistToReturn.DateOfBirth = searchedArtist.DateOfBirth; artistToReturn.Country = searchedArtist.Country; List<string> songs = new List<string>(); foreach (var song in searchedArtist.Songs) { songs.Add(song.Title); } artistToReturn.AddSongs(songs); List<string> albums = new List<string>(); foreach (var album in searchedArtist.Albums) { albums.Add(album.Title); } artistToReturn.AddAlbums(albums); return artistToReturn; }
// GET api/Artist public IEnumerable<SerializableArtist> GetArtists() { var artists = from artist in db.Artists.Include("Albums").Include("Songs") select artist; List<SerializableArtist> artistsToReturn = new List<SerializableArtist>(); foreach (var artist in artists) { SerializableArtist newArtist = new SerializableArtist(); newArtist.ArtistId = artist.ArtistId; newArtist.Country = artist.Country; newArtist.DateOfBirth = artist.DateOfBirth; newArtist.Name = artist.Name; var albums = new List<string>(); foreach (var album in artist.Albums) { albums.Add(album.Title); } newArtist.AddAlbums(albums); var songs = new List<string>(); foreach (var song in artist.Songs) { songs.Add(song.Title); } newArtist.AddSongs(songs); artistsToReturn.Add(newArtist); } return artistsToReturn; }