Exemplo n.º 1
0
        public async Task <IActionResult> GradeAssignmentSubmit(GradeAssignmentModel model, int assigmentId)
        {
            if (ModelState.IsValid)
            {
                var user = await GetCurrentUserAsync();

                if (user is TeacherAccount teacher)
                {
                    var assignment = _assignments.GetById(assigmentId);
                    var total      = 0;
                    for (var i = 0; i < model.StudentIds.Count; i++)
                    {
                        var mark = new Mark()
                        {
                            Assignment  = assignment,
                            Description = "",
                            MarkDate    = DateTime.Now,
                            MarkType    = model.Marks[i],
                            Teacher     = teacher
                        };
                        total += (int)mark.MarkType;
                        _students.AddNewMark(model.StudentIds[i], mark);
                    }
                    _assignments.SetGraded(assignment, total / model.StudentIds.Count);

                    return(RedirectToAction("Index"));
                }
            }

            return(RedirectToAction("Error", "Home"));
        }
 public IActionResult GradeAssignment([FromBody] GradeAssignmentModel model)
 {
     try
     {
         // update assignment submission
         _courseMaterialService.GradeAssignment(model.Id, model.Grade);
         return(Ok());
     }
     catch (AppException ex)
     {
         // return error message if there was an exception
         return(BadRequest(new { message = ex.Message }));
     }
 }
Exemplo n.º 3
0
        public async Task <IActionResult> GradeAssignment(int assignmentId)
        {
            var user = await GetCurrentUserAsync();

            if (user is TeacherAccount teacher)
            {
                var assignment = _assignments.GetById(assignmentId);
                var students   = _students.GetStudentsForSchoolClass(assignment.SchoolClass.Id);

                var model = new GradeAssignmentModel()
                {
                    Assignment = assignment,
                    Students   = students
                };

                return(View(model));
            }

            return(RedirectToAction("Error", "Home"));
        }