public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            SubmissionState state = (SubmissionState)value;

            if (state == SubmissionState.Late)
            {
                return(true);
            }

            return(false);
        }
Exemple #2
0
        public IActionResult SetState(string stateString, int SubmissionId)
        {
            SubmissionState state      = System.Enum.Parse <SubmissionState>(stateString);
            Submission      submission = this.postLogic.GetSubmissionById(SubmissionId);

            if (submission == null)
            {
                return(NotFound());
            }
            if (this.postLogic.UserIsPostCreator(this.userManager.GetUserId(User), submission.PostId) == false)
            {
                return(Forbid());
            }
            this.postLogic.ModifySubmission(submission, (sub) =>
            {
                sub.State = state;
            });
            return(Ok());
        }
        public async Task <Student> GenerateStudentAsync(DirectoryInfo submissionDir)
        {
            var splitResults = submissionDir.Name.Split('_');

            string          name             = splitResults[0].Split('-')[0];
            int             id               = _assignmentInfo.StudentNameIdPairs[name];
            bool            hasFilenameError = splitResults.Last() != id.ToString();
            SubmissionState submissionState  =
                _assignmentInfo.StudentNameIdPairs.ContainsKey(name)
                ? SubmissionState.OnDate : SubmissionState.NotSubmitted;

            var pythonFiles = submissionDir.GetFiles()
                              .Where(f => f.Extension == ".py")
                              .ToList();

            var problems = new List <Problem>();

            foreach (int problemId in _assignmentInfo.ProblemIds)
            {
                var pythonFile = pythonFiles.FirstOrDefault(f => f.Name == $"p{problemId}.py");
                var problem    = await GenerateProblemAsync(problemId, pythonFile);

                problems.Add(problem);
            }

            var student = new Student
            {
                Id                    = id,
                Name                  = name,
                HasFilenameError      = hasFilenameError,
                SubmissionState       = submissionState,
                IsEvaluationCompleted = false,
                Problems              = problems
            };

            return(student);
        }
 public IPagedList<Profile> ListSubmitted(Page page, SubmissionState state)
 {
     throw new NotImplementedException();
 }