Example #1
0
        public async Task <ActionResult> VoteOnNomination(VoteViewModel voteViewModel)
        {
            if (voteViewModel.Vote.Id != 0)
            {
                VoteAPI.Update(voteViewModel.Vote);
            }
            else if (voteViewModel.Vote.Id == 0)
            {
                VoteAPI.Create(voteViewModel.Vote);
            }
            ;
            Nomination nomination = await NominationAPI.GetById(voteViewModel.Vote.NominationId);

            YearCategoryModel returnParameters   = new YearCategoryModel(nomination.Year, nomination.AwardCategory);
            Nomination        nominationVotedFor = await NominationAPI.GetById(voteViewModel.Vote.NominationId);

            RecommendationViewModel recommendationViewModel = new RecommendationViewModel()
            {
                Year     = nominationVotedFor.Year,
                Category = nominationVotedFor.AwardCategory
            };

            recommendationViewModel.Movie = await MovieAPI.GetById(nominationVotedFor.MovieId);

            recommendationViewModel.MovieId = recommendationViewModel.Movie.Id;
            return(RedirectToAction(nameof(MovieRecommendation), recommendationViewModel));
        }
Example #2
0
        public ActionResult AddToFavoruit() // The user reviewed the movie and decided to add it to his favoruit list
        {
            MovieAPI obj = new MovieAPI();

            obj = (MovieAPI)Session["FavoruitMovie"];
            return(RedirectToAction("Create", "MovieAPIs1", obj));//pass the movie obj to create action in MovieAPIs1Controller to store this movie in the data base
        }
Example #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            MovieAPI movieAPI = db.MovieAPIs.Find(id);

            db.MovieAPIs.Remove(movieAPI);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #4
0
 public ActionResult Edit([Bind(Include = "ID,Title,Year,Rated,Released,Genre")] MovieAPI movieAPI)
 {
     if (ModelState.IsValid)
     {
         db.Entry(movieAPI).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(movieAPI));
 }
Example #5
0
        public ActionResult About()
        {
            userChoice = (UserInput)Session["UserInput"];

            MovieAPI obj      = new MovieAPI();
            string   Movename = userChoice.MovieName.Trim();

            obj = MovieDAL.GetPost("http://www.omdbapi.com/?" + "t=" + Movename + "&apikey=70a772b9&");
            Session["FavoruitMovie"] = obj; //store the searched result inside a Session so when the user decide to add it to his favorite list we get it
            return(View(obj));              // return the movie details to the view so the user can read it
        }
Example #6
0
        // POST: MovieAPIs1/Create
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://go.microsoft.com/fwlink/?LinkId=317598.

        public ActionResult Create(MovieAPI movieAPI)
        {
            if (ModelState.IsValid)
            {
                MovieAPI favoruitMovie = new MovieAPI();
                favoruitMovie = movieAPI;
                db.MovieAPIs.Add(movieAPI);
                db.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
Example #7
0
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            var rental = (Rental)validationContext.ObjectInstance;

            var movieRented = new MovieAPI().GetMovieDto(rental.MovieId);

            if (movieRented == null || movieRented.NumberInStock == 0)
            {
                return(new ValidationResult("Movie Not Available"));
            }

            return(ValidationResult.Success);
        }
Example #8
0
        // GET: MovieAPIs1/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MovieAPI movieAPI = db.MovieAPIs.Find(id);

            if (movieAPI == null)
            {
                return(HttpNotFound());
            }
            return(View(movieAPI));
        }
Example #9
0
        private async void BtnPlay_Click(object sender, EventArgs e)
        {
            MovieAPI     api  = new MovieAPI();
            List <Video> vids = await api.GetVideos(movie.id);

            if (vids == null || vids.Count == 0)
            {
                Toast.MakeText(this, "No videos", ToastLength.Long).Show();
            }
            else
            {
                //launch video player
            }
        }
        // methods
        private void FetchDataFromApi(ShopItemType type)
        {
            switch (type)
            {
            case ShopItemType.Food:
                FoodAPI foodAPI = new FoodAPI();
                foodAPI.GetRandomFood(5).ForEach(ShopItems.Add);
                break;

            case ShopItemType.Movie:
                MovieAPI movieAPI = new MovieAPI();
                ShopItems.Add(movieAPI.GetRandomMovie());
                break;
            }
        }
