public Functions(IIntegrationEventLogService eventLogService,
                         EdcConfiguration edcConfiguration,
                         IEdcPublishService edcPublishService,
                         JobsConfiguration jobsConfiguration,
                         IEmailService emailService,
                         ILogger logger,
                         ILoggerHelper loggerHelper,
                         IEmailTemplateProvider emailTemplateProvider)
        {
            Ensure.That(eventLogService).IsNotNull();
            Ensure.That(edcConfiguration).IsNotNull();
            Ensure.That(edcPublishService).IsNotNull();
            Ensure.That(jobsConfiguration).IsNotNull();
            Ensure.That(emailService).IsNotNull();
            Ensure.That(logger).IsNotNull();
            Ensure.That(loggerHelper).IsNotNull();
            Ensure.That(emailTemplateProvider).IsNotNull();

            _eventLogService       = eventLogService;
            _edcConfiguration      = edcConfiguration;
            _edcPublishService     = edcPublishService;
            _jobsConfiguration     = jobsConfiguration;
            _emailService          = emailService;
            _logger                = logger;
            _loggerHelper          = loggerHelper;
            _emailTemplateProvider = emailTemplateProvider;
        }
        public CompletedEventHandler(IIntegrationEventLogService integrationEventLogService,
                                     EdcConfiguration edcConfiguration)
        {
            Ensure.That(integrationEventLogService).IsNotNull();
            Ensure.That(edcConfiguration).IsNotNull();

            _integrationEventLogService = integrationEventLogService;
            _edcConfiguration           = edcConfiguration;
        }