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); }