private void InsertAllLocations(Dictionary <string, CourtDistrict> districtsSaved, IEnumerable <IChangeableData> districtsRaw) { KeepTracking(Trace_SaveLocations); List <CourtLocation> locationsToSave = SetParentIdToLocations(districtsSaved, districtsRaw); using (CourtDBContext dbContext = new CourtDBContext()) dbContext.BulkInsert(locationsToSave); }
private void InsertAllRegions(IEnumerable <IChangeableData> regionsRaw) { KeepTracking(Trace_SaveRegions); Dictionary <string, CourtRegion> regionDictionary = null; CourtDBContext dbContext = new CourtDBContext(); using (dbContext) { dbContext.BulkInsert(regionsRaw.Cast <CourtRegion>()); regionDictionary = dbContext.CourtRegions.ToDictionary(x => x.Name); } InsertAllDistricts(regionDictionary, regionsRaw); }
private void InsertAllDistricts(Dictionary <string, CourtRegion> regionsSaved, IEnumerable <IChangeableData> regionsRaw) { KeepTracking(Trace_SaveDistricts); List <CourtDistrict> districtsWithParentId = SetParentIdToDistricts(regionsSaved, regionsRaw); Dictionary <string, CourtDistrict> savedDistricts = null; using (CourtDBContext dbContext = new CourtDBContext()) { dbContext.BulkInsert(districtsWithParentId); savedDistricts = dbContext.CourtDistricts.ToDictionary(x => logger.WarnFormat(Warn_DuplicatedDataFound, x.Name, x.Value)); } InsertAllLocations(savedDistricts, districtsWithParentId); }