示例#1
0
 public LoaderManager(ILogger <LoaderManager> logger, ICustomerService customerService, IMetricsService metricsService, CustomersMetricsDatabaseContext context)
 {
     _logger          = logger;
     _customerService = customerService;
     _metricsService  = metricsService;
     _context         = context;
 }
示例#2
0
        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}");
            }
        }