public void ExtractCars(ICollection <Car> cars, ICarsFactoryDbContext ctx) { try { using (ctx = new CarsFactoryDbContext()) { foreach (var car in cars) { if (!ctx.Cars.Any(c => c.Id == car.Id)) { ctx.Cars.Add(car); } } ctx.SaveChanges(); } } catch (DbUpdateException ex) { Console.WriteLine(ex.Message); } }
public void ExtractDealers(ICollection <Dealer> dealers, ICarsFactoryDbContext ctx) { try { using (ctx = new CarsFactoryDbContext()) { foreach (var dealer in dealers) { if (!ctx.Dealers.Any(m => m.Id == dealer.Id)) { ctx.Dealers.Add(dealer); } } ctx.SaveChanges(); } } catch (DbUpdateException ex) { Console.WriteLine(ex.Message); } }
public void ExtractModels(ICollection <Model> models, ICarsFactoryDbContext ctx) { try { using (ctx = new CarsFactoryDbContext()) { foreach (var model in models) { if (!ctx.Models.Any(m => m.Id == model.Id)) { ctx.Models.Add(model); } } ctx.SaveChanges(); } } catch (DbUpdateException ex) { Console.WriteLine(ex.Message); } }
public void ExtractEngines(ICollection <Engine> engines, ICarsFactoryDbContext ctx) { try { using (ctx = new CarsFactoryDbContext()) { foreach (var engine in engines) { if (!ctx.Engines.Any(e => e.Id == engine.Id)) { ctx.Engines.Add(engine); } } ctx.SaveChanges(); } } catch (DbUpdateException ex) { Console.WriteLine(ex.Message); } }
public void SaveAllDataFromZip(IMsSqlRepository repo, ICarsFactoryDbContext ctx, string filePath) { var zip = ZipFile.Open(filePath, ZipArchiveMode.Read); using (zip) { var entries = ExcelFromZip.GetFileEntries(zip); var currentTownEntries = ExcelFromZip.GetCurrentEntries(entries, "Towns.xls"); var currentPlatformEntries = ExcelFromZip.GetCurrentEntries(entries, "Platforms.xls"); var currentEngineEntries = ExcelFromZip.GetCurrentEntries(entries, "Engines.xls"); var currentModelEntries = ExcelFromZip.GetCurrentEntries(entries, "Models.xls"); var currentCarEntries = ExcelFromZip.GetCurrentEntries(entries, "Cars.xls"); var towns = ExcelFromZip.GetAllTowns(new List <Town>(), currentTownEntries); var platforms = ExcelFromZip.GetAllPlatforms(new List <Platform>(), currentPlatformEntries); var engines = ExcelFromZip.GetAllEngines(new List <Engine>(), currentEngineEntries); var models = ExcelFromZip.GetAllModels(new List <Model>(), currentModelEntries); var cars = ExcelFromZip.GetAllCars(new List <Car>(), currentCarEntries); repo.ExtractTowns(towns, ctx); repo.ExtractPlatforms(platforms, ctx); repo.ExtractEngines(engines, ctx); repo.ExtractModels(models, ctx); repo.ExtractCars(cars, ctx); } }
public async Task SaveAllMongoData(IMongoDbRepository repo, IMsSqlRepository mssqlRepo, ICarsFactoryDbContext ctx) { var towns = (await repo.GetTownsData()).ToList(); var platforms = (await repo.GetPlatformsData()).ToList(); var orders = (await repo.GetOrdersData()).ToList(); var models = (await repo.GetModelsData()).ToList(); var manufacturers = (await repo.GetManufacturersData()).ToList(); var engines = (await repo.GetEnginesData()).ToList(); var dealers = (await repo.GetDealersData()).ToList(); var cars = (await repo.GetCarsData()).ToList(); using (ctx = new CarsFactoryDbContext()) { mssqlRepo.ExtractTowns(towns, ctx); mssqlRepo.ExtractPlatforms(platforms, ctx); mssqlRepo.ExtractOrders(orders, ctx); mssqlRepo.ExtractManufacturers(manufacturers, ctx); mssqlRepo.ExtractEngines(engines, ctx); mssqlRepo.ExtractModels(models, ctx); mssqlRepo.ExtractCars(cars, ctx); mssqlRepo.ExtractDealers(dealers, ctx); await ctx.SaveChangesAsync(); } Console.WriteLine(cars.Count); Console.WriteLine(models.Count); Console.WriteLine(manufacturers.Count); Console.WriteLine(orders.Count); Console.WriteLine(platforms.Count); Console.WriteLine(engines.Count); Console.WriteLine(dealers.Count); Console.WriteLine(towns.Count); }