public void Persist(IEnumerable <StoreInfo> storesEnumerableParam) { var allStores = (storesEnumerableParam ?? new StoreInfo[] {}).ToArray(); var storesToPersist = allStores .Where(_ => !_persistenceCalculator.WasPersistedRecently(_.StoreNumber)) .ToArray(); var numbersToPersist = storesToPersist.Select(_ => _.StoreNumber).ToArray(); Logger.LogInfo("Saving Stores", "totalCount", allStores.Length, "count", numbersToPersist.Length); if (numbersToPersist.Length == 0) { return; } var numbersToUpdate = (_dataService.ContainsStore(numbersToPersist)).ToArray(); var numbersToCreate = numbersToPersist.Except(numbersToUpdate).ToArray(); var storesToUpdate = storesToPersist.Where(_ => numbersToUpdate.Contains(_.StoreNumber)).ToArray(); var storesToCreate = storesToPersist.Where(_ => numbersToCreate.Contains(_.StoreNumber)).ToArray(); Logger.LogDebug("Creating Stores", "count", storesToCreate.Length); _dataService.CreateNew(storesToCreate); Logger.LogDebug("Updating Stores", "count", storesToUpdate.Length); _dataService.Update(storesToUpdate); foreach (var storeNumber in numbersToPersist) { _persistenceCalculator.PreventFuturePersistence(storeNumber); } }
private void RunMigrations() { using (var context = _contextFactory.Create()) { Logger.LogDebug("DbMigration Started"); context.Database.Migrate(); Logger.LogDebug("DbMigration Completed"); } }
public static string InstrumentedDownload(this WebRequest request, Func <WebRequest, String> downloader) { var stopwatch = Stopwatch.StartNew(); var url = request.RequestUri.AbsoluteUri; Logger.LogDebug("Download", nameof(url), url, "Proxy", request.GetProxyString()); try { var result = downloader(request); var kbytes = Convert.ToInt32(result.Length / 1024); stopwatch.Stop(); Logger.LogInfo("Download", "KBytes", kbytes, "Result", true, "ElapsedMs", stopwatch.ElapsedMilliseconds); return(result); } catch (WebException e) { stopwatch.Stop(); Logger.LogError("Download Error", e, nameof(url), url, "ElapsedMs", stopwatch.ElapsedMilliseconds); throw; } }
public void Seed() { Logger.LogDebug("ZipCode Seed Started"); var shouldSeed = ShouldSeed(); if (!shouldSeed) { Logger.LogDebug("ZipCode Seed Skipped"); return; } ClearZipCodes(); var seedFilename = _configurationReader.ReadString(ConfigurationKeys.SeedsZipsFilename); LoadZipCodesFromCsv(seedFilename); }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { ConfigureLogging(optionsBuilder); Logger.LogDebug("OnConfiguring", "ConnectionString", _connectionString); optionsBuilder.UseNpgsql(_connectionString); }