コード例 #1
0
        public async Task <IActionResult> SaveSong(string songname)
        {
            string accessToken = await HttpContext.GetTokenAsync("access_token");

            HttpClient client = new HttpClient();

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
            string json        = JsonConvert.SerializeObject(songname);
            var    httpContent = new StringContent(json, Encoding.UTF8, "application/json");

            string content = await client.GetStringAsync(Configuration["URLAPI"] + "api/Spotify/CheckSong");

            PreferenceMusic pM = JsonConvert.DeserializeObject <PreferenceMusic>(content);

            HttpResponseMessage result = null;

            if (pM != null)
            {
                result = await client.PostAsync(Configuration["URLAPI"] + "api/Spotify/UpdateSong", httpContent);
            }
            else
            {
                result = await client.PostAsync(Configuration["URLAPI"] + "api/Spotify/SaveSong", httpContent);
            }


            if (result.StatusCode.Equals(StatusCodes.Status404NotFound))
            {
                ViewData["error"] = "Remplir vos préférences d'abord";
                return(View("Spotify"));
            }
            else
            {
                return(Redirect("~/Account/Details"));
            }
        }
コード例 #2
0
        public async Task <IActionResult> SaveSong([FromBody] string songname)
        {
            try
            {
                AspNetUser user        = null;
                string     accessToken = await HttpContext.GetTokenAsync("access_token");

                HttpClient client = new HttpClient();
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);

                // Récurération des données et convertion des données dans le bon type
                string content = await client.GetStringAsync(Configuration["URLAPI"] + "api/Account/getUserInfo");

                user = JsonConvert.DeserializeObject <AspNetUser>(content);

                string[] song  = songname.Split('-');
                Music    music = new Music();
                music.MusicName  = song[0];
                music.ArtistName = song[1];

                Music search = _context.Musics.Where(x => x.MusicName.Equals(music.MusicName)).SingleOrDefault();

                if (search == null)
                {
                    _context.Musics.Add(music);
                    _context.SaveChanges();
                }
                else
                {
                    music = search;
                }

                Preference p = _context.Preferences
                               .Include(p => p.PreferenceMusics)
                               .Include(p => p.PreferenceHairSizes)
                               .Include(p => p.PreferenceHairColors)
                               .Include(p => p.PreferenceCorpulences)
                               .Include(p => p.PreferenceReligions)
                               .Include(p => p.PreferenceStyles)
                               .Where(x => x.Id == user.Id)
                               .SingleOrDefault();

                if (p != null)
                {
                    PreferenceMusic pM = new PreferenceMusic();
                    pM.MusicId      = music.MusicId;
                    pM.PreferenceId = p.PreferenceId;
                    p.PreferenceMusics.Add(pM);

                    UserMusic userMusic = new UserMusic();
                    userMusic.Id      = user.Id;
                    userMusic.MusicId = music.MusicId;
                    _context.UserMusics.Add(userMusic);

                    _context.SaveChanges();
                    return(NoContent());
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }