public IActionResult FilterMovie(FilterMovie search) { //Validating filter parameter if (search == null) { return(BadRequest()); } if (string.IsNullOrEmpty(search.Title) && search.Year == 0 && string.IsNullOrEmpty(search.Genres)) { return(BadRequest()); } var resp = _repository.GetMovieDetails() .Where(x => search.Year != 0 && x.Year == search.Year || !string.IsNullOrEmpty(search.Genres) && x.Genres.Contains(search.Genres) || !string.IsNullOrEmpty(search.Title) && x.Title.Equals(search.Title)) .OrderBy(y => y.Title) .ToList(); if (resp.Count == 0) { return(NotFound()); } return(Ok(resp)); }
public IEnumerable <MovieList> GetMovieListFillted(FilterMovie fm) { Command cmd = new Command("GetFilletedMovieList", true); if (fm.Category != null) { cmd.AddParameter("Category", fm.Category); } if (fm.Actor != null) { cmd.AddParameter("Actor", fm.Actor); } if (fm.Title != null) { cmd.AddParameter("Title", fm.Title); } if (fm.Langage != null) { cmd.AddParameter("Langage", fm.Langage); } if (fm.KeyWord != null) { cmd.AddParameter("KeyWord", fm.KeyWord); } return(_connection.ExecuteReader(cmd, ConvertList)); }
public async Task <IActionResult> GetAsync([FromQuery] FilterMovie filterMovie) { Specification <Movie> spec = Specification <Movie> .All; if (filterMovie.ForKidsOnly) { spec = spec.And(new MovieForKidsSpecification()); } if (filterMovie.OnCd) { spec = spec.And(new AvailabeOnCDSpecification()); } if (!string.IsNullOrWhiteSpace(filterMovie.Director)) { spec = spec.And(new MovieDirectedBySpecification(filterMovie.Director)); } var repository = (MovieRepository)_unitOfWork.Repository <Movie>(); var result = await repository.FindAsync( spec, filterMovie.MinimunRating, filterMovie.Page, filterMovie.PageSize); var movieDto = result.Select(s => new MovieDto { Id = s.Id, Director = s.Director.Name, Genre = s.Genre, MpaaRating = s.MpaaRating.ToString(), Name = s.Name, Rating = s.Rating, ReleaseDate = s.ReleaseDate }); return(result is null?NotFound() : (IActionResult)Ok(movieDto.ToList())); }
public IEnumerable <MovieList> GetMovieListFiltered([FromBody] FilterMovie fm) { return(_movieService.GetMovieListFillted(fm)); }