Esempio n. 1
0
        private static void ShowAlbum(string command)
        {
            Console.Clear();
            DiscogsApp discogsApp = new DiscogsApp();
            bool       isSuccess  = discogsApp.SearchAlbumAndShow(command, out string release);

            if (!isSuccess)
            {
                Console.Clear();
                Console.WriteLine("Album not found, try again");
                return;
            }

            AlbumModel newAlbum = discogsApp.CreateAlbumByRelease(release);

            SaveToDB(newAlbum);
        }
Esempio n. 2
0
        public AlbumModel CreateAlbumByQuery(string nameAlbum)
        {
            AlbumModel    album         = new AlbumModel();
            DiscogsClient discogsClient = new DiscogsClient("NYqvEPnYZdPWmAFFMURi", "kEvfDhiyBRunRURKFjlMmoCKPjIcYiVU");

            string result = discogsClient.SetQuery(nameAlbum).GetQueryResult(); //zapytanie o album

            string link = GetReleaseAlbumCDLink(result)[0];                     //wyciagniecie linku do konretnego wydania

            string release = discogsClient.SetLink(link).GetLinkResult();       //zapytanie o wydanie konkretne

            if (string.IsNullOrEmpty(release))
            {
                return(null);
            }
            album = CreateAlbumByRelease(release);

            return(album);
        }
Esempio n. 3
0
        private static int SaveToDB(AlbumModel newAlbum)
        {
            Console.Write("\nSave to DB? (y/n): ");
            string command = Console.ReadLine();
            int    ID;

            switch (command)
            {
            case "y":
                Console.Clear();
                ID = newAlbum.Save();
                return(ID);

            case "n":
                Console.Clear();
                return(-1);

            default:
                SaveToDB(newAlbum);
                Console.Clear();
                return(0);
            }
        }
Esempio n. 4
0
        public AlbumModel CreateAlbumByRelease(string release)
        {
            AlbumModel album = new AlbumModel();

            JObject parserRelease = JObject.Parse(release);

            if (!(parserRelease["title"] is null))
            {
                album.Title = parserRelease["title"].ToString();
            }

            if (!(parserRelease["artists"][0]["name"] is null))
            {
                album.Artists = parserRelease["artists"][0]["name"].ToString();
            }

            if (!(parserRelease["genres"] is null))
            {
                foreach (var genre in parserRelease["genres"])
                {
                    album.Genres.Add(genre.ToString());
                }
            }

            if (!(parserRelease["styles"] is null))
            {
                foreach (var style in parserRelease["styles"])
                {
                    album.Styles.Add(style.ToString());
                }
            }

            if (!(parserRelease["tracklist"] is null))
            {
                foreach (var track in parserRelease["tracklist"])
                {
                    album.TrackList.Add(new TrackModel(track["position"].ToString(), track["duration"].ToString(), track["title"].ToString()));
                }
            }
            if (!(parserRelease["videos"] is null))
            {
                foreach (var video in parserRelease["videos"])
                {
                    album.Videos.Add(video["uri"].ToString());
                }
            }

            if (!(parserRelease["images"] is null))
            {
                foreach (var image in parserRelease["images"])
                {
                    album.Images.Add(image["uri"].ToString());
                }
            }

            if (!(parserRelease["extraartists"] is null))
            {
                foreach (var artist in parserRelease["extraartists"])
                {
                    album.ExtraArtists.Add(new ArtistModel(artist["name"].ToString(), artist["role"].ToString(), album.Title));
                }
            }

            return(album);
        }