示例#1
0
        /// <summary>
        /// Save all customers in the passed customer list into the "caching" database
        /// </summary>
        /// <param name="customers">List of Customers</param>
        /// <returns></returns>
        public async Task SaveAllCustomers(List <Customer> customers)
        {
            try
            {
                var added   = 0;
                var updated = 0;

                foreach (var customer in customers)
                {
                    if (!_context.Customers.Any(x => x.id == customer.id))
                    {
                        await _context.Customers.AddAsync(customer);

                        added++;
                    }
                    else
                    {
                        _context.Customers.Update(customer);
                        updated++;
                    }
                }

                await _context.SaveChangesAsync();

                _logger.LogInformation($"Customers - Added: {added} | Updated: {updated}");
            }
            catch (Exception ex)
            {
                _logger.LogError($"The following error occurred when saving customers: {ex}");
            }
        }
示例#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}");
            }
        }