public void LoadReportsInMySql(DataReportGenerator dataGenerator)
        {
            var context = new MySqlConnection(MySQLConnectionString);

            context.Open();

            this.CreateDatabase(context);
            this.CreateTable(context);

            var reports = dataGenerator.FillWithData(this.dbContext);

            foreach (var report in reports)
            {
                string dbInsert =
                    @"USE ComputersFactory;
                    INSERT INTO reports 
                    (ManufacturerName, MemoryManufacturer, MemoryCapacity, ProcessorModel, ProcessorMhz, VideoCardModel, VideoCardMemory)
                    VALUES (" + "'" + report.ManufacturerName + "'" + "," +
                    "'" + report.MemoryManufacturer + "'" + "," +
                    "'" + report.MemoryCapacity + "'" + "," +
                    "'" + report.ProcessorModel + "'" + "," +
                    report.ProcessorMhz + "," +
                    "'" + report.VideoCardModel + "'" + "," +
                    "'" + report.VideoCardMemory + "'" + ")";

                this.InsertData(dbInsert, context);
            }

            context.Close();
        }
        private void CreateJSON_and_LoadDataToMSSQL(object sender, RoutedEventArgs e)
        {
            var mySql         = new MySQLHandler(this.dbContext);
            var dataGenerator = new DataReportGenerator();

            mySql.LoadReportsInMySql(dataGenerator);

            var exporter = new JsonExporter(this.dbContext);

            exporter.GenerateReport("../../../Json-Reports");
        }
        public static void Task4()
        {
            //Button - Create JSON Report and Load data to MySQL
            var context       = new ComputersFactoryContext();
            var mySql         = new MySQLHandler(context);
            var dataGenerator = new DataReportGenerator();

            mySql.LoadReportsInMySql(dataGenerator);

            var exporter = new JsonExporter(context);

            exporter.GenerateReport("../../../Json-Reports");
        }