public ActionResult SearchPage(ProductsListViewModel model)
        {
            var searchResults = productSearchManager.Search(new SearchOptions
            {
                Query        = model.Query,
                PageNumber   = model.PageNumber,
                ResultFields = ProductFields.AllExcept(ProductFields.Description),
                PageSize     = model.PageSize,
                InverseSort  = model.InverseSort,
                SortField    = model.SortField
            });

            model.RelevantSortTypeAvailable = true;

            model.Items           = Mapper.Map <IList <ProductListItemViewModel> >(searchResults.Items);
            model.TotalItemsCount = searchResults.TotalCount;
            return(View("List", model));
        }
        public ActionResult Search(string query)
        {
            if (!Request.IsAjaxRequest())
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var products = productSearchManager.Search(new SearchOptions
            {
                Query        = query,
                ResultFields = ProductFields.AllExcept(ProductFields.Description),
                PageSize     = AppConfiguration.SearchDropdownItemsLimit
            });

            var model = Mapper.Map <IEnumerable <ProductListItemViewModel> >(products.Items);

            return(PartialView("_SearchResults", model));
        }