public static void Main()
        {
            var db = new StoreContext();
            var databaseContext = new ComputersContextMongoDb();
            var mongoDb = new ComputerDataMongoDb(databaseContext);
            var dataForMongoDb = new List<Manufacturer>();

            var xmlManufacurersToImportWithGeneric = XmlDataImporterGeneric.ImportXmlData<Manufacturer>(@"..\..\LaptopManufacturers.xml");  // TODO make table with Unique values + remove ID?

            Console.WriteLine("Adding Manufacturers....");
            foreach (var manufacturer in xmlManufacurersToImportWithGeneric)
            {
                db.Manufacturers.Add(manufacturer);
                Console.WriteLine("{0} added successfully", manufacturer.Name);
            }

            var xmlManufacurersToImportWithSimple = XmlDataImporterSimple.ImportXmlData(@"..\..\LaptopManufacturers.xml");
            foreach (var manufacturer in xmlManufacurersToImportWithSimple)
            {
                db.Manufacturers.Add(manufacturer);
                dataForMongoDb.Add(manufacturer);

                Console.WriteLine("{0} added successfully", manufacturer.Name);
            }

            db.SaveChanges();
            Console.WriteLine("XML import to SQL complete!");

            mongoDb.Save("manufacturers", dataForMongoDb);
            Console.WriteLine("XML import to MongoDb complete!");

            Console.WriteLine();
            Console.WriteLine("XML Exporting from database.....");
            Console.WriteLine();
            XmlFileExporter.GenerateXmlReport(ExportDirectory, db);
            Console.WriteLine("Report successfully exported to {0}", ExportDirectory);
        }
        public static void Main()
        {
            var seedGenerator = new SeedGenerator();
            var seeder = new Seeder();
            seedGenerator.Generate();
            var zipPath = "sales-reports.zip";
            seeder.SendToZip("Sales/", zipPath);
            seeder.Unzip(zipPath, "Export/");

            var root = new DirectoryInfo(@"Export\sales-reports");
            var db = new StoreContext();
            var towns = new Dictionary<string, Town>();

            string pattern = "yyyy MMM dd";
            foreach (var directory in root.GetDirectories())
            {
                DateTime parsedDate;
                DateTime.TryParseExact(directory.Name, pattern, null, DateTimeStyles.None, out parsedDate);

                foreach (var file in directory.GetFiles())
                {
                    var townName = Path.GetFileNameWithoutExtension(file.FullName);
                    if (!towns.ContainsKey(townName))
                    {
                        if (db.Towns.Any(x => x.Name == townName))
                        {
                            towns.Add(townName, db.Towns.First(x => x.Name == townName));
                        }
                        else
                        {
                            towns.Add(townName, new Town { Name = townName });
                        }
                    }

                    using (Spreadsheet document = new Spreadsheet())
                    {
                        var row = 1;

                        document.LoadFromFile(file.FullName);
                        Worksheet worksheet = document.Workbook.Worksheets.ByName("SalesReport");

                        while (!worksheet.Cell(row, 0).Merged)
                        {
                            db.Sales.Add(new Sales
                                             {
                                                 Date = parsedDate,
                                                 Town = towns[townName],
                                                 LaptopId = worksheet.Cell(row, 0).ValueAsInteger,
                                                 Quantity = worksheet.Cell(row, 2).ValueAsInteger
                                             });

                            ++row;
                        }
                    }
                }
            }

            db.SaveChanges();

            // document.LoadFromFile(@"Export\sales-reports\2002 Feb 27\Bourgas.xls");
            // Worksheet worksheet = document.Workbook.Worksheets.ByName("SalesReport");
            // Console.WriteLine(worksheet.Cell(4, 0).Merged);
        }