public async Task <IActionResult> Search(string whereSearch, string desired, string sortType, bool?onlySale, bool?onlyAvailability, int?minPrice, int?maxPrice, int?currentPosition, string select) { if (desired != null) { if (desired.Length >= 3) { FilterProductCard filters = new FilterProductCard(onlyAvailability: onlyAvailability, onlySale: onlySale, minPrice: minPrice, maxPrice: maxPrice, selectFromSelectList: select, countVisablePositions: 3, currentPosition: currentPosition, sortType: sortType, desired: desired, whereSearch: whereSearch ); string loadCurrentPosition = _session.GetString("CurrentPositionProduct"); if (loadCurrentPosition != null) { filters.CurrentPosition = Convert.ToInt32(loadCurrentPosition); _session.Remove("CurrentPositionProduct"); } ProductCardAndBasketAndFilters result = await _dataProcessingConveyor.GetFilteringProductCardAndBasketAndFiltersAsync(filters); if (result != null) { return(View(result)); } } else { return(Redirect(Request.Headers["Referer"].ToString())); } } return(NotFound()); }