Example #11
0
        protected async override void OnStart()
        {
            base.OnStart();

            string url = MovieAPI.GetImageURL(movie.poster_path, 0);

            Picasso.With(this).Load(url).Into(ivPoster, new IVCallback(movie.id));

            string urlbg = MovieAPI.GetBGImageURL(movie.backdrop_path, 0);

            Picasso.With(this).Load(urlbg).Into(ivBG, new IVCallback(-1));

            tvTitle.Text = movie.title;
            tvDescr.Text = movie.overview;

            tvReleaseDate.Text = "Release Date: " + movie.release_date;

            ratingScore.Rating = movie.vote_average / 2;
            tvVotes.Text       = "(from " + movie.vote_count.ToString() + " votes)";


            btnFav.Click  += BtnFav_Click;
            btnPlay.Click += BtnPlay_Click;

            api = new MovieAPI();

            SimilarMovies = await api.GetSimilar(movie.id);

            RunOnUiThread(() =>
            {
                MovieAdapter similarAdapter = new MovieAdapter(this, SimilarMovies);
                similarAdapter.ItemClick   += SimilarAdapter_ItemClick;
                listSimilar.SetLayoutManager(new GridLayoutManager(this, 1, GridLayoutManager.Horizontal, false));
                listSimilar.SetAdapter(similarAdapter);
            });

            isFav = await datasource.IsFavorite(movie.id.ToString());

            RunOnUiThread(() =>
            {
                setBtnFavText();
            });
        }
Example #12
0
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            try
            {
                Log.Debug("GetView", "Position=" + position);
                MovieViewHolder vh = (MovieViewHolder)holder;

                Movie movie = _movies[position];

                Log.Debug("GetView", movie.ToString());
                string          strURI    = MovieAPI.GetImageURL(movie.poster_path, 0);
                Android.Net.Uri posteruri = Android.Net.Uri.Parse(strURI);
                Picasso.With(_context).Load(posteruri).Into(vh.ivPoster, new IVCallback(position));
            }
            catch (Exception e)
            {
                Log.Debug("GetView", "Exception " + e.Message);
            }
        }
Example #13
0
        private async Task GetData()
        {
            MovieAPI api = new MovieAPI();

            MovieLists.TopMovies = await api.GetTopRated();

            incrementProgBar(25);
            MovieLists.PopMovies = await api.GetPopular();

            incrementProgBar(25);
            MovieLists.NowMovies = await api.GetNowPlaying();

            incrementProgBar(25);

            await api.GetConfig();

            incrementProgBar(25);

            FavoriteDatasource datasource = new FavoriteDatasource(Constants.dbFavPath);

            MovieLists.FavMovies = await datasource.GetFavorites();
        }
Example #14
0
        public async Task <ActionResult> MovieRecommendation(string year, string category, int?movieId)
        {
            Movie movieVotedFor = await MovieAPI.GetById(movieId.Value);

            List <Movie> movies = await MovieAPI.GetAll();

            movies = movies.Where(m => m.Title != movieVotedFor.Title && m.Actors != null).Distinct().ToList();
            Dictionary <Movie, int> movieRecommendations = BuildMovieDictionary(movies);
            RecommendationViewModel recommendation       = new RecommendationViewModel()
            {
                Year     = year,
                Category = category
            };

            foreach (Movie potentialRecommendation in movies)
            {
                movieRecommendations[potentialRecommendation] = GetMovieRecommendationScore(potentialRecommendation, movieVotedFor);
            }
            List <Movie> moviesWithHighestScore = FindMovieDictionaryItemsWithGreatestScore(movieRecommendations);

            recommendation.Movie = PickRandomMovieFromList(moviesWithHighestScore);
            return(View(recommendation));
        }
Example #15
0
        public async Task <ActionResult> ListMovies()
        {
            List <Movie> movies = await MovieAPI.GetAll();

            return(View(movies));
        }
Example #16
0
 public ActionResult EditMovie(Movie editedMovie)
 {
     MovieAPI.Update(editedMovie);
     return(RedirectToAction(nameof(MovieDetails), editedMovie));
 }
Example #17
0
        public async Task <ActionResult> EditMovie(int id)
        {
            Movie movie = await MovieAPI.GetById(id);

            return(View(movie));
        }