Пример #1
0
        public ProductAppService(ProductDomainService productDomainService
                                 , ShippingDomainServie shippingDomainServie
                                 , VendorDomainService vendorDomainService
                                 , SettingDomainService settingDomainService
                                 , ProductTemplateDomainService productTemplateService
                                 , PictureDomainService pictureDomainService
                                 , CurrencyDomainService currencyDomainService
                                 , TaxDomainService taxDomainService
                                 , PriceCalculationDomainService priceCalculationDomainService
                                 , IPriceFormatter priceFormatter
                                 , IProductAttributeParser productAttributeParser
                                 , ProductAttributeDomainService productAttributeDomainService
                                 , DownloadDomainService downloadDomainService
                                 , ManufacturerDomainService manufacturerDomainService
                                 , SpecificationAttributeDomainService specificationAttributeDomainService

                                 , IVendorTest vendorTest
                                 , IStoreContext storeContext
                                 , ICacheManager cacheManager)
        {
            _productDomainService          = productDomainService;
            _shippingDomainServie          = shippingDomainServie;
            _vendorDomainService           = vendorDomainService;
            _settingDomainService          = settingDomainService;
            _productTemplateService        = productTemplateService;
            _pictureDomainService          = pictureDomainService;
            _currencyDomainService         = currencyDomainService;
            _taxDomainService              = taxDomainService;
            _priceCalculationDomainService = priceCalculationDomainService;
            _priceFormatter                      = priceFormatter;
            _productAttributeParser              = productAttributeParser;
            _productAttributeDomainService       = productAttributeDomainService;
            _downloadDomainService               = downloadDomainService;
            _manufacturerDomainService           = manufacturerDomainService;
            _specificationAttributeDomainService = specificationAttributeDomainService;

            _vendorTest        = vendorTest;
            _storeContext      = storeContext;
            this._cacheManager = cacheManager;

            var a = 5;
        }
Пример #2
0
        public static IList <ProductSpecificationDto> PrepareProductSpecificationModel(this ApplicationService appService,
                                                                                       //IWorkContext workContext,
                                                                                       SpecificationAttributeDomainService specificationAttributeService,
                                                                                       ICacheManager cacheManager,
                                                                                       Product product)
        {
            if (product == null)
            {
                throw new ArgumentNullException("product");
            }

            //string cacheKey = string.Format(ModelCacheEventConsumer.PRODUCT_SPECS_MODEL_KEY, product.Id, workContext.WorkingLanguage.Id);
            //return cacheManager.Get(cacheKey, () =>
            return(specificationAttributeService.GetProductSpecificationAttributes(product.Id, 0, null, true)
                   .Select(psa =>
            {
                var m = new ProductSpecificationDto()
                {
                    SpecificationAttributeId = psa.SpecificationAttributeOption.SpecificationAttributeId,
                    SpecificationAttributeName =
                        psa.SpecificationAttributeOption.SpecificationAttribute.Name
                };

                //switch (psa.AttributeType)
                //{
                //    case SpecificationAttributeType.Option:
                //        m.ValueRaw =  HttpUtility.HtmlEncode(psa.SpecificationAttributeOption.GetLocalized(x => x.Name));
                //        break;
                //    case SpecificationAttributeType.CustomText:
                //        m.ValueRaw = HttpUtility.HtmlEncode(psa.CustomValue);
                //        break;
                //    case SpecificationAttributeType.CustomHtmlText:
                //        m.ValueRaw = psa.CustomValue;
                //        break;
                //    case SpecificationAttributeType.Hyperlink:
                //        m.ValueRaw = string.Format("<a href='{0}' target='_blank'>{0}</a>", psa.CustomValue);
                //        break;
                //    default:
                //        break;
                //}
                return m;
            }).ToList());
            //);
        }