Exemplo n.º 1
0
        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}");
                    }
                }
            }
        }
Exemplo n.º 2
0
 public IActionResult DeleteFavorite(FavoriteMovies movie)
 {
     if (movie != null)
     {
         _context.FavoriteMovies.Remove(movie);
         _context.SaveChanges();
         return(RedirectToAction("FavoriteMovies"));
     }
     return(RedirectToAction("FavoriteMovies"));
 }
Exemplo n.º 3
0
 private async Task LoadFavoriteMovies()
 {
     await Task.Run(() =>
     {
         foreach (var item in App.database.GetMovies())
         {
             FavoriteMovies.Add(item);
         }
     });
 }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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"));
        }
Exemplo n.º 6
0
        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"));
        }
Exemplo n.º 7
0
        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
            });
        }
Exemplo n.º 8
0
        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"));
        }
Exemplo n.º 9
0
        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"));
            }
        }
Exemplo n.º 10
0
        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"));
        }
Exemplo n.º 11
0
        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"));
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
 public void SetFavoriteMovies(FavoriteMovies favMovies2)
 {
     _httpContextAccessor.HttpContext.Session.SetObject("favMovies", favMovies2);
 }
Exemplo n.º 14
0
 public void RemoveFromFavMovie(FavoriteMovies favMovies, int movieId)
 {
     favMovies.FavoriteMovieList.Remove(favMovies.FavoriteMovieList.FirstOrDefault(c => c.Movie.MovieId == movieId));
 }
Exemplo n.º 15
0
 public List <FavoriteMovie> List(FavoriteMovies favMovies)
 {
     return(favMovies.FavoriteMovieList);
 }