public ActionResult Search([Bind(Include = "SearchText")] MovieSearchViewModel model)    //indicate field and model
 {
     model.Results = (from c in db.Movies
                      where c.Name.Contains(model.SearchText)
                      select c).ToList(); //convert LINQ to list since Results accepts list
     return(View(model));
 }
Beispiel #2
0
        public ActionResult Index(MovieSearchViewModel vm)
        {
            var rating = Convert.ToInt16(vm.SelectedStarRating ?? 0);

            vm.Movies = _db.Movies.Where(m => m.StarRating == rating && m.Genre == vm.SelectedGenre).ToList();
            return(View(vm));
        }
        // GET: Movies
        public ActionResult Index()
        {
            var vm = new MovieSearchViewModel();

            vm.Movies = db.Movies.ToList();
            return(View(vm));
        }
Beispiel #4
0
        // GET: Movies
        public ActionResult Index()
        {
            var list = _db.Movies.ToList().Where(m => !_filter.Filterout(m)).ToList();
            var vm   = new MovieSearchViewModel {
                Movies = list, FilterName = _filter.Name
            };

            return(View(vm));
        }
Beispiel #5
0
        public ActionResult Index(MovieSearchViewModel vm)
        {
            var client        = ElastaTools.GetElasticClient(GetDemoIndexName());
            var searchRequest = ElastaTools.BuildSearchRequest(vm);

            vm.QueryResults = ElastaTools.SearchMovies(client, GetDemoIndexName(), searchRequest);
            vm.FoundMovies  = vm.QueryResults.Documents.ToList();
            vm.QueryJson    = client.RequestResponseSerializer.SerializeToString(searchRequest);


            return(View(vm));
        }
Beispiel #6
0
        public ActionResult GetMovieSuggestions()
        {
            MovieSearchViewModel movieSearchModel = new MovieSearchViewModel();
            var currentUser = db.Users.Find(System.Web.HttpContext.Current.User.Identity.GetUserId());

            movieSearchModel.User = currentUser;

            var getIShowTimeCityIdClient = new WebClient();

            getIShowTimeCityIdClient.Headers.Add("X-API-Key", "aOpKxmKJDaHhhhg7IgRUISKvK4gMVJxx");
            var getIShowTimeCityIdResponse = getIShowTimeCityIdClient.DownloadString("https://api.internationalshowtimes.com/v4/cities?query=" + movieSearchModel.User.City);
            var getIShowTimeCityResults    = new JavaScriptSerializer().Deserialize <IShowTimeCityResultResponse>(getIShowTimeCityIdResponse);

            movieSearchModel.CityId = getIShowTimeCityResults.Cities[0].Id;

            foreach (UserToGenre genre in db.UserToGenres)
            {
                if (genre.UserId == movieSearchModel.User.Id)
                {
                    string genreIdToAdd = genre.GenreId.ToString();
                    movieSearchModel.PreferredGenres.Add(genreIdToAdd);
                }
            }
            foreach (string genreId in movieSearchModel.PreferredGenres)
            {
                foreach (Genre genre in db.Genres)
                {
                    if (genreId == genre.Id.ToString())
                    {
                        string genreDatabaseIdToAdd = genre.DatabaseId;
                        movieSearchModel.ResolvedPreferredGenreIds.Add(genreDatabaseIdToAdd);
                    }
                }
            }
            movieSearchModel.ResolvedGenreIdsToSearch = movieSearchModel.ResolvedPreferredGenreIds.First();
            if (movieSearchModel.ResolvedPreferredGenreIds.Count > 1)
            {
                movieSearchModel.ResolvedGenreIdsToSearch = string.Join(",", movieSearchModel.ResolvedPreferredGenreIds);
            }
            var movieSearchClient = new WebClient();

            movieSearchClient.Headers.Add("X-API-Key", "aOpKxmKJDaHhhhg7IgRUISKvK4gMVJxx");
            var movieSearchResponse = movieSearchClient.DownloadString("https://api.internationalshowtimes.com/v4/movies?genre_ids=" + movieSearchModel.ResolvedGenreIdsToSearch + "&city_ids=" + movieSearchModel.CityId + "&all_fields=true");
            var movieSearchResults  = new JavaScriptSerializer().Deserialize <MovieResultResponse>(movieSearchResponse);

            foreach (Movies movie in movieSearchResults.Movies)
            {
                movieSearchModel.MovieSearchResults.Add(movie);
            }

            return(View(movieSearchModel));
        }
