public override void Upgrade(SirenOfShameSettings sirenOfShameSettings) { if (sirenOfShameSettings.GetAllActiveBuildDefinitions().Any()) { sirenOfShameSettings.TryToFindOldAchievementsAtNextOpportunity = true; } }
public override void Upgrade(SirenOfShameSettings sirenOfShameSettings) { if (sirenOfShameSettings.GetAllActiveBuildDefinitions().Any()) { sirenOfShameSettings.ShowUpgradeWindowAtNextOpportunity = true; } }
public override void Upgrade(SirenOfShameSettings sirenOfShameSettings) { sirenOfShameSettings.Mute = false; foreach (var person in sirenOfShameSettings.People) { person.Hidden = false; } }
public override void Upgrade(SirenOfShameSettings sirenOfShameSettings) { for (int index = 0; index < sirenOfShameSettings.People.Count; index++) { var personSetting = sirenOfShameSettings.People[index]; personSetting.AvatarId = index % _avatarCount; } }
public override void Upgrade(SirenOfShameSettings settings) { var isUpgradingFromPreviousVersion = settings.GetAllActiveBuildDefinitions().Any(); bool isntAlreadyUsingMyCi = settings.SosOnlineWhatToSync != WhatToSyncEnum.BuildStatuses; if (isUpgradingFromPreviousVersion && isntAlreadyUsingMyCi) { settings.ShowUpgradeWindowAtNextOpportunity = true; } }
public override void Upgrade(SirenOfShameSettings settings) { SosDb sosDb = new SosDb(); List<BuildStatus> allActiveBuildDefinitionsOrderedChronoligically = sosDb .ReadAll(settings.GetAllActiveBuildDefinitions()) .OrderBy(i => i.StartedTime) .ToList(); settings.People.ForEach(i => i.CalculateStats(allActiveBuildDefinitionsOrderedChronoligically)); }
public override void Upgrade(SirenOfShameSettings sirenOfShameSettings) { var buildDefinitionSettings = sirenOfShameSettings.CiEntryPointSettings.SelectMany(i => i.BuildDefinitionSettings).ToList(); foreach (var buildDefinitionSetting in buildDefinitionSettings) { var emptyPerson = buildDefinitionSetting.People.FirstOrDefault(string.IsNullOrEmpty); if (emptyPerson != null) { buildDefinitionSetting.People.Remove(emptyPerson); } } sirenOfShameSettings.People = new List<PersonSetting>(); var allPeople = buildDefinitionSettings.SelectMany(i => i.People); foreach (var person in allPeople) { sirenOfShameSettings.FindAddPerson(person); } }
public override void Upgrade(SirenOfShameSettings sirenOfShameSettings) { foreach (var rule in sirenOfShameSettings.Rules) { if (rule.TriggerType == TriggerType.InitialFailedBuild || rule.TriggerType == TriggerType.BuildFailed) { rule.WindowsAudioLocation = "SirenOfShame.Resources.Audio-Sad-Trombone.wav"; } if (rule.TriggerType == TriggerType.SubsequentFailedBuild) { rule.WindowsAudioLocation = "SirenOfShame.Resources.Audio-Boo-Hiss.wav"; } if (rule.TriggerType == TriggerType.BuildTriggered) { rule.WindowsAudioLocation = "SirenOfShame.Resources.Audio-Plunk.wav"; } if (rule.TriggerType == TriggerType.InitialSuccess) { rule.WindowsAudioLocation = "SirenOfShame.Resources.Audio-Applause.wav"; } } }
public TravisCiWatcher(SirenOfShameSettings settings, TravisCiEntryPoint travisCiEntryPoint) : base(settings) { _travisCiEntryPoint = travisCiEntryPoint; }
public void AddUserFilter(SirenOfShameSettings settings, PersonSetting selectedPerson, ImageList avatarImageList) { ClearAllFilters(); _filterPerson = selectedPerson.RawName; ApplyFilters(settings, avatarImageList); }
public ViewBuildSmall(BuildStatusDto buildStatusDto, SirenOfShameSettings settings) : base(settings) { InitializeComponent(); InitializeLabels(buildStatusDto); }
public ConfigureServerBase CreateConfigurationWindow(SirenOfShameSettings settings, CiEntryPointSetting ciEntryPointSetting) { return(new ConfigureTfs(settings, this, ciEntryPointSetting)); }
public override void VerifyCredentialsAsync(SirenOfShameSettings settings, Action onSuccess, Action <string, ServerUnavailableException> onFail) { }
public abstract void Upgrade(SirenOfShameSettings sirenOfShameSettings);
public override void SendMessage(SirenOfShameSettings settings, string message) { }
public override void BuildStatusChanged(SirenOfShameSettings settings, IList <BuildStatus> changedBuildStatuses, List <InstanceUserDto> requestedByPeople) { }
public override void StartRealtimeConnection(SirenOfShameSettings settings) { }
public override void TryToGetAndSendNewSosOnlineAlerts(SirenOfShameSettings settings, DateTime now, Action <NewAlertEventArgs> invokeNewAlert) { }
public override void Synchronize(SirenOfShameSettings settings, string exportedBuilds, string exportedAchievements, Action <DateTime> onSuccess, Action <string, ServerUnavailableException> onFail) { }
protected virtual SirenOfShameSettings GetAppSettings() { return(SirenOfShameSettings.GetAppSettings()); }
private static void AddSosOnlineCredentials(SirenOfShameSettings settings, WebClientXml webClientXml) { webClientXml.Add("UserName", settings.SosOnlineUsername); // send the encrypted version of the password since we're too cheap to support SSL at present webClientXml.Add("Password", settings.SosOnlinePassword); }
protected WatcherBase(SirenOfShameSettings settings) { Settings = settings; }
public MockWatcher(SirenOfShameSettings settings, MockCiEntryPoint mockCiEntryPoint) : base(settings) { }
public WatcherFake(SirenOfShameSettings settings) : base(settings) { }
public CiEntryPointSettingFake(SirenOfShameSettings settings) { _watcherFake = new WatcherFake(settings); Url = "http://fake"; }
public SyncOffline(SirenOfShameSettings settings) { _settings = settings; InitializeComponent(); _settings.InitializeUserIAm(_userIAm); }
protected ViewBuildBase(SirenOfShameSettings settings) : this() { Settings = settings; }
public WatcherBase GetWatcher(SirenOfShameSettings settings) { return(new TfsWatcher(settings, this)); }
public BambooWatcher(SirenOfShameSettings settings, BambooCIEntryPoint bambooCiEntryPoint) : base(settings) { _bambooCiEntryPoint = bambooCiEntryPoint; }
public override WatcherBase GetWatcher(SirenOfShameSettings settings) { return(_watcherFake); }
public BuildStatusDto AsBuildStatusDto(DateTime now, IDictionary <string, BuildStatus> previousWorkingOrBrokenBuildStatus, SirenOfShameSettings settings) { BuildStatus previousStatus; bool previousStatusExists = previousWorkingOrBrokenBuildStatus.TryGetValue(BuildDefinitionId, out previousStatus); string duration = GetDurationAsString(FinishedTime, StartedTime, now, previousStatus); var buildDisplayName = GetBuildDisplayName(settings, Name); var result = new BuildStatusDto { BuildStatusEnum = BuildStatusEnum, BuildStatusMessage = BuildStatusMessage, ImageIndex = (int)BallIndex, StartTimeShort = FormatAsDayMonthTime(StartedTime), LocalStartTime = !previousStatusExists && StartedTime.HasValue ? StartedTime.Value : LocalStartTime, Duration = duration, RequestedByRawName = RequestedBy, Comment = Comment, BuildId = BuildId ?? "", BuildDefinitionId = BuildDefinitionId, BuildDefinitionDisplayName = buildDisplayName, Url = Url, }; result.SetDisplayName(settings); return(result); }
public TfsWatcher(SirenOfShameSettings settings, TfsCiEntryPoint tfsCiEntryPoint) : base(settings) { _tfsCiEntryPoint = tfsCiEntryPoint; }
public NewNewsItemEventArgs AsNewsItemEventArgs(BuildStatusEnum previousWorkingOrBrokenBuildStatus, SirenOfShameSettings settings) { var person = settings.FindAddPerson(RequestedBy); return(new NewNewsItemEventArgs { Person = person, EventDate = DateTime.Now, Title = GetNewsItemTitle(previousWorkingOrBrokenBuildStatus), BuildDefinitionId = BuildDefinitionId, NewsItemType = GetNewsItemType(), ReputationChange = GetReputationChange(), BuildId = BuildId }); }
public void AddBuildFilter(SirenOfShameSettings settings, string buildDefinitionId, ImageList avatarImageList) { ClearAllFilters(); _filterBuildDefinitionId = buildDefinitionId; ApplyFilters(settings, avatarImageList); }
public FindOldAchievements(SirenOfShameSettings settings) { _settings = settings; InitializeComponent(); }
public void ClearFilter(SirenOfShameSettings settings, ImageList avatarImageList) { ClearAllFilters(); ApplyFilters(settings, avatarImageList); }
public static void TryFindOldAchievements(SirenOfShameSettings settings) { FindOldAchievements form = new FindOldAchievements(settings); form.Show(); }
public virtual async Task <DesktopAppConnectionResult> StartRealtimeConnection(SirenOfShameSettings settings) { try { if (!settings.GetSosOnlineContent()) { InvokeOnSosOnlineStatusChange("Disabled"); return(new DesktopAppConnectionResult { Success = false }); } InvokeOnSosOnlineStatusChange("Connecting"); _connection = new HubConnection(SOS_URL); _proxy = _connection.CreateHubProxy("SosHub"); _proxy.On("addChatMessageToDesktopClients", InvokeOnOnNewSosOnlineNotification); _connection.Error += ConnectionOnError; _connection.StateChanged += ConnectionOnStateChanged; _connection.Closed += ConnectionOnClosed; await _connection.Start(); var credentialApiModel = new CredentialApiModel { UserName = settings.SosOnlineUsername, Password = settings.SosOnlinePassword, }; var result = await _proxy.Invoke <DesktopAppConnectionResult>("connectDesktopApp", credentialApiModel); if (!result.Success) { _connection.Stop(); } return(result); } catch (Exception ex) { _log.Error("Unable to start realtime connection to SoS Online", ex); } return(new DesktopAppConnectionResult { Success = false }); }