Пример #1
0
        public async Task <IActionResult> AddFavorite(int id)
        {
            if (!_context.Movies.Any(m => m.Id == id))
            {
                return(NotFound());
            }
            User user = await _userManager.FindByNameAsync(User.Identity.Name);

            Movie movie = _context.Movies.Include(x => x.Favorites)
                          .Include(w => w.UserWatchedMovie).First(m => m.Id == id);

            FavoriteMovie favoriteMovie = new FavoriteMovie
            {
                UserId  = user.Id,
                User    = user,
                MovieId = id,
                Movie   = movie
            };

            _context.FavoriteMovies.Add(favoriteMovie);

            user.Favorites = _context.FavoriteMovies.Where(f => f.UserId == user.Id).ToList();
            user.Favorites ??= new List <FavoriteMovie>();
            user.Favorites.Add(favoriteMovie);

            movie.Favorites = _context.FavoriteMovies.Where(f => f.MovieId == movie.Id).ToList();
            movie.Favorites ??= new List <FavoriteMovie>();
            movie.Favorites.Add(favoriteMovie);

            await _userManager.UpdateAsync(user);

            _context.SaveChanges();

            return(Created("test", user.Favorites.Select(fav => fav.MovieId)));
        }
Пример #2
0
        public async Task <IActionResult> RemoveFavorite(int id)
        {
            if (!_context.Movies.Any(m => m.Id == id))
            {
                return(NotFound());
            }

            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            user.Favorites = _context.FavoriteMovies.Where(f => f.UserId == user.Id).ToList();
            if (user.Favorites == null || !user.Favorites.Any(fav => fav.MovieId == id))
            {
                return(NotFound());
            }

            Movie movie = _context.Movies.First(m => m.Id == id);

            FavoriteMovie favoriteMovie = user.Favorites.First(fav => fav.MovieId == id);

            user.Favorites.Remove(favoriteMovie);
            movie.Favorites.Remove(favoriteMovie);
            _context.FavoriteMovies.Remove(favoriteMovie);

            await _userManager.UpdateAsync(user);

            _context.SaveChanges();

            return(Created("test", user.Favorites.Select(f => f.MovieId)));
        }
Пример #3
0
        public JsonResult AddFavoriteMovie(string idMovie, string userName)
        {
            ApplicationUser currentUser = _applicationUserService.GetUserFromUserName(userName);
            bool            exist       = _favoriteMovieService.ExistObject(new Guid(idMovie), currentUser.Id);

            if (exist == false)
            {
                FavoriteMovie favoriteMovie = new FavoriteMovie
                {
                    MovieId = new Guid(idMovie),
                    UserId  = currentUser.Id,
                    User    = currentUser
                };

                _favoriteMovieService.Create(favoriteMovie);

                return(Json(new
                {
                    status = 200,
                    message = "Success"
                }));
            }
            else
            {
                return(Json(new
                {
                    status = 500,
                    message = "Fail"
                }));
            }
        }
Пример #4
0
        public async Task <ActionResult <MovieItem> > DeleteFavorite(int id, User user)
        {
            MovieItem     favorite = new MovieItem();
            FavoriteMovie fm       = new FavoriteMovie();
            User          _user    = await _context.Users.FirstOrDefaultAsync(u => u.Id == user.Id);

            await Task.Run(() =>
            {
                fm = new FavoriteMovie()
                {
                    FavoriteId = _user.FavId, MovieItemId = id
                };
            });

            favorite = await _context.MovieItems.FirstOrDefaultAsync(m => m.Id == id);

            await Task.Run(() =>
            {
                _context.FavoriteMovies.Remove(fm);
            });

            if (favorite == null)
            {
                return(NotFound());
            }
            // _context.Favorites.FindAsync(1).Result.MovieItems.Remove(favorite);
            await _context.SaveChangesAsync();

            return(favorite);
        }
