Exemple #1
0
        private void Generate()
        {
            try
            {
                Application.Current.Dispatcher.Invoke(() => Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait);

                AppendStatusText($"--- Début de la génération à {DateTime.Now} ---------");
                AppendStatusText(_entity.ToString());

                IImportFileGenerator generator = null;
                switch (_entity.Format)
                {
                case "WooCommerce":
                    generator = new WooCommerceImportFileGenerator(new StoreConverter());
                    break;

                case "Openstore (v4)":
                    generator = new ImportV4FileGenerator(new OpenStoreConverter());
                    break;
                }

                var importManager = new ImportManager(new StoreParser(new CategoriesParser(), new ProductsParser())
//                    new ImportV4FileGenerator(new OpenStoreConverter())
//                    , new WooCommerceImportFileGenerator(new StoreConverter())
                                                      , generator
                                                      , new ZipFileGenerator());

                importManager.GenerateImportFiles(_entity.SrcPath
                                                  , CultureInfo.GetCultureInfo(_entity.Culture)
                                                  , _entity.ImageBasePath           // imageBasePath
                                                  , _entity.ImageBaseUrl            // imageBaseUrl
                                                  , decimal.Parse(_entity.UnitCost) // unitCost
                                                  , _entity.GenerateZip
                                                  );


                AppendStatusText($"Fichiers d'import et Zip créés dans {_entity.SrcPath}");
                AppendStatusText($"--- Fin de la génération à {DateTime.Now} ---------");
            }
            catch (Exception ex)
            {
                _log.Fatal(ex.Message, ex);
                AppendStatusText(@"Une erreur s'est produite lors de la génération du fichier :");
                AppendStatusText(ex.Message + "\n\r" + ex.StackTrace);
            }
            finally
            {
                Application.Current.Dispatcher.Invoke(() => Mouse.OverrideCursor = null);
            }
        }
Exemple #2
0
        public override void TestSetup()
        {
            base.TestSetup();

            //prepare the store
            _rootCategory = new Category {
                Id = 100, Name = "root"
            };
            _childCategory = new Category {
                Id = 101, Name = "child", Parent = _rootCategory
            };
            _categories = new List <Category>
            {
                _rootCategory,
                _childCategory,
            };

            _store = new Store
            {
                Products = new List <Product>
                {
                    new Product {
                        Id = 1, ImageFilename = "1.jpg", Name = "prod1", Category = _rootCategory
                    },
                    new Product {
                        Id = 2, ImageFilename = "2.jpg", Name = "prod2", Category = _childCategory
                    },
                },
                Categories      = _categories,
                Culture         = new CultureInfo("fr-BE"),
                ImageBasePath   = "c:\\temp",
                ImageBaseUrl    = "/url/",
                ProductUnitCost = 10,
            };


            // mock the converter
            _converter = new Mock <IConverter>();
            _converter.Setup(converter => converter.ToImagePath(It.IsAny <Product>(), It.IsAny <Store>()))
            .Returns(@"c:\temp\image.jpg");
            _converter.Setup(converter => converter.ToImageBaseUrl(It.IsAny <Product>(), It.IsAny <string>()))
            .Returns("/url/image.jpg");
            _converter.Setup(converter => converter.CreateCategoryElements(It.IsAny <Category>(), It.IsAny <Store>()))
            .Returns(() => new List <NBrightInfo> {
                CreateNBrightInfo("CATEGORY"), CreateNBrightInfo("CATEGORYLANG")
            });
            _converter.Setup(converter => converter.CreateProductElements(It.IsAny <Product>(), It.IsAny <Store>()))
            .Returns(() => new List <NBrightInfo> {
                CreateNBrightInfo("PRD"), CreateNBrightInfo("PRDLANG"), CreateNBrightInfo("CATXREF")
            });

            TextWriter writer = new StringWriter();

            // generate using the generator
            _generator = new ImportV4FileGenerator(_converter.Object);
            _generator.Generate(writer, _store);

            // load the actual result
            _actual = XDocument.Load(new StringReader(writer.ToString()));

            Assert.IsNotNull(_actual);
            Logger.Debug(_actual.ToString());
        }