public static void ReadMySQL(SalesContext SqlDatabase, SupermarketModel mySqlTest) { Database.SetInitializer(new MigrateDatabaseToLatestVersion<SalesContext, Configuration>()); foreach (var vendor in mySqlTest.Vendors) { if (!SqlDatabase.Vendors.Any(x => x.Name == vendor.VendorName)) { SqlDatabase.Vendors.Add(new Models.MSSQL.Vendor { Name = vendor.VendorName, }); } } SqlDatabase.SaveChanges(); foreach (var product in mySqlTest.Products.Include("Vendors").Include("Measures")) { SqlDatabase.Products.Add(new Sales.Models.MSSQL.Product { Name = product.ProductName, Vendor = SqlDatabase.Vendors.Where(x => x.Name == product.Vendor.VendorName).First(), BasePrice = (decimal)product.BasePrice, Measure = (Models.MSSQL.Measure)Enum.Parse(typeof(Models.MSSQL.Measure), product.Measure.MeasureName) }); } SqlDatabase.SaveChanges(); }
static void Main() { Debug.Listeners.Add(new ConsoleTraceListener()); Database.SetInitializer(new MigrateDatabaseToLatestVersion<SalesContext, Configuration>()); var sqlContext = new SalesContext(); var mySqlContext = new SupermarketModel(); using (sqlContext) { //Problem #1 – Load Excel Reports from ZIP File MySqlToSql.ReadMySQL(sqlContext, mySqlContext); ParseExcelReport.ReadExcel(sqlContext, mySqlContext); //Problem #2 – Generate PDF Aggregated Sales Reports Generator.GetPdfReport(new SalesContext()); //Problem #3 – Generate XML Sales Report by Vendors SalesReportsByVendors.Generate(); //Problem #4 – Product Reports ProductReports.Generate(); //Problem #5 – Load Vendor Expenses from XML SaveExpenses.Save(); //Problem #6 – Vendors Total Report VendorsTotalReport.Generate(); } }
public static void ReadExcel(SalesContext db, SupermarketModel sql) { var results = new ReadExcelReports("../../../Data/Sample-Sales-Reports.zip", "../../../Temp/ExcelReports/").Extract().Read(); foreach (var result in results) { foreach (var row in result.Items) { var productName = sql.Products.Where(x => x.ID == row.Id).First().ProductName; var product = db.Products.Where(x => x.Name == productName).First(); var supermarket = db.Supermarkets.Where(x => x.Name == result.Name).FirstOrDefault(); if (supermarket == null) { supermarket = new Supermarket(); supermarket.Name = result.Name; } db.Records.Add(new Models.MSSQL.Record { Quantity = row.Quantity, UnitPrice = row.UnitPrice, Product = product, Date = result.Date, Supermarket = supermarket }); db.SaveChanges(); } } db.SaveChanges(); Directory.Delete("../../../Temp/", true); }
public static void PassToSql( IEnumerable<Sales.Models.Excel.SupermarketData> results, SalesContext db, SupermarketModel sql) { using (db) { foreach (var result in results) { foreach (var row in result.Items) { var productName = sql.Products.Where(x => x.ID == row.Id).First().ProductName; var product = db.Products.Where(x => x.Name == productName).First(); var supermarket = db.Supermarkets.Where(x => x.Name == result.Name).FirstOrDefault(); if (supermarket == null) { supermarket = new Supermarket(); supermarket.Name = result.Name; } db.Records.Add(new Models.MSSQL.Record { Quantity = row.Quantity, UnitPrice = row.UnitPrice, Product = product, Date = result.Date, Supermarket = supermarket }); db.SaveChanges(); } } db.SaveChanges(); } }