Esempio n. 1
0
 public SpecificationAttributeOptionController(
     ISpecificationAttributeOptionService _SpecificationAttributeOptionService,
     ISpecificationAttributeService _SpecificationAttributeService
     )
 {
     this.SpecificationAttributeOptionService = _SpecificationAttributeOptionService;
     this.SpecificationAttributeService       = _SpecificationAttributeService;
 }
Esempio n. 2
0
 public CategoryController(
     ICategoryService _CategoryService,
     IProductService _ProductService,
     ISpecificationAttributeOptionService _SpecificationAttributeOptionService,
     ICacheManager _CacheManager
     )
 {
     this.CategoryService = _CategoryService;
     this.ProductService  = _ProductService;
     this.SpecificationAttributeOptionService = _SpecificationAttributeOptionService;
     this.CacheManager = _CacheManager;
 }
Esempio n. 3
0
 public AppController(
     ICategoryService _CategoryService,
     IBannerService _BannerService,
     IManufacturerService _ManufacturerService,
     IProductService _ProductService,
     ISpecificationAttributeOptionService _SpecificationAttributeOptionService,
     ICacheManager _CacheManager
     )
 {
     this.CategoryService     = _CategoryService;
     this.BannerService       = _BannerService;
     this.ManufacturerService = _ManufacturerService;
     this.ProductService      = _ProductService;
     this.SpecificationAttributeOptionService = _SpecificationAttributeOptionService;
     this.CacheManager = _CacheManager;
 }
Esempio n. 4
0
 public ProductController(
     IProductService _ProductService,
     ICacheManager _CacheManager,
     IProductAttributeService _ProductAttributeService,
     IProductAttributeMappingService _ProductAttributeMappingService,
     IProductAttributeValueService _ProductAttributeValueService,
     ISpecificationAttributeService _SpecificationAttributeService,
     ISpecificationAttributeOptionService _SpecificationAttributeOptionService,
     IProductSpecificationAttributeService _ProductSpecificationAttributeService,
     IProductStorageQuantityService _ProductStorageQuantityService,
     IStorageService _StorageService
     )
 {
     this.ProductService                       = _ProductService;
     this.CacheManager                         = _CacheManager;
     this.ProductAttributeService              = _ProductAttributeService;
     this.ProductAttributeMappingService       = _ProductAttributeMappingService;
     this.ProductAttributeValueService         = _ProductAttributeValueService;
     this.SpecificationAttributeService        = _SpecificationAttributeService;
     this.SpecificationAttributeOptionService  = _SpecificationAttributeOptionService;
     this.ProductSpecificationAttributeService = _ProductSpecificationAttributeService;
     this.ProductStorageQuantityService        = _ProductStorageQuantityService;
     this.StorageService                       = _StorageService;
 }
 public CommonService(
     IProductService productService,
     IUrlRecordService urlRecordService,
     IPictureService pictureService,
     ICategoryService categoryService,
     ITaxCategoryService taxCategoryService,
     IManufacturerService manufacturerService,
     IProductManufacturerMappingService productManufacturerMappingService,
     IProductPictureMappingService productPictureMappingService,
     IProductCategoryMappingService productCategoryMappingService,
     ISettingService settingService,
     IProductWarehouseInventoryService biggBrandsProductWarehouseInventoryService,
     IProductSpecificationAttributeMappingService productSpecificationAttributeMappingService,
     ISpecificationAttributeOptionService specificationAttributeOptionService,
     ISpecificationAttributeService specificationAttributeService,
     IAllExcelProductService allExcelProductService,
     IExcelProductRepository excelProductRepository
     )
 {
     _productService                              = productService;
     _urlRecordService                            = urlRecordService;
     _pictureService                              = pictureService;
     _productPictureMappingService                = productPictureMappingService;
     _categoryService                             = categoryService;
     _productCategoryMappingService               = productCategoryMappingService;
     _taxCategoryService                          = taxCategoryService;
     _manufacturerService                         = manufacturerService;
     _productManufacturerMappingService           = productManufacturerMappingService;
     _settingService                              = settingService;
     _biggBrandsProductWarehouseInventoryService  = biggBrandsProductWarehouseInventoryService;
     _productSpecificationAttributeMappingService = productSpecificationAttributeMappingService;
     _specificationAttributeOptionService         = specificationAttributeOptionService;
     _specificationAttributeService               = specificationAttributeService;
     _allExcelProductService                      = allExcelProductService;
     _excelProductRepository                      = excelProductRepository;
 }
 public SpecificationAttributeController(ISpecificationAttributeService specificationAttributeService, ISpecificationAttributeOptionService specificationAttributeOptionService)
 {
     _specificationAttributeService       = specificationAttributeService;
     _specificationAttributeOptionService = specificationAttributeOptionService;
 }
