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 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; }