private async Task PersistDineSafeDataAsync(DineSafeData dineSafeData)
        {
            using var databaseCts = new CancellationTokenSource(_databaseOperationTimeOut);

            using (_logger.BeginScope("Begin DineSafe Data Collection"))
            {
                if (dineSafeData.Establishments != null)
                {
                    foreach (var dineSafeEstablishment in dineSafeData.Establishments)
                    {
                        _logger.LogInformation($"Started processing establishment: {dineSafeEstablishment.Name} - {dineSafeEstablishment.Id}");

                        var establishment = CreateEstablishment(dineSafeEstablishment);

                        var storedEstablishment =
                            await _establishmentRepository.AddIfNotExistsAsync(establishment, databaseCts.Token);

                        storedEstablishment.AddNewInspections(ExtractInspections(dineSafeEstablishment));

                        await _establishmentRepository.UnitOfWork.SaveEntitiesAsync(databaseCts.Token);

                        _logger.LogInformation($"Finished processing establishment: {establishment.Name}");
                    }
                }
            }
        }