private void FindLatestBuildInfo() { Log.TraceEntry(); var builds = TeamCityHelpers.FindBuilds(Id); if (builds == null || builds.Count == 0 || builds.Build.Length == 0) { return; } var lastCompletedBuild = builds.Build.First(); LastCompletedBuild = ShortenedBuildText(lastCompletedBuild.Number); var lastSuccessfulBuild = TeamCityHelpers.FindLastSuccessfulBuild(builds.Build); LastSuccessfulBuild = lastSuccessfulBuild == null ? "-" : ShortenedBuildText(lastSuccessfulBuild.Number); var buildDetails = TeamCityHelpers.FindBuildInfo(lastCompletedBuild); TimeBuilt = TeamCityHelpers.ParseTime(buildDetails.FinishDate); Duration = TimeBuilt - TeamCityHelpers.ParseTime(buildDetails.StartDate); LastChecked = DateTime.Now; Pass = string.Equals(LastSuccessfulBuild, LastCompletedBuild); Log.TraceExit(); }
private void OnRefresh() { try { TeamCityHelpers.FindProjectStatus(this); LastChecked = DateTime.Now; } catch (Exception ex) { Log.TraceErr("TeamCityProjectViewModel.OnRefresh: Error retrieving results for '{0}'. {1}", Id, ex.ToString()); Pass = null; } }
private void FindCurrentBuild() { var build = TeamCityHelpers.FindRunningBuild(Id); if (build == null) { InProgress = false; CurrentBuild = LastCompletedBuild; } else { InProgress = true; CurrentBuild = build.Number; } }
private void OnRefresh() { try { JobName = TeamCityHelpers.FindFriendlyName(Id); FindLatestBuildInfo(); FindCurrentBuild(); LastChecked = DateTime.Now; } catch (Exception ex) { Log.TraceErr("TeamCityBuildJobViewModel.OnRefresh: Error retrieving results for '{0}'. {1}", Id, ex.ToString()); LastChecked = null; Pass = null; } }