public OrderAppService(IOrderManager orderAppService,
                        IProductManager productManager,
                        IProductAttributeManager productAttributeManager,
                        IStoreManager storeManager,
                        ILocalizationManager localizationManager,
                        IPictureManager pictureManager,
                        IProductAttributeParser productAttributeParser,
                        IStateManager stateManager,
                        IProductAttributeFormatter productAttributeFormatter,
                        IOrderExcelExporter orderExcelExporter,
                        ICacheManager cacheManager,
                        IAppNotifier appNotifier)
 {
     this._orderManager              = orderAppService;
     this._storeManager              = storeManager;
     this._localizationManager       = localizationManager;
     this._cacheManager              = cacheManager;
     this._pictureManager            = pictureManager;
     this._productAttributeParser    = productAttributeParser;
     this._stateManager              = stateManager;
     this._productAttributeFormatter = productAttributeFormatter;
     this._productManager            = productManager;
     this._productAttributeManager   = productAttributeManager;
     this._orderExcelExporter        = orderExcelExporter;
     this._appNotifier = appNotifier;
 }
Пример #2
0
 public OrderImportor(IOrderManager orderManager,
                      IStoreManager storeManager,
                      IProductManager productManager,
                      IShipmentManager shipmentManager,
                      IProductAttributeFormatter productAttributeFormatter,
                      IProductAttributeManager productAttributeManager,
                      ILogisticsManager logisticsManager,
                      ILogger logger,
                      IPriceCalculator priceCalculator,
                      IStateManager stateManager,
                      IAddressManager addressManager,
                      IStateCache stateCache)
 {
     this._orderManager              = orderManager;
     this._storeManager              = storeManager;
     this._productManager            = productManager;
     this._shipmentManager           = shipmentManager;
     this._productAttributeFormatter = productAttributeFormatter;
     this._productAttributeManager   = productAttributeManager;
     this._logisticsManager          = logisticsManager;
     this._logger          = logger;
     this._stateManager    = stateManager;
     this._addressManager  = addressManager;
     this._stateCache      = stateCache;
     this._priceCalculator = priceCalculator;
 }
Пример #3
0
        private static ProductAttributeValue FindAttributValue(Product product, ProductAttributeValueDto value,
                                                               IProductAttributeManager productAttributeManager, bool createOrUpdateProduct = false)
        {
            ProductAttributeValue attributeValue = null;

            foreach (var attribute in product.Attributes)
            {
                productAttributeManager.ProductAttributeMappingRepository.EnsureCollectionLoaded(attribute, t => t.Values);

                if (createOrUpdateProduct)
                {
                    attributeValue = attribute.Values.FirstOrDefault(v => v.PredefinedProductAttributeValueId == value.Id);
                }
                else
                {
                    attributeValue = attribute.Values.FirstOrDefault(v => v.Id == value.Id);
                }

                if (attributeValue != null)
                {
                    return(attributeValue);
                }
            }
            return(attributeValue);
        }
Пример #4
0
 public ProductAttributeParser(IProductManager productManager,
                               ILogger logger,
                               IProductAttributeManager productAttributeManager)
 {
     this._productManager          = productManager;
     this._logger                  = logger;
     this._productAttributeManager = productAttributeManager;
 }
Пример #5
0
 public ProductAttributeFormatter(IProductAttributeManager productAttributeManager,
     IProductAttributeParser productAttributeParser,
     ILocalizationManager localizationService)
 {
     this._productAttributeManager = productAttributeManager;
     this._productAttributeParser = productAttributeParser;
     this._localizationService = localizationService;
 }
Пример #6
0
 public ProductAppService(IProductManager productManager,
                          ICategoryManager categoryManager,
                          ICacheManager cacheManager,
                          IPictureManager pictureManager,
                          IProductAttributeManager productAttributeManager)
 {
     this._productManager          = productManager;
     this._categoryManager         = categoryManager;
     this._cacheManager            = cacheManager;
     this._pictureManager          = pictureManager;
     this._productAttributeManager = productAttributeManager;
 }
Пример #7
0
        public static List <JsonProductAttribute> GetAttributesJson(this List <ProductAttributeDto> attributeMappings,
                                                                    Product product, IProductAttributeManager productAttributeManager, bool createOrUpdateProduct = false)
        {
            var jsonAttributes = new List <JsonProductAttribute>();

            foreach (var attributeDto in attributeMappings)
            {
                var jsonAttributeItem = new JsonProductAttribute()
                {
                    AttributeId = attributeDto.Id
                };

                foreach (var value in attributeDto.Values)
                {
                    long attributeValueId = 0;

                    if (createOrUpdateProduct)
                    {
                        var attributeValue = FindAttributValue(product, value, productAttributeManager, createOrUpdateProduct);
                        attributeValueId = attributeValue.Id;
                    }
                    else
                    {
                        attributeValueId = value.Id;
                    }

                    jsonAttributeItem.AttributeValues.Add(new JsonProductAttributeValue()
                    {
                        AttributeValueId = attributeValueId,
                    });
                }

                jsonAttributes.Add(jsonAttributeItem);
            }

            return(jsonAttributes);
        }
Пример #8
0
 public OrderManager(IRepository <Order, long> OrderRepository,
                     IRepository <OrderItem, long> OrderItemRepository,
                     IStoreManager storeManager,
                     IProductManager productManager,
                     IProductAttributeFormatter productAttributeFormatter,
                     IProductAttributeManager productAttributeManager,
                     ILogisticsManager logisticsManager,
                     ILogger logger,
                     IStateManager stateManager,
                     IAddressManager addressManager,
                     IStateCache stateCache)
 {
     this.OrderRepository            = OrderRepository;
     this.OrderItemRepository        = OrderItemRepository;
     this._storeManager              = storeManager;
     this._productManager            = productManager;
     this._productAttributeFormatter = productAttributeFormatter;
     this._productAttributeManager   = productAttributeManager;
     this._logisticsManager          = logisticsManager;
     this._logger         = logger;
     this._stateManager   = stateManager;
     this._addressManager = addressManager;
     this._stateCache     = stateCache;
 }
Пример #9
0
 public PriceCalculator(IProductAttributeManager productAttributeManager)
 {
     this._productAttributeManager = productAttributeManager;
 }
Пример #10
0
 public ProductAttributeAppService(IProductAttributeManager productAttributeManager,
                                   ICacheManager cacheManager)
 {
     this._cacheManager            = cacheManager;
     this._productAttributeManager = productAttributeManager;
 }