public static void Main() { var context = new FactoryDbContext(); context.Database.CreateIfNotExists(); var mongoData = GetDataFromMongoDb(Constants.DataName, Constants.CollectionName); var reports = GetReportsDataFromExcel(Constants.ZipFilePath, Constants.UnzipedFilesPath); var productData = ProductMigrator.Instance.GetProductData(mongoData, context); PopulateSQLDbWithProducts(productData, context); var reportsData = ReportMigrator.Instance.GetReports(reports); PopulateSqlDbWithReports(reportsData, context); ImportXmlToMongoDb(); ImportXMLToSqlServer(); GenerateXMLReport(context, Constants.XmlReportsPath); GeneratePDFReport(context, Constants.PdfReportsPath); GenerateJSONReports(context, Constants.JsonReportsPath); var mySqlContext = new FactoryMySqlDbContext(); mySqlContext.UpdateDatabase(); PopulateMySQLDataBase(context, mySqlContext); // var expensesPerModel = GetDataFromSQLite(); // var incomesPerModel = GetIncomePerModel(mySqlContext); // CreateExcelYearlyFinancialResult(expensesPerModel, incomesPerModel); }
private static IDictionary <string, decimal> GetIncomePerModel(FactoryMySqlDbContext mySqlContext) { var dict = new Dictionary <string, decimal>(); mySqlContext .ProductsReports .ToList() .ForEach(r => { dict.Add(r.Model, r.TotalIncome); }); return(dict); }
private static void PopulateMySQLDataBase(FactoryDbContext sqlContext, FactoryMySqlDbContext mySqlContext) { Console.WriteLine("Populating MySql Database..."); var spaceships = sqlContext.Spaceships.ToList(); var sales = sqlContext.Sales.ToList(); var reports = new List <ProductReport>(); var jsonHandler = new JsonReportsHandler(spaceships, sales, reports); var jsonData = jsonHandler.GetReportsInJsonFormat(); if (mySqlContext.ProductsReports.Count() == 0) { foreach (var json in jsonData) { var report = JsonConvert.DeserializeObject <MySqlReport>(json); mySqlContext.Add(report); } mySqlContext.SaveChanges(); } }