C# Class SirenOfShame.Lib.Watcher.RulesEngine

Show file Open project: AutomatedArchitecture/SirenOfShame Class Usage Examples

Public Properties

Property Type Description
SosDb SirenOfShame.Lib.Watcher.SosDb

Private Properties

Property Type Description
AddAnyNewPeopleToSettings void
ApplyUserMappings void
BuildDefinitionNotFound void
BuildWatcherServerUnavailable void
BuildWatcherStatusChecked void
CacheBuildStatuses void
DidBuildStatusChange bool
FireApplicableRulesEngineEvents void
GetChangedBuildStatuses IList
GetChangedBuildStatusesAndTheirPreviousState List
InvokeModalDialog void
InvokeNewAchievement void
InvokeNewAlert void
InvokeNewNewsItem void
InvokeNewNewsItemIfAny void
InvokeNewUser void
InvokeRefreshStatus void
InvokeRefreshStatusIfAnythingChanged void
InvokeSetTrayIcon void
InvokeSetTrayIcon void
InvokeStatsChanged void
InvokeUpdateStatusBar void
NotifyIfNewAchievements void
OnAddBuildsFail void
OnAddBuildsSuccess void
ResetPreviousWorkingOrBrokenStatuses void
SendCiServerConnectedEvents void
SetStatusUnknown void
SetValue void
StoppedWatching void
SyncNewBuildsToSos void
TimerTick void
TryGetBuildStatus BuildStatusEnum?
TrySynchronizeBuildStatuses void
TrySynchronizeMyPointsAndAchievements void
TryToGetAndSendNewSosOnlineAlerts void
UpdateBuildNamesInSettingsIfAnyChanged void
WriteNewBuildsToSosDb void

Public Methods

Method Description
ExecuteNewBuilds ( IList newBuildStatuses ) : void
InvokePlayWindowsAudio ( string location ) : void
InvokeSetAudio ( SirenOfShame.Lib.Device.AudioPattern audioPattern, int duration ) : void
InvokeSetLights ( SirenOfShame.Lib.Device.LedPattern ledPattern, int duration ) : void
InvokeTrayNotify ( ToolTipIcon tipIcon, string title, string tipText ) : void
RefreshAll ( ) : void
RulesEngine ( SirenOfShame.Lib.Settings.SirenOfShameSettings settings ) : System
Start ( bool initialStart ) : void
Stop ( ) : void
SyncAllBuildStatuses ( ) : void

Private Methods

Method Description
AddAnyNewPeopleToSettings ( IEnumerable changedBuildStatuses ) : void
ApplyUserMappings ( IList buildStatuses ) : void
BuildDefinitionNotFound ( object sender, BuildDefinitionNotFoundArgs args ) : void
BuildWatcherServerUnavailable ( object sender, ServerUnavailableEventArgs args ) : void
BuildWatcherStatusChecked ( object sender, SirenOfShame.Lib.Watcher.StatusCheckedEventArgsArgs args ) : void
CacheBuildStatuses ( IEnumerable changedBuildStatuses ) : void

We cache the build statuses primarily so we can tell the rules engine whether a build changed from Broken->InProgress->Working or Broken->InProgress, etc

