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)); }
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)); }
// 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)); }
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)); }
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)); }
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")); }
public IActionResult SearchResultTitle(MovieSearchViewModel model) { var list = _repository.Get().Where(x => x.Title.Contains(model.Title)); return(View(list)); }
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)); }
public ActionResult Index() { var vm = new MovieSearchViewModel(); return(View(vm)); }
public IActionResult SearchResultTitle(MovieSearchViewModel model) { var list = _database.Get().Where(x => x.Title == model.Title); return(View(list)); }