private void CheckBuildState(ProjectState project, BuildState oldBuildState, BuildState newBuildState) { if (oldBuildState.LastBuild != newBuildState.LastBuild) { if ((newBuildState.Status == "FAILURE" || newBuildState.Status == "ERROR") && oldBuildState.Status == "FAILURE" || oldBuildState.Status == "ERROR") { PlaySound(project.StillFailingSound); } else if (newBuildState.Status == "FAILURE" || newBuildState.Status == "ERROR") { PlaySound(project.FailureSound); } else if (newBuildState.Status == "SUCCESS" && oldBuildState.Status != "SUCCESS") { PlaySound(project.FixedSound); } } }
private void CheckProjectState(ProjectState oldProject, ProjectState newProject) { foreach (var oldBuildState in oldProject.Builds) { var newBuildState = newProject.Builds.FirstOrDefault(b => b.Name.Equals(oldBuildState.Name)); if (newBuildState != null) { CheckBuildState(oldProject, oldBuildState, newBuildState); } } }