DidBuildStatusChange ( SirenOfShame.Lib.Watcher.BuildStatus oldStatus, SirenOfShame.Lib.Watcher.BuildStatus newStatus ) : bool
FireApplicableRulesEngineEvents ( IEnumerable changedBuildStatusesAndTheirPreviousState ) : void
GetChangedBuildStatuses ( SirenOfShame.Lib.Watcher.BuildStatus allBuildStatuses ) : IList
GetChangedBuildStatusesAndTheirPreviousState ( IEnumerable changedBuildStatuses ) : List
InvokeModalDialog ( string dialogText, string okText ) : void
InvokeNewAchievement ( SirenOfShame.Lib.Settings.PersonSetting person, List achievements ) : void
InvokeNewAlert ( SirenOfShame.Lib.Watcher.NewAlertEventArgs args ) : void
InvokeNewNewsItem ( SirenOfShame.Lib.Watcher.NewNewsItemEventArgs args, bool newsIsBothLocalAndNew ) : void
InvokeNewNewsItemIfAny ( IEnumerable changedBuildStatuses ) : void
InvokeNewUser ( string requestedBy ) : void
InvokeRefreshStatus ( IEnumerable buildStatuses ) : void
InvokeRefreshStatusIfAnythingChanged ( IEnumerable allBuildStatuses, IEnumerable changedBuildStatuses ) : void
InvokeSetTrayIcon ( IEnumerable buildStatuses ) : void
InvokeSetTrayIcon ( TrayIcon trayIcon ) : void
InvokeStatsChanged ( IList changedBuildStatuses ) : void
InvokeUpdateStatusBar ( string statusText, Exception exception = null ) : void
NotifyIfNewAchievements ( IList changedBuildStatuses ) : void
OnAddBuildsFail ( string userTargedErrorMessage, Exception ex ) : void
OnAddBuildsSuccess ( System.DateTime newHighWaterMark ) : void
ResetPreviousWorkingOrBrokenStatuses ( ) : void
SendCiServerConnectedEvents ( ) : void
SetStatusUnknown ( ) : void
SetValue ( SirenOfShame.Lib.Watcher.BuildStatus changedBuildStatus, BuildStatus>.IDictionary dictionary ) : void
StoppedWatching ( object sender, StoppedWatchingEventArgs args ) : void
SyncNewBuildsToSos ( IList changedBuildStatuses ) : void
TimerTick ( object sender, EventArgs e ) : void
TryGetBuildStatus ( SirenOfShame.Lib.Watcher.BuildStatus changedBuildStatus, BuildStatus>.IDictionary dictionary ) : BuildStatusEnum?
TrySynchronizeBuildStatuses ( IList changedBuildStatuses ) : void
TrySynchronizeMyPointsAndAchievements ( IList changedBuildStatuses ) : void
TryToGetAndSendNewSosOnlineAlerts ( ) : void
UpdateBuildNamesInSettingsIfAnyChanged ( IEnumerable changedBuildStatuses ) : void
WriteNewBuildsToSosDb ( IEnumerable changedBuildStatusesAndTheirPreviousState ) : void

Method Details

ExecuteNewBuilds() public method

public ExecuteNewBuilds ( IList newBuildStatuses ) : void
newBuildStatuses IList
return void

InvokePlayWindowsAudio() public method

public InvokePlayWindowsAudio ( string location ) : void
location string
return void

InvokeSetAudio() public method

public InvokeSetAudio ( SirenOfShame.Lib.Device.AudioPattern audioPattern, int duration ) : void
audioPattern SirenOfShame.Lib.Device.AudioPattern
duration int
return void

InvokeSetLights() public method

public InvokeSetLights ( SirenOfShame.Lib.Device.LedPattern ledPattern, int duration ) : void
ledPattern SirenOfShame.Lib.Device.LedPattern
duration int
return void

InvokeTrayNotify() public method

public InvokeTrayNotify ( ToolTipIcon tipIcon, string title, string tipText ) : void
tipIcon ToolTipIcon
title string
tipText string
return void

RefreshAll() public method

public RefreshAll ( ) : void
return void

RulesEngine() public method

public RulesEngine ( SirenOfShame.Lib.Settings.SirenOfShameSettings settings ) : System
settings SirenOfShame.Lib.Settings.SirenOfShameSettings
return System

Start() public method

public Start ( bool initialStart ) : void
initialStart bool
return void

Stop() public method

public Stop ( ) : void
return void

SyncAllBuildStatuses() public method

public SyncAllBuildStatuses ( ) : void
return void

Property Details

SosDb public property

public SosDb,SirenOfShame.Lib.Watcher SosDb
return SirenOfShame.Lib.Watcher.SosDb