示例#1
0
 /// <summary>
 /// Constructor.
 /// </summary>
 public BuildViewModel(
     BuildResult buildResult,
     IList <UnreadFeedbackResult> unreadFeedback,
     Func <Model.Projects.Build, string> commitUrlBuilder,
     Func <TestResult, string> testUrlBuilder,
     Func <string, string, int, string> feedbackUrlBuilder,
     ITimeZoneProvider timeZoneProvider)
 {
     User        = buildResult.Build.Commit.User;
     Submissions = new CheckpointSubmissionsViewModel
                   (
         buildResult.Submissions,
         timeZoneProvider
                   );
     PushDateLong     = buildResult.Build.Commit.PushDate.FormatLongDateTime(timeZoneProvider);
     PushDateShort    = buildResult.Build.Commit.PushDate.FormatShortDateTime(timeZoneProvider);
     CommitMessage    = buildResult.Build.Commit.Message;
     CommitSha        = buildResult.Build.Commit.Sha;
     CommitUrl        = commitUrlBuilder(buildResult.Build);
     BuildStatus      = buildResult.Build.Status;
     BuildDuration    = buildResult.Build.DateCompleted - buildResult.Build.DateStarted;
     BuildOutput      = buildResult.Build.Output;
     TestClassResults = TestClassTableEntry.GetTestClassResults
                        (
         null /*checkpoint*/,
         buildResult.Build,
         testUrlBuilder
                        );
     IsLatestBuild = buildResult.LatestBuild;
     TestTrend     = buildResult.Build.Status == BuildStatus.Completed
                         ? new TestTrendViewModel
                     (
         buildResult.AllBuildTestCounts,
         buildResult.Build.Commit.Project.Name,
         buildResult.Build,
         false /*thumbnail*/,
         timeZoneProvider
                     )
                         : null;
     UnreadFeedback = unreadFeedback.Select
                      (
         uf => new UnreadFeedbackViewModel
         (
             uf,
             feedbackUrlBuilder,
             timeZoneProvider
         )
                      ).ToList();
 }
示例#2
0
 /// <summary>
 /// Constructor.
 /// </summary>
 public BuildViewModel(
     BuildResult buildResult,
     IList<UnreadFeedbackResult> unreadFeedback,
     Func<Model.Projects.Build, string> commitUrlBuilder,
     Func<TestResult, string> testUrlBuilder,
     Func<string, string, int, string> feedbackUrlBuilder,
     ITimeZoneProvider timeZoneProvider)
 {
     User = buildResult.Build.Commit.User;
     Submissions = new CheckpointSubmissionsViewModel
     (
         buildResult.Submissions,
         timeZoneProvider
     );
     PushDate = buildResult.Build.Commit.PushDate;
     CommitMessage = buildResult.Build.Commit.Message;
     CommitSha = buildResult.Build.Commit.Sha;
     CommitUrl = commitUrlBuilder(buildResult.Build);
     BuildStatus = buildResult.Build.Status;
     BuildDuration = buildResult.Build.DateCompleted - buildResult.Build.DateStarted;
     BuildOutput = buildResult.Build.Output;
     TestClassResults = TestClassTableEntry.GetTestClassResults
     (
         null /*checkpoint*/,
         buildResult.Build,
         testUrlBuilder
     );
     IsLatestBuild = buildResult.LatestBuild;
     TestTrend = buildResult.Build.Status == BuildStatus.Completed
         ? new TestTrendViewModel
             (
                 buildResult.AllBuildTestCounts,
                 buildResult.Build.Commit.Project.Name,
                 buildResult.Build,
                 thumbnail: false
             )
         : null;
     UnreadFeedback = unreadFeedback.Select
     (
         uf => new UnreadFeedbackViewModel
         (
             uf,
             feedbackUrlBuilder,
             timeZoneProvider
         )
     ).ToList();
 }