예제 #1
0
        public async Task <IActionResult> Create(MusicCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                Music toBeAddedMusic = new Music
                {
                    Artist      = model.Artist,
                    ReleaseDate = model.ReleaseDate,
                    Genre       = model.Genre,
                    Title       = model.Title,
                    Url         = model.Url
                };

                var user = await _userManager.GetUserAsync(HttpContext.User);

                _mediaDbContext.MusicList.Add(toBeAddedMusic);
                await _mediaDbContext.SaveChangesAsync();

                UserMusic newConnection = new UserMusic
                {
                    User    = user,
                    UserId  = user.Id,
                    Music   = toBeAddedMusic,
                    MusicId = toBeAddedMusic.Id
                };
                _mediaDbContext.UserMusicList.Add(newConnection);
                await _mediaDbContext.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
        public void DeleteUserMusic(UserMusic userMusic)
        {
            var toRemove = _context.UserMusic
                           .Where(x => x.MusicId == userMusic.MusicId &&
                                  x.UserUID == userMusic.UserUID)
                           .FirstOrDefault();

            _context.UserMusic.Remove(toRemove);
            _context.SaveChanges();
        }
 public ActionResult DislikeMusic(UserMusic song)
 {
     _userRepository.DeleteUserMusic(song);
     return(Ok());
 }
 public ActionResult LikeMusic(UserMusic likedMusic)
 {
     _userRepository.AddUserMusic(likedMusic);
     return(Ok());
 }
예제 #5
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());
            }
        }
 public void AddUserMusic(UserMusic userMusic)
 {
     _context.UserMusic.Add(userMusic);
     _context.SaveChanges();
 }