public IPagedList <MediaFile> Search(MediaSelectorSearchQuery searchQuery) { var queryOver = _session.QueryOver <MediaFile>().Where(file => file.Site.Id == _site.Id); if (searchQuery.CategoryId.HasValue) { queryOver = queryOver.Where(file => file.MediaCategory.Id == searchQuery.CategoryId); } if (!string.IsNullOrWhiteSpace(searchQuery.Query)) { var term = searchQuery.Query.Trim(); queryOver = queryOver.Where( file => file.FileName.IsLike(term, MatchMode.Anywhere) || file.Title.IsLike(term, MatchMode.Anywhere) || file.Description.IsLike(term, MatchMode.Anywhere)); } return(queryOver.OrderBy(file => file.CreatedOn).Desc.Paged(searchQuery.Page)); }
public ActionResult Show(MediaSelectorSearchQuery searchQuery) { ViewData["categories"] = _mediaSelectorService.GetCategories(); ViewData["results"] = _mediaSelectorService.Search(searchQuery); return(PartialView(searchQuery)); }