Пример #5
0
        public IActionResult DeleteMovie(int Id)
        {
            FavoriteMovie found = _context.FavoriteMovie.Find(Id);

            if (ModelState.IsValid)
            {
                _context.FavoriteMovie.Remove(found);
                _context.SaveChanges();
            }
            return(RedirectToAction("FavoriteMovieList"));
        }
Пример #6
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
            });
        }
Пример #7
0
        public bool Add(int id, string username)
        {
            // Adding selected movie to db
            TMDbClient client        = new TMDbClient(Environment.GetEnvironmentVariable("TMDB_API_KEY"));
            var        selectedMovie = client.GetMovieAsync(id).Result;
            var        currMovie     = new Movie {
            };

            if (!this.db.Movies.Any(x => x.MovieNmr == id))
            {
                var movie = new Movie
                {
                    Title       = selectedMovie.Title,
                    Description = selectedMovie.Overview,
                    MovieNmr    = selectedMovie.Id,
                    ImageUrl    = "http://image.tmdb.org/t/p/original" + selectedMovie.PosterPath,
                    Rating      = selectedMovie.VoteAverage,
                    ReleaseDate = selectedMovie.ReleaseDate,
                };

                currMovie = movie;
                this.db.Movies.Add(movie);
                this.db.SaveChanges();
            }
            else
            {
                currMovie = this.db.Movies.FirstOrDefault(x => x.MovieNmr == id);
            }

            // Adding to favorites
            var user = this.db.Users.Include(x => x.Favorites).FirstOrDefault(x => x.UserName == username);

            if (user == null || user.Favorites.Any(x => x.MovieId == id))
            {
                return(false);
            }

            var favoriteMovie = new FavoriteMovie
            {
                MovieId = currMovie.Id,
                UserId  = user.Id,
            };

            user.Favorites.Add(favoriteMovie);
            this.db.SaveChanges();

            return(true);
        }
Пример #8
0
        public IActionResult AddFavoriteMovies(Movie favoriteMovie) // change to movie
        {
            FavoriteMovie addedMovie = new FavoriteMovie();

            addedMovie.Title    = favoriteMovie.Title;
            addedMovie.Year     = favoriteMovie.Year;
            addedMovie.Genre    = favoriteMovie.Genre;
            addedMovie.Director = favoriteMovie.Director;
            addedMovie.Actors   = favoriteMovie.Actors;
            addedMovie.Plot     = favoriteMovie.Plot;
            //string id = User.FindFirst(ClaimTypes.NameIdentifier).Value;
            _context.FavoriteMovie.Add(addedMovie);
            _context.SaveChanges();

            return(RedirectToAction("FavoriteMovieList"));
        }
