public ActionResult GlobalSearch(string currentFilter, string searchString, int?page)
        {
            var pageNumber = page ?? 1;

            if (string.IsNullOrWhiteSpace(searchString))
            {
                searchString = null;
            }
            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            var objectsPerPage = 20;
            var startIndex     = (pageNumber - 1) * objectsPerPage;

            SearchParamsProduct SearchParams = new SearchParamsProduct(searchString, startIndex, objectsPerPage)
            {
                IsSearchOnlyPublicProduct = true
            };
            SearchResult <Product> searchResult;

            if (searchString == null)
            {
                searchResult = new SearchResult <Product>()
                {
                    Objects             = new List <Product>(),
                    RequestedStartIndex = 0,
                    Total = objectsPerPage,
                    RequestedObjectsCount = objectsPerPage
                };
            }
            else
            {
                searchResult = _productRepository.Get(SearchParams);
            }

            ViewBag.CurrentFilter = searchString;
            var viewModel = SearchResultViewModel <Product> .CreateFromSearchResult(searchResult, i => i, 10);

            List <BreadCrumbViewModel> breadcrumbs = new List <BreadCrumbViewModel>();

            breadcrumbs.Add(new BreadCrumbViewModel()
            {
                Title = "Поиск"
            });
            ViewBag.BredCrumbs = breadcrumbs;
            ViewBag.MetaTitle  = "Поиск: " + searchString;
            return(View(viewModel));
        }
Example #2
0
        public ActionResult AdminIndex(string currentFilter, string searchString, int?categoryId, int?page, bool priority = false, int filled = 0, bool isNotUnloading1C = false)
        {
            var pageNumber = page ?? 1;

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            var objectsPerPage = 20;
            var startIndex     = (pageNumber - 1) * objectsPerPage;

            SearchParamsProduct SearchParams = new SearchParamsProduct(searchString, categoryId, priority, filled, startIndex, objectsPerPage);

            SearchParams.IsNotUnloading1C = isNotUnloading1C;

            var searchResult = _productRepository.Get(SearchParams);

            ViewBag.CurrentFilter            = searchString;
            ViewBag.CategoryId               = categoryId;
            ViewBag.Filled                   = (Common.TypeFilledProduct)filled;
            ViewBag.Priority                 = priority;
            ViewBag.IsNotUnloading1C         = isNotUnloading1C;
            ViewBag.CategoriesSelectListItem = _categoryRepository.GetAll().Select(item => new SelectListItem
            {
                Text  = item.Title,
                Value = item.Id.ToString()
            });

            var viewModel = SearchResultViewModel <Product> .CreateFromSearchResult(searchResult, i => i, 10);

            return(View(viewModel));
        }