internal static TableDependencyStatuses Convert(this TableDependencyStatus tableDependencyStatus)
        {
            switch (tableDependencyStatus)
            {
            case TableDependencyStatus.None:
                return(TableDependencyStatuses.None);

            case TableDependencyStatus.Started:
                return(TableDependencyStatuses.Started);

            case TableDependencyStatus.Starting:
                return(TableDependencyStatuses.Starting);

            case TableDependencyStatus.StopDueToCancellation:
                return(TableDependencyStatuses.StopDueToCancellation);

            case TableDependencyStatus.StopDueToError:
                return(TableDependencyStatuses.StopDueToError);

            case TableDependencyStatus.WaitingForNotification:
                return(TableDependencyStatuses.WaitingForNotification);

            default:
                return(TableDependencyStatuses.None);
            }
        }
Exemple #2
0
 internal StatusChangedEventArgs(
     TableDependencyStatus status,
     string server,
     string database,
     string sender) : base(server, database, sender)
 {
     this.Status = status;
 }
Exemple #3
0
        protected void NotifyListenersAboutStatus(Delegate[] onStatusChangedSubscribedList, TableDependencyStatus status)
        {
            _status = status;

            if (onStatusChangedSubscribedList == null)
            {
                return;
            }

            foreach (var dlg in onStatusChangedSubscribedList.Where(d => d != null))
            {
                try
                {
                    dlg.GetMethodInfo().Invoke(dlg.Target, new object[] { null, new StatusChangedEventArgs(status, _server, _database, _dataBaseObjectsNamingConvention) });
                }
                catch
                {
                    // ignored
                }
            }
        }
Exemple #4
0
        protected void NotifyListenersAboutStatus(Delegate[] onStatusChangedSubscribedList, TableDependencyStatus status)
        {
            _status = status;

            if (onStatusChangedSubscribedList == null)
            {
                return;
            }

            foreach (var dlg in onStatusChangedSubscribedList.Where(d => d != null))
            {
                try
                {
                    dlg.Method.Invoke(dlg.Target, new object[] { null, new StatusChangedEventArgs(status) });
                }
                catch
                {
                    // ignored
                }
            }
        }
Exemple #5
0
        public void OnStatusChanged_WhenStatusChangesNotifies_TableDependencyStatus()
        {
            //Arrange
            var sqlDependencyProvider = CreateClassUnderTest();

            sqlDependencyProvider.SubscribeToEntityChanges();

            TableDependencyStatus tableDependencyStatus = TableDependencyStatus.None;

            var subscription = sqlDependencyProvider.WhenStatusChanges.Subscribe(c => tableDependencyStatus = c);

            StatusChangedEventArgs statusChangedEventArgs = CreateStatusChangedEventArgs();

            //Act
            tableDependencyMoq.Raise(m => m.OnStatusChanged += null, tableDependencyMoq.Object, statusChangedEventArgs);

            //Assert
            Assert.AreEqual(TableDependencyStatus.Started, tableDependencyStatus);

            subscription.Dispose();
        }
        protected async Task OnSqlTableDependencyStatusChanged(TableDependencyStatus status)
        {
            statusVersion = new VersionedTableDependencyStatus(status.Convert(), DateTimeOffset.Now);

            await PublishStatus(statusVersion);
        }
 internal StatusChangedEventArgs(TableDependencyStatus status)
 {
     this.Status = status;
 }
Exemple #8
0
 internal StatusChangedEventArgs(TableDependencyStatus status)
 {
     this.Status = status;
 }