public IEnumerable <MovieLocation> GetMovieLocationsAsync(MovieLocationsDto movieLocationsDto) { List <MovieLocation> resultCollections = null; try { resultCollections = new List <MovieLocation>(); List <GridHelper.Filter> filters = new List <GridHelper.Filter>(); GridHelper.Filter gridHelper = new GridHelper.Filter(); gridHelper.PropertyName = movieLocationsDto.SearchBy; gridHelper.Value = movieLocationsDto.SearchByValue; if (!string.IsNullOrEmpty(movieLocationsDto.SearchByFilter)) { gridHelper.Operator = GridHelper.Operator.Contains; //set it only for Single Contain to work } filters.Add(gridHelper); var filterExpression = ExpressionBuilder.GetExpression <MovieLocation>(filters); resultCollections = _db.ListsMovieLocations.Where(filterExpression).ToList(); } catch (Exception ex) { Console.Error.WriteLine("Error occuered:" + ex.Message.ToString()); } return(resultCollections); }
public IActionResult GetMovieLocations(MovieLocationsDto movieLocationRequest) { SeedAndCacheDataWhenFirstRequestComes(); // need to go infracture Layer //seed should be place in separate class,insert data whne invoke soultion //Refeactoring After UI Changes IEnumerable <MovieLocation> results = null; if (ModelState.IsValid) { results = _movieLocationsQueries.GetMovieLocationsAsync(movieLocationRequest); } else { return(BadRequest(ModelState)); } return(results == null ? (IActionResult)NotFound() : Ok(results)); #region Moved code to Application Layer as per refactorization // List<MovieLocation> resultCollections = null; //resultCollections = new List<MovieLocation>(); //List<GridHelper.Filter> filters = new List<GridHelper.Filter>(); //GridHelper.Filter gridHelper = new GridHelper.Filter(); //gridHelper.PropertyName = movieLocationRequest.SearchBy; //gridHelper.Value = movieLocationRequest.SearchByValue; //if (!string.IsNullOrEmpty(movieLocationRequest.SearchByFilter)) // gridHelper.Operator = GridHelper.Operator.Contains; //set it only for Single Contain to work //filters.Add(gridHelper); //var filterExpression = ExpressionBuilder.GetExpression<MovieLocation>(filters); //resultCollections = _context.ListsMovieLocations.Where(filterExpression).ToList(); //return Ok(resultCollections); #endregion }
private IQueryable <MovieLocation> GetQueryableLibraries(MovieLocationsDto movieLocationsDto) { return((from lst in _db.ListsMovieLocations select new MovieLocation { Id = lst.Id, Title = lst.Title, ReleaseYear = lst.ReleaseYear, Locations = lst.Locations, Director = lst.Director }) .OrderBy(x => x.ReleaseYear)); }