/// <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;
 }
Exemplo n.º 3
0
        /// <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
                );
        }
Exemplo n.º 4
0
 /// <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
                    );
        }