public static void UpdateProductVariant(this ProductVariant productVariant, CsvFileModel record)
 {
     productVariant.SetArtikelCode(record.ArtikelCode);
     productVariant.SetColorCode(record.ColorCode);
     productVariant.SetSize(record.Size);
     productVariant.SetColor(record.Color);
     productVariant.SetModifiedDate();
 }
        public static string ToProductKey(this CsvFileModel record)
        {
            var productKey = record.Key;

            if (record.Key.Contains(Separator))
            {
                var productValues = record.Key.Split(Separator);
                productKey = productValues[0];
            }

            return(productKey);
        }
        public static Domain.AggregatesModel.ProductAggregate.Product ToProduct(this CsvFileModel record)
        {
            var product = new Domain.AggregatesModel.ProductAggregate.Product(record.ToProductKey(),
                                                                              record.Description,
                                                                              record.Price,
                                                                              record.DiscountPrice,
                                                                              record.Q1);

            product.SetCreatedDate();
            product.SetProductVariant(record.ToProductVariant());

            return(product);
        }
        public static ProductVariant ToProductVariant(this CsvFileModel record)
        {
            var productVariant = new ProductVariant(
                record.Key,
                record.ArtikelCode,
                record.ColorCode,
                record.Size,
                record.Color,
                record.DeliveredIn);

            productVariant.SetCreatedDate();
            return(productVariant);
        }
Example #5
0
        private async Task CreateOrUpdateProduct(CsvFileModel record)
        {
            var product = await _productRepository.GetByKeyAsync(record.ToProductKey());

            if (product == null)
            {
                _productRepository.Add(record.ToProduct());
            }
            else
            {
                product.UpdateProduct(record);
                product.SetProductVariant(CreateOrUpdateProductVariant(product, record));

                _productRepository.Update(product);
            }

            await _productRepository.UnitOfWork.SaveEntitiesAsync();
        }
 public static void UpdateProduct(this Domain.AggregatesModel.ProductAggregate.Product product, CsvFileModel record)
 {
     product.SetDescription(record.Description);
     product.SetPrice(record.Price);
     product.SetDiscountPrice(record.DiscountPrice);
     product.SetCategory(record.Q1);
     product.SetModifiedDate();
 }
Example #7
0
        private static ProductVariant CreateOrUpdateProductVariant(Domain.AggregatesModel.ProductAggregate.Product product, CsvFileModel record)
        {
            var productVariant = product.ProductVariant.FirstOrDefault(x => x.Key == record.Key);

            if (productVariant == null)
            {
                productVariant = record.ToProductVariant();
            }
            else
            {
                productVariant.UpdateProductVariant(record);
            }

            return(productVariant);
        }