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); } }
internal StatusChangedEventArgs( TableDependencyStatus status, string server, string database, string sender) : base(server, database, sender) { this.Status = status; }
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 } } }
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 } } }
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; }