Пример #1
0
        private static void MapImages(SellableItem sellableItem, CsvImportLine csvImportLine)
        {
            var imagesComponent = sellableItem.GetComponent <ImagesComponent>();

            foreach (var image in csvImportLine.Images)
            {
                if (imagesComponent.Images.All(x => x != image))
                {
                    imagesComponent.Images.Add(image);
                }
            }
        }
Пример #2
0
        private static CreateSellableItemArgument MapToArg(CsvImportLine csvImportLine)
        {
            var sellableItem = new CreateSellableItemArgument(csvImportLine.ProductId, csvImportLine.ProductName, csvImportLine.DisplayName, csvImportLine.Description)
            {
                Brand        = csvImportLine.Brand,
                Manufacturer = csvImportLine.Manufacturer,
                TypeOfGood   = csvImportLine.TypeOfGood
            };

            sellableItem.Tags.InsertRange(0, csvImportLine.Tags.ToList());
            return(sellableItem);
        }
Пример #3
0
        private static void MapPricingEntities(SellableItem sellableItem, CsvImportLine csvImportLine)
        {
            var pricingPolicy = sellableItem.GetPolicy <ListPricingPolicy>();

            foreach (var listPrice in csvImportLine.ListPrices)
            {
                var moneyEntity = pricingPolicy.Prices.FirstOrDefault(x => x.CurrencyCode == listPrice.CurrencyCode);
                if (moneyEntity != null)
                {
                    moneyEntity.Amount = listPrice.Amount;
                }
                else
                {
                    var money = new Money(listPrice.CurrencyCode, listPrice.Amount);
                    (pricingPolicy.Prices as List <Money>)?.Add(money);
                }
            }
        }
Пример #4
0
 private static SellableItem MapToEntity(SellableItem sellableItem, CsvImportLine csvImportLine)
 {
     MapPricingEntities(sellableItem, csvImportLine);
     MapImages(sellableItem, csvImportLine);
     return(sellableItem);
 }