public DatajobRun(TransformSettings transformSettings, ILogger logger, DexihDatajob datajob, DexihHub hub, TransformWriterOptions transformWriterOptions, IAlertQueue alertQueue, string[] alertEmails)
        {
            _transformSettings = transformSettings;
            _logger            = logger;
            _alertQueue        = alertQueue;
            _alertEmails       = alertEmails;

            _transformWriterOptions = transformWriterOptions;

            if (datajob.AuditConnectionKey > 0)
            {
                var dbAuditConnection =
                    hub.DexihConnections.SingleOrDefault(c => c.IsValid && c.Key == datajob.AuditConnectionKey);

                if (dbAuditConnection == null)
                {
                    throw new DatalinkRunException(
                              $"Audit connection with key {datajob.AuditConnectionKey} was not found.");
                }

                _auditConnection = dbAuditConnection.GetConnection(_transformSettings);
            }
            else
            {
                _auditConnection = new ConnectionMemory();
            }


            Datajob = datajob;
            _hub    = hub;
        }
Пример #2
0
        public DatalinkTestRun(
            TransformSettings transformSettings,
            ILogger logger,
            DexihDatalinkTest datalinkTest,
            DexihHub hub,
            TransformWriterOptions transformWriterOptions,
            IAlertQueue alertQueue,
            string[] alertEmails
            )
        {
            _transformSettings      = transformSettings;
            _transformWriterOptions = transformWriterOptions;
            _logger = logger;

            // create a copy of the hub as the test run will update objects.
            _hub = hub.Serialize().Deserialize <DexihHub>();
            // _hub = hub.CloneProperties();

            _datalinkTest = datalinkTest;
            _alertQueue   = alertQueue;
            _alertEmails  = alertEmails;

            Connection auditConnection;

            if (datalinkTest.AuditConnectionKey > 0)
            {
                var dbAuditConnection =
                    _hub.DexihConnections.SingleOrDefault(c => c.IsValid && c.Key == datalinkTest.AuditConnectionKey);

                if (dbAuditConnection == null)
                {
                    throw new DatalinkRunException(
                              $"Audit connection with key {datalinkTest.AuditConnectionKey} was not found.");
                }

                auditConnection = dbAuditConnection.GetConnection(_transformSettings);
            }
            else
            {
                auditConnection = new ConnectionMemory();
            }

            TestResults = new List <TestResult>();

            WriterResult = new TransformWriterResult()
            {
                AuditConnection        = auditConnection,
                AuditConnectionKey     = datalinkTest.AuditConnectionKey ?? 0,
                AuditType              = Constants.DatalinkTest,
                HubKey                 = _hub.HubKey,
                ReferenceKey           = datalinkTest.Key,
                ParentAuditKey         = 0,
                ReferenceName          = datalinkTest.Name,
                SourceTableKey         = 0,
                SourceTableName        = "",
                TransformWriterOptions = _transformWriterOptions
            };
        }
Пример #3
0
 protected void Construct(InfoView infoView, IAlertQueue alertQueue, AlertListView alertListView, AlertEditView alertEditView, AlertDetailView alertDetailView, HierarchyManager hierarchyManager, ModalStateManager modalStateManager, NavigationController navigationController)
 {
     _infoView             = infoView;
     _alertQueue           = alertQueue;
     _alertListView        = alertListView;
     _alertEditView        = alertEditView;
     _alertDetailView      = alertDetailView;
     _hierarchyManager     = hierarchyManager;
     _modalStateManager    = modalStateManager;
     _navigationController = navigationController;
 }
Пример #4
0
        public AlertService(
            ILogger <AlertService> logger, IAlertQueue alertQueue, ISharedSettings sharedSettings)
        {
            _logger         = logger;
            _alertQueue     = alertQueue;
            _sharedSettings = sharedSettings;
            _adminEmails    = sharedSettings.RemoteSettings.Alerts.AdminEmails;

            if (sharedSettings.RemoteSettings?.Alerts?.SmtpServer != null)
            {
                _smtpClient = new SmtpClient(sharedSettings.RemoteSettings.Alerts.SmtpServer)
                {
                    UseDefaultCredentials = false,
                    Port      = sharedSettings.RemoteSettings.Alerts.SmtpPort,
                    EnableSsl = sharedSettings.RemoteSettings.Alerts.EnableSsl,

                    Credentials = new NetworkCredential(sharedSettings.RemoteSettings.Alerts.SmtpUserName,
                                                        sharedSettings.RemoteSettings.Alerts.SmtpPassword),
                };

                _smtpClient.SendCompleted += (s, e) =>
                {
                    if (e.Cancelled)
                    {
                        _logger.LogError("The email message was cancelled.");
                    }

                    if (e.Error != null)
                    {
                        _logger.LogError(e.Error, $"There was an error sending an alert email.");
                    }
                };

                _footer = $"Remote Agent Name: {_sharedSettings.RemoteSettings.AppSettings.Name}";
            }
        }
Пример #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DebugLogger"/> class.
 /// </summary>
 public AlertLogger(IAlertQueue alertQueue)
 {
     _alertQueue = alertQueue;
 }