public LoaderManager(ILogger <LoaderManager> logger, ICustomerService customerService, IMetricsService metricsService, CustomersMetricsDatabaseContext context) { _logger = logger; _customerService = customerService; _metricsService = metricsService; _context = context; }
public async Task SaveAllMetrics(List <Metrics> metricsList) { try { int added = 0; int updated = 0; using (var context = new CustomersMetricsDatabaseContext()) { foreach (var metrics in metricsList) { if (!context.Metrics.Any(x => x.id == metrics.id)) { await context.Metrics.AddAsync(metrics); added++; } else { context.Metrics.Update(metrics); updated++; } } await context.SaveChangesAsync(); } _logger.LogInformation($"Metrics - Added: {added} | Updated {updated}"); } catch (Exception ex) { _logger.LogError($"The following error occurred when saving metrics: {ex}"); } }