Beispiel #7
0
        public IActionResult Index(MovieSearchViewModel model)
        {
            if (model.SearchText == null)
            {
                model.Movies     = this.moviesService.ListAllMovies(model.Page, 10);
                model.TotalPages = (int)Math.Ceiling(this.moviesService.Total() / (double)10);
            }
            else
            {
                model.Movies     = this.moviesService.ListByContainingText(model.SearchText, model.Page, 10);
                model.TotalPages = (int)Math.Ceiling(this.moviesService.TotalContainingText(model.SearchText) / (double)10);
            }

            return(View(model));
        }
        public ActionResult EditAll(EditAllMoviesViewModel editAllMoviesViewModel)
        {
            var movies = editAllMoviesViewModel.Movies;

            foreach (var movie in movies)
            {
                var existing = db.Movies.Where(m => m.ID == movie.ID).FirstOrDefault();
                existing.Title       = movie.Title;
                existing.Genre       = movie.Genre;
                existing.ReleaseDate = movie.ReleaseDate;
                existing.Price       = movie.Price;
                existing.StarRating  = movie.StarRating;
            }
            db.SaveChanges();

            var vm = new MovieSearchViewModel();

            vm.Movies = db.Movies.ToList();
            return(RedirectToAction("Index"));
        }
Beispiel #9
0
        public IActionResult SearchResultTitle(MovieSearchViewModel model)
        {
            var list = _repository.Get().Where(x => x.Title.Contains(model.Title));

            return(View(list));
        }
Beispiel #10
0
        public IActionResult SearchResultGenre(MovieSearchViewModel model)
        {
            var list = _repository.Get().Where(x => x.Genre == model.Genre);

            return(View(list));
        }
 public ActionResult Search([Bind(Include = "SearchText")] MovieSearchViewModel model)
 {
     model.Result = (from c in db.Movies where c.Title.Contains("SearchText") select c).ToList();
     return(View());
 }
        public static SearchRequest <ImDbBasicTitle> BuildSearchRequest(MovieSearchViewModel vm)
        {
            //1. Container for multiple query filters
            var mustClauses = new List <QueryContainer>();

            //scrub the data
            var criteria = vm.SearchCriteria;

            if (criteria == null)
            {
                criteria = "";
            }

            //make sure AND & OR are upper for query engine
            criteria = criteria.Replace(" and ", " AND ");
            criteria = criteria.Replace(" or ", " OR ");

            //limit search fields
            var fields = new List <Nest.Field>();

            if (vm.OnlyOriginalTitle)
            {
                fields.Add(new Nest.Field("originalTitle"));
            }

            //used for
            var queryStringFilter = new QueryStringQuery()
            {
                Query  = criteria,  //"toy or book"
                Fields = fields.ToArray()
            };

            //ONLY movies
            var titleTypeFilter = new MatchQuery()
            {
                Field = "titleType",
                Query = "movie"
            };



            //single record query
            if (vm.DocumentId != null && vm.DocumentId.Length > 0)
            {
                //By Id
                var idFilter = new MatchQuery()
                {
                    Field = "id",
                    Query = vm.DocumentId
                };
                //ONLY ID
                mustClauses.Add(idFilter);
            }
            else
            {
                //add google style query
                mustClauses.Add(queryStringFilter);

                //only movies filter
                if (vm.OnlyMovies)
                {
                    mustClauses.Add(titleTypeFilter);
                }
            }


            //sort fields
            var sortFields = new List <ISort>();

            sortFields.Add(new FieldSort()
            {
                Field        = "sortYear",
                Order        = SortOrder.Ascending,
                UnmappedType = FieldType.Integer,
            });


            var request = new SearchRequest <ImDbBasicTitle>()
            {
                From  = 0,
                Size  = 50, // 10000,
                Sort  = sortFields,
                Query = new BoolQuery {
                    Must = mustClauses
                }                                            //,
            };

            return(request);
        }
        public ActionResult Search(MovieSearchViewModel model)
        {
            var movies = _movieFacade.Search(new SearchParamters(model.Query));

            return(PartialView("MovieList", movies));
        }
Beispiel #14
0
        public ActionResult Index()
        {
            var vm = new MovieSearchViewModel();

            return(View(vm));
        }
Beispiel #15
0
        public IActionResult SearchResultTitle(MovieSearchViewModel model)
        {
            var list = _database.Get().Where(x => x.Title == model.Title);

            return(View(list));
        }