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")); } }
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()); } }