/// <summary> /// Constructor. /// </summary> public PastSubmissionResult(Submission submission, Section section) { CheckpointDisplayName = submission.Checkpoint.DisplayName; CommitDate = submission.Commit.PushDate; CommitDaysLate = submission.GetDaysLate(section, submission.Commit.PushDate); SubmitDate = submission.DateSubmitted; SubmitDaysLate = submission.GetDaysLate(section, submission.DateSubmitted); PullRequestNumber = submission.PullRequestNumber; Feedback = submission.Feedback; Build = submission.Commit.Build; }
/// <summary> /// Constructor. /// </summary> public PastSubmissionResult(Submission submission, Section section) { CheckpointDisplayName = submission.Checkpoint.DisplayName; CommitDate = submission.Commit.PushDate; DaysLate = submission.GetDaysLate(section); PullRequestNumber = submission.PullRequestNumber; Feedback = submission.Feedback; Build = submission.Commit.Build; }
/// <summary> /// Constructor. /// </summary> public GradeSubmissionResult( User user, Section section, Submission currentSubmission, IList <Submission> pastSubmissions) { LastName = user.LastName; FirstName = user.FirstName; SubmissionId = currentSubmission.Id; CommitDate = currentSubmission.Commit.PushDate; SubmissionDate = currentSubmission.DateSubmitted; CommitDaysLate = currentSubmission.GetDaysLate(section, currentSubmission.Commit.PushDate); SubmissionDaysLate = currentSubmission.GetDaysLate(section, currentSubmission.DateSubmitted); PullRequestNumber = currentSubmission.PullRequestNumber; Feedback = currentSubmission.Feedback; FeedbackSent = currentSubmission.FeedbackSent; Build = currentSubmission.Commit.Build; PastSubmissions = pastSubmissions .Select(ps => new PastSubmissionResult(ps, section)) .ToList(); RequiredTestsPassed = currentSubmission.Commit.Build.Status == BuildStatus.Completed && currentSubmission.Commit.Build.TestResults .Select ( tr => new { Required = currentSubmission.Checkpoint .TestClasses .FirstOrDefault ( tc => tc.TestClass.ClassName == tr.ClassName )?.Required ?? false, Passed = tr.Succeeded } ) .All ( tr => !tr.Required || tr.Passed ); }
/// <summary> /// Constructor. /// </summary> public GradeSubmissionResult( User user, Section section, Submission currentSubmission, IList <Submission> pastSubmissions) { LastName = user.LastName; FirstName = user.FirstName; SubmissionId = currentSubmission.Id; CommitDate = currentSubmission.Commit.PushDate; SubmissionDate = currentSubmission.DateSubmitted; CommitDaysLate = currentSubmission.GetDaysLate(section, currentSubmission.Commit.PushDate); SubmissionDaysLate = currentSubmission.GetDaysLate(section, currentSubmission.DateSubmitted); PullRequestNumber = currentSubmission.PullRequestNumber; RequiredTestsPassed = currentSubmission.GetRequiredTestsPassed(); Feedback = currentSubmission.Feedback; FeedbackSent = currentSubmission.FeedbackSent; Build = currentSubmission.Commit.Build; PastSubmissions = pastSubmissions .Select(ps => new PastSubmissionResult(ps, section)) .ToList(); }
/// <summary> /// Constructor. /// </summary> public GradeSubmissionResult( User user, Section section, Submission currentSubmission, IList<Submission> pastSubmissions) { LastName = user.LastName; FirstName = user.FirstName; SubmissionId = currentSubmission.Id; CommitDate = currentSubmission.Commit.PushDate; DaysLate = currentSubmission.GetDaysLate(section); PullRequestNumber = currentSubmission.PullRequestNumber; Feedback = currentSubmission.Feedback; FeedbackSent = currentSubmission.FeedbackSent; Build = currentSubmission.Commit.Build; PastSubmissions = pastSubmissions .Select(ps => new PastSubmissionResult(ps, section)) .ToList(); RequiredTestsPassed = currentSubmission.Commit.Build.Status == BuildStatus.Completed && currentSubmission.Commit.Build.TestResults .Select ( tr => new { Required = currentSubmission.Checkpoint .TestClasses .FirstOrDefault ( tc => tc.TestClass.ClassName == tr.ClassName )?.Required ?? false, Passed = tr.Succeeded } ) .All ( tr => !tr.Required || tr.Passed ); }