private static void WriteProductReportsToSQLite(List <ProductReport> reports) { using (ProductTaxesDbContext context = new ProductTaxesDbContext()) { foreach (var report in reports) { string query = "INSERT INTO ProductReports VALUES({0}, {1}, {2}, {3}, {4})"; context.Database.ExecuteSqlCommand(query, report.ProductId, report.ProductName, report.VendorName, report.QuantitySold, report.TotalIncome); } } }
public static List <ProductTotalReport> GetTotalReportsFromMongoAndLite() { var productReports = MongoDbProvider.db.LoadData <ProductReport>().ToList(); WriteProductReportsToSQLite(productReports); ProductTaxesDbContext taxesContext = new ProductTaxesDbContext(); var taxes = taxesContext.ProductTaxes.ToList(); var vendors = MongoDbProvider.db.LoadData <VendorExpenseMongoDB>().ToList(); var totalReports = (from p in productReports join t in taxes on p.ProductName equals t.ProductName join v in vendors on p.VendorName equals v.VendorName select new ProductTotalReport() { Expenses = v.Expenses.Sum(e => e.Sum), Incomes = p.TotalIncome, Taxes = (double)t.Tax, Vendor = p.VendorName }).Distinct(new ReportEqualityComparer()).ToList(); return(totalReports); }