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); } }
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()); }