Example #1
0
        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());
        }