private async void btnAddWatchList_Click(object sender, RoutedEventArgs e) { if (grdData.SelectedItems.Count == 0) { await this.ShowMessageAsync("오류", $"즐겨찾기에 추가할 영화를 선택하세요.", MessageDialogStyle.Affirmative, null); return; } // grdData.SelectedItem : MovieItem -> FavoriteMovies (Entity Framework) 로 클래스 변경 List <FavoriteMovies> movies = new List <FavoriteMovies>(); foreach (MovieItem item in grdData.SelectedItems) { FavoriteMovies temp = new FavoriteMovies() { Title = item.Title, Link = item.Link, Image = item.Image, SubTitle = item.SubTitle, PubDate = item.PubDate, Director = item.Director, Actor = item.Actor, UserRating = item.UserRating, RegDate = DateTime.Now }; movies.Add(temp); } using (var ctx = new OpenApiLabEntities()) { try { ctx.Set <FavoriteMovies>().AddRange(movies); ctx.SaveChanges(); stsResult.Content = $"즐겨찾기 {movies.Count}건 추가 완료."; await this.ShowMessageAsync("저장 성공", $"영화 {movies.Count}개를 즐겨찾기에 추가했습니다", MessageDialogStyle.Affirmative, null); } catch (Exception ex) { if (ex.InnerException.InnerException.HResult == -2146232060) { await this.ShowMessageAsync("오류", $"이미 즐겨찾기에 있는 영화가 포함되어 있습니다.", MessageDialogStyle.Affirmative, null); } else { await this.ShowMessageAsync("오류", $"예외 발생 : {ex.Message}", MessageDialogStyle.Affirmative, null); common.LOGGER.Error($"예외 발생 : {ex}"); } } } }
public IActionResult DeleteFavorite(FavoriteMovies movie) { if (movie != null) { _context.FavoriteMovies.Remove(movie); _context.SaveChanges(); return(RedirectToAction("FavoriteMovies")); } return(RedirectToAction("FavoriteMovies")); }
private async Task LoadFavoriteMovies() { await Task.Run(() => { foreach (var item in App.database.GetMovies()) { FavoriteMovies.Add(item); } }); }
public FavoriteMovies GetFavoriteMovies() { FavoriteMovies favToCheck = _httpContextAccessor.HttpContext.Session.GetObject <FavoriteMovies>("favMovies"); if (favToCheck == null) { _httpContextAccessor.HttpContext.Session.SetObject("favMovies", new FavoriteMovies()); favToCheck = _httpContextAccessor.HttpContext.Session.GetObject <FavoriteMovies>("favMovies"); } return(favToCheck); }
public IActionResult EditFavorite(FavoriteMovies editFavorite) { FavoriteMovies originFav = _context.FavoriteMovies.Find(editFavorite.Id); if (ModelState.IsValid) { originFav.UserRating = editFavorite.UserRating; _context.Entry(originFav).State = Microsoft.EntityFrameworkCore.EntityState.Modified; _context.Update(originFav); _context.SaveChanges(); } return(RedirectToAction("ListFavorites")); }
public IActionResult Delete(int id) { string user = User.FindFirst(ClaimTypes.NameIdentifier).Value; List <FavoriteMovies> userFavorites = _favoriteDB.FavoriteMovies.Where(x => x.UserId == user).ToList(); // id represents the movie id to be removed FavoriteMovies deleteMovie = userFavorites.FirstOrDefault(x => x.FavId == id); _favoriteDB.FavoriteMovies.Remove(deleteMovie); _favoriteDB.SaveChanges(); return(RedirectToAction("Favorites")); }
public void AddToFavMovie(FavoriteMovies favMovies, Movie movie) { FavoriteMovie favmovie = favMovies.FavoriteMovieList.FirstOrDefault(f => f.Movie.MovieId == movie.MovieId); if (favmovie != null) { //favmovie.GivenScore++; return; } favMovies.FavoriteMovieList.Add(new FavoriteMovie { Movie = movie, GivenScore = 1 }); }
public IActionResult AddMovieToFavorites(int id) { var movie = GetMovieById(id, _configuration).Result; AspNetUsers thisUser = _context.AspNetUsers.Where(u => u.UserName == User.Identity.Name).First(); FavoriteMovies newFav = new FavoriteMovies(); newFav.UserId = thisUser.Id; newFav.Movie = movie.title; newFav.MovieId = movie.id; if (ModelState.IsValid) { _context.FavoriteMovies.Add(newFav); _context.SaveChanges(); return(RedirectToAction("Index")); } return(View("Index")); }
public IActionResult AddToFavorites(int id) { string user = User.FindFirst(ClaimTypes.NameIdentifier).Value; List <FavoriteMovies> userFavorites = _favoriteDB.FavoriteMovies.Where(x => x.UserId == user).ToList(); if (userFavorites.Where(x => x.FavId == id).Count() > 0) { TempData["error"] = "This Movie is already in your list of favorites"; return(RedirectToAction("ViewSingleMovie", new { id = id })); } else { FavoriteMovies newFav = new FavoriteMovies(); newFav.UserId = user; newFav.FavId = id; _favoriteDB.FavoriteMovies.Add(newFav); _favoriteDB.SaveChanges(); return(RedirectToAction("Favorites")); } }
public IActionResult AddFavorite(Movie movie) { AspNetUsers thisUser = _context.AspNetUsers.Where(u => u.UserName == User.Identity.Name).First(); FavoriteMovies favorite = new FavoriteMovies(); if (ModelState.IsValid) { favorite.UserId = thisUser.Id; favorite.Director = movie.Director; favorite.Rated = movie.Rated; favorite.Runtime = movie.Runtime; favorite.Title = movie.Title; favorite.Year = movie.Year; favorite.Genre = movie.Genre; _context.FavoriteMovies.Add(favorite); _context.SaveChanges(); return(RedirectToAction("FavoriteMovies")); } return(RedirectToAction("Index")); }
public async Task <IActionResult> AddToFavorites(string Id) { string id = User.FindFirst(ClaimTypes.NameIdentifier).Value; HttpClient client = new HttpClient(); client.BaseAddress = new Uri("http://www.omdbapi.com"); var response = await client.GetAsync($"?apikey={apiKey}&i={Id}"); var movie = await response.Content.ReadAsAsync <MovieDetails>(); int movieYear = int.Parse(movie.Year); FavoriteMovies finalMovie = new FavoriteMovies(movie.Title, movieYear, movie.imdbID, 50); finalMovie.UserId = id; //validation to avoid duplicates on fav list List <FavoriteMovies> movies = _context.FavoriteMovies.Where(x => x.UserId == id).ToList(); TempData["exists"] = false; foreach (FavoriteMovies favs in movies) { if (favs.MovieId == finalMovie.MovieId) { TempData["exists"] = true; return(RedirectToAction("ListFavorites")); } } _context.FavoriteMovies.Add(finalMovie); _context.SaveChanges(); return(RedirectToAction("ListFavorites")); }
public static async Task <FavoriteMovies> GetMovietAsync() { // Update port # in the following line. HttpClient client = new HttpClient(); string url = "https://api.themoviedb.org/3/list/1313?language=pt-BR&api_key=1f54bd990f1cdfb230adb312546d765d"; client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); string result = await client.GetStringAsync(url); //if (result.IsSuccessStatusCode) //{ FavoriteMovies favoriteMovies = JsonConvert.DeserializeObject <FavoriteMovies>(result); var realmDB = Realm.GetInstance(); realmDB.Write(() => { realmDB.Add(favoriteMovies, true); }); return(favoriteMovies); }
public void SetFavoriteMovies(FavoriteMovies favMovies2) { _httpContextAccessor.HttpContext.Session.SetObject("favMovies", favMovies2); }
public void RemoveFromFavMovie(FavoriteMovies favMovies, int movieId) { favMovies.FavoriteMovieList.Remove(favMovies.FavoriteMovieList.FirstOrDefault(c => c.Movie.MovieId == movieId)); }
public List <FavoriteMovie> List(FavoriteMovies favMovies) { return(favMovies.FavoriteMovieList); }