Esempio n. 7
0
        /// <summary>
        /// Prepare model
        /// </summary>
        /// <param name="alreadyFilteredSpecOptionIds">IDs of already filtered specification options</param>
        /// <param name="filterableSpecificationAttributeOptionIds">IDs of filterable specification options</param>
        /// <param name="specificationAttributeService"></param>
        /// <param name="webHelper">Web helper</param>
        /// <param name="workContext">Work context</param>
        /// <param name="cacheManager">Cache manager</param>
        public virtual void PrepareSpecsFilters(IList <int> alreadyFilteredSpecOptionIds,
                                                int[] filterableSpecificationAttributeOptionIds,
                                                ISpecificationAttributeOptionService specificationAttributeOptionService,
                                                ICacheManager cacheManager)
        {
            var optionIds = filterableSpecificationAttributeOptionIds != null
                ? string.Join(",", filterableSpecificationAttributeOptionIds) : string.Empty;

            var cacheKey = string.Format(MBHelper.SPECS_FILTER_MODEL_KEY, optionIds);



            var allOptions = specificationAttributeOptionService.GetAll()
                             .Include(x => x.SpecificationAttribute)
                             .Where(x => filterableSpecificationAttributeOptionIds.Contains(x.Id));


            var allFilters = allOptions.Select(sao =>
                                               new SpecificationAttributeOptionFilter
            {
                SpecificationAttributeId                 = sao.SpecificationAttribute.Id,
                SpecificationAttributeName               = sao.SpecificationAttribute.Name,
                SpecificationAttributeDisplayOrder       = sao.SpecificationAttribute.DisplayOrder,
                SpecificationAttributeOptionId           = sao.Id,
                SpecificationAttributeOptionName         = sao.Name,
                SpecificationAttributeOptionDisplayOrder = sao.DisplayOrder
            }).ToList();

            if (!allFilters.Any())
            {
                return;
            }



            //sort loaded options
            allFilters = allFilters.OrderBy(saof => saof.SpecificationAttributeDisplayOrder)
                         .ThenBy(saof => saof.SpecificationAttributeName)
                         .ThenBy(saof => saof.SpecificationAttributeOptionDisplayOrder)
                         .ThenBy(saof => saof.SpecificationAttributeOptionName).ToList();


            foreach (var filter in allFilters)
            {
                if (!this.FilteredItems.Any(x => x.SpecificationAttributeId == filter.SpecificationAttributeId))
                {
                    var specFilter = new SpecificationFilter()
                    {
                        SpecificationAttributeId   = filter.SpecificationAttributeId,
                        SpecificationAttributeName = filter.SpecificationAttributeName,
                        DisplayOrder = filter.SpecificationAttributeDisplayOrder
                    };
                    foreach (var filterOption in allFilters.Where(x => x.SpecificationAttributeId == filter.SpecificationAttributeId))
                    {
                        if (!specFilter.SpecificationOptions.Any(x => x.SpecificationAttributeOptionId == filterOption.SpecificationAttributeOptionId))
                        {
                            specFilter.SpecificationOptions.Add(new SpecificationOptionItem()
                            {
                                SpecificationAttributeOptionId = filterOption.SpecificationAttributeOptionId,
                                DisplayOrder = filterOption.SpecificationAttributeOptionDisplayOrder,
                                Checked      = alreadyFilteredSpecOptionIds.Contains(filterOption.SpecificationAttributeOptionId),
                                SpecificationAttributeOptionName = filterOption.SpecificationAttributeOptionName
                            });
                        }
                    }
                    this.FilteredItems.Add(specFilter);
                }
            }
        }