Exemplo n.º 1
0
        public void SaveAlbum(Zirpl.Spotify.MetadataApi.Album album, Zirpl.Spotify.MetadataApi.Artist artist)
        {
            var result = new SpotifyMetadataApiClient().LookupAlbum(album.Href);

            MusicApp.Models.Album a = new Models.Album();
            a.Name = result.Name;
            a.Href = album.Href;
            a.ArtistId = artist.Href;
            a.Popularity = album.Popularity;
            a.Artist = result.Artist;
            a.Released = result.Released;

            var songs = from s in db.Songs
                        select s;
            songs = songs.Where(s => s.AlbumID.Contains(album.Href));

            if (songs.Count() > 0)
            {
                var maxObject = songs.OrderByDescending(item => item.Length).First();
                a.LengthLongest = maxObject.Length;
                a.NameLongest = maxObject.Name;
            }

            //if (ModelState.IsValid)
            if (result.Artist == artist.Name)
            {
                db.Albums.Add(a);
            }
        }
Exemplo n.º 2
0
        // GET: Artists/Create
        public ActionResult Save(Zirpl.Spotify.MetadataApi.Artist artist)
        {
            SaveArtist(artist);

            List<Zirpl.Spotify.MetadataApi.Track>tracks = new SpotifyMetadataApiClient().SearchTracks(artist.Name).Tracks;
            foreach (Zirpl.Spotify.MetadataApi.Track track in tracks)
            {
                SaveTrack(track, artist);
            }

            db.SaveChanges();

            List<Zirpl.Spotify.MetadataApi.Album> albums = new List<Zirpl.Spotify.MetadataApi.Album>();
            if (artist.Albums.Count == 0)
                albums = new SpotifyMetadataApiClient().SearchAlbums(artist.Name).Albums;
            else
                albums = artist.Albums;

            foreach (Zirpl.Spotify.MetadataApi.Album album in albums)
            {

                SaveAlbum(album, artist);
            }

            db.SaveChanges();

            return RedirectToAction("Index");
        }
Exemplo n.º 3
0
        public void SaveTrack(Zirpl.Spotify.MetadataApi.Track track, Zirpl.Spotify.MetadataApi.Artist artist)
        {
            var result = new SpotifyMetadataApiClient().LookupTrack(track.Href);
            MusicApp.Models.Song s = new Models.Song();
            s.Name = track.Name;
            s.Href = track.Href;
            s.Length = track.Length;
            s.Href = track.Href;
            s.ArtistId = result.Artists.First().Href;
            s.AlbumID = result.Album.Href;
            s.Popularity = track.Popularity;

            //if (ModelState.IsValid)
            {
                db.Songs.Add(s);
            }
        }
Exemplo n.º 4
0
 public void SaveArtist(Zirpl.Spotify.MetadataApi.Artist artist)
 {
     MusicApp.Models.Artist a = new Models.Artist();
     a.Name = artist.Name;
     a.Href = artist.Href;
     a.Popularity = artist.Popularity;
     //if (ModelState.IsValid)
     {
         db.Artists.Add(a);
     }
 }