Пример #1
0
        private async Task <PrepareItemResult> TerminatePreparation(Exception e, IClientProxy channel, CourseProblem problem,
                                                                    CourseYearConfig course)
        {
            Item.Results.ForEach(i => i.Status = ProcessStatus.Skipped.Value);
            Item.Result.Status  = ProcessStatus.Skipped.Value;
            Item.Result.Message = e.Message;
            await channel.ItemChanged(Item);

            return(new PrepareItemResult
            {
                Channel = channel,
                Problem = problem,
                Course = course,
                Error = $"Failed to prepare environment, contact teacher: ${e.Message}",
            });
        }
Пример #2
0
 public static CcData EmptyResult(Course course, CourseYearConfig courseYear, CourseProblem problem, User user)
 {
     return(new CcData
     {
         Id = ObjectId.GenerateNewId(),
         User = user.id,
         Problem = problem.Id,
         CourseName = course.Name,
         CourseYear = courseYear.Year,
         Action = "solve",
         Attempt = 0,
         Points = 0,
         GradeComment = "No solution recieved",
         Result = new CcDataResult
         {
             Score = 0,
             Scores = new int[] { 0, 0, 0 },
             Status = (int)ProcessStatusCodes.NoSolution,
             Duration = 0.0,
             Message = "No result",
         },
         SubmissionStatus = SubmissionStatus.None,
     });
 }