Пример #9
0
        public async Task <IActionResult> PutFavorite(int id, User user)
        {
            User _user = await _context.Users.FirstOrDefaultAsync(u => u.Id == user.Id);

            await Task.Run(() =>
            {
                if (_user.FavId == 0)
                {
                    Task <ActionResult <User> > action = PostFavorite(_user);
                }
            });

            FavoriteMovie fm = new FavoriteMovie();
            await Task.Run(() =>
            {
                fm = new FavoriteMovie()
                {
                    FavoriteId = _user.FavId, MovieItemId = id
                };
            });

            await Task.Run(() =>
            {
                _context.FavoriteMovies.Add(fm);
            });

            //_context.Entry(favorite).State = EntityState.Modified;
            // _context.Entry(fm).State = EntityState.Modified;
            await _context.SaveChangesAsync();

            try
            {
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!FavoriteExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #10
0
        private void MoviesListBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            if ((Movie)moviesListBox.SelectedItem == selectedMovie)
            {
                return;
            }

            if (movies.Count == 0)
            {
                addRemoveFavoritesButton.Enabled = false;
                movieDetailsButton.Enabled       = false;
                return;
            }

            selectedMovie = (Movie)moviesListBox.SelectedItem;

            movieTitleLabel.Text         = selectedMovie.Title;
            movieReleseYearLabel.Text    = DateTime.SpecifyKind((DateTime)selectedMovie.ReleaseDate, DateTimeKind.Local).ToString("yyyy");
            moviePlotOutlineTextBox.Text = selectedMovie.PlotOutline;

            FavoriteMovie fm = new FavoriteMovie()
            {
                MovieId = selectedMovie.Id,
                Movie   = selectedMovie,
                UserId  = user.Id,
                User    = user
            };

            FavoriteMovie favoriteMovie = GlobalConfig.Connection.FindFavoriteMovieByIds(fm);

            if (favoriteMovie == null)
            {
                addRemoveFavoritesButton.Text = AddToFavoritesText;
            }
            else
            {
                addRemoveFavoritesButton.Text = RemoveFromFavoritesText;
            }

            movieCoverPictureBox.LoadAsync(selectedMovie.ImageUrl);

            addRemoveFavoritesButton.Enabled = true;
            movieDetailsButton.Enabled       = true;
        }
Пример #11
0
        public IActionResult AddToFavorites([FromQuery] int movieId, int userId)
        {
            var movie = _context.Movies.Find(movieId);
            var user  = _context.Users.Find(userId);

            if (movie == null || user == null)
            {
                return(BadRequest());
            }
            var favoriteMovie = new FavoriteMovie
            {
                User  = user,
                Movie = movie
            };

            _context.FavoriteMovies.Add(favoriteMovie);
            _context.SaveChanges();
            return(Ok(favoriteMovie));
        }
Пример #12
0
        private void AddRemoveFavoritesButton_Click(object sender, EventArgs e)
        {
            FavoriteMovie fm = new FavoriteMovie()
            {
                MovieId = selectedMovie.Id,
                Movie   = selectedMovie,
                UserId  = user.Id,
                User    = user
            };

            FavoriteMovie favoriteMovie = GlobalConfig.Connection.FindFavoriteMovieByIds(fm);

            if (favoriteMovie == null)
            {
                GlobalConfig.Connection.AddFavoriteMovie(fm);

                addRemoveFavoritesButton.Text = RemoveFromFavoritesText;

                movies.Add(selectedMovie);
            }
            else
            {
                GlobalConfig.Connection.RemoveFavoriteMovie(favoriteMovie);

                addRemoveFavoritesButton.Text = AddToFavoritesText;

                movies.Remove(selectedMovie);

                selectedMovie = null;
            }

            if (CurrentEndpointSlug == FavoritesEndpointSlug)
            {
                PopulateListBox();
            }
        }
Пример #13
0
 public void RemoveFavoriteMovie(FavoriteMovie model)
 {
     context.FavoriteMovies.Attach(model);
     context.FavoriteMovies.Remove(model);
     context.SaveChanges();
 }
Пример #14
0
 public void AddFavoriteMovie(FavoriteMovie model)
 {
     context.FavoriteMovies.Add(model);
     context.SaveChangesAsync();
 }
Пример #15
0
 public FavoriteMovie FindFavoriteMovieByIds(FavoriteMovie model)
 {
     throw new NotImplementedException();
 }
Пример #16
0
 public void AddFavorite(FavoriteMovie movie)
 {
     _dbContext.FavoriteMovies.Add(movie);
     Save();
 }
Пример #17
0
 public void RemoveFavoriteMovie(FavoriteMovie model)
 {
     throw new NotImplementedException();
 }
Пример #18
0
 public FavoriteMovie FindFavoriteMovieByIds(FavoriteMovie model)
 {
     return(context.FavoriteMovies.Where(fm => fm.MovieId == model.MovieId && fm.UserId == model.UserId).SingleOrDefault());
 }
Пример #19
0
 public void DeleteFavorite(FavoriteMovie favoriteMovie)
 {
     _dbContext.FavoriteMovies.RemoveRange(_dbContext.FavoriteMovies.Where(x =>
                                                                           x.MovieId == favoriteMovie.MovieId && x.UserId == favoriteMovie.UserId));
     Save();
 }