Exemple #1
0
        public async Task AssignToStudentAsync(string studentId, List <int> assignmentIds)
        {
            if (studentId == null || assignmentIds == null)
            {
                throw new ArgumentNullException();
            }

            StudentDTO student = await studentService.GetByIdAsync(studentId);

            if (student == null)
            {
                return;
            }

            IEnumerable <AssignmentDTO> newAssignmentsList = await assignmentService.GetAllByIdAsync(assignmentIds);

            if (newAssignmentsList == null)
            {
                return;
            }

            foreach (AssignmentDTO assignment in newAssignmentsList)
            {
                SubmissionDTOBuilderData bulderData    = new SubmissionDTOBuilderData(studentId, assignment.AssignmentId, DateTime.Now.AddDays(3));
                SubmissionDTO            newSubmission = dtoFactory.CreateDTO <SubmissionDTOBuilderData, SubmissionDTO>(bulderData);
                assignment.Submissions.Add(newSubmission);
            }

            await assignmentService.SaveChangesAsync();
        }
Exemple #2
0
        public async Task AssignToStudentsAsync(int assigmentId, List <string> studentIds)
        {
            if (studentIds == null)
            {
                throw new ArgumentNullException("studentIds");
            }
            AssignmentDTO assignment = await assignmentService.GetByIdWithFileAsync(assigmentId);

            if (assignment == null)
            {
                throw new KeyNotFoundException();
            }

            IEnumerable <StudentDTO> students = await studentService.GetAllByIdAsync(studentIds);

            foreach (StudentDTO student in students)
            {
                SubmissionDTOBuilderData bulderData    = new SubmissionDTOBuilderData(student.Id, assignment.AssignmentId, DateTime.Now.AddDays(3));
                SubmissionDTO            newSubmission = dtoFactory.CreateDTO <SubmissionDTOBuilderData, SubmissionDTO>(bulderData);

                student.Submissions.Add(newSubmission);
            }

            await assignmentService.SaveChangesAsync();
        }
Exemple #3
0
        public async Task <int> CreateAndAssignToSingleUserAsync(Controller controller, string studentId, CreateViewModel inputModel, HttpPostedFileBase file)
        {
            AssignmentFileDTO assignmentFile = dtoFactory.CreateDTO <AssignmentFileDTOBuilderData, AssignmentFileDTO>(new AssignmentFileDTOBuilderData(file));

            fileService.Create(assignmentFile);

            string path = Path.Combine(controller.Server.MapPath("~/Files/Assignments"), assignmentFile.FileGuid);

            file.SaveAs(path);

            string    mentorId = controller.User.Identity.GetUserId();
            MentorDTO mentor   = await mentorService.GetByIdAsync(mentorId);

            AssignmentDTOBuilderData builderData   = new AssignmentDTOBuilderData(inputModel, mentorId, assignmentFile);
            AssignmentDTO            newAssignment = dtoFactory.CreateDTO <AssignmentDTOBuilderData, AssignmentDTO>(builderData);

            assignmentService.Create(newAssignment);
            await assignmentService.SaveChangesAsync();

            StudentDTO student = await studentService.GetByIdAsync(studentId);

            if (student == null)
            {
                throw new Exception();
            }

            SubmissionDTOBuilderData bulderData    = new SubmissionDTOBuilderData(studentId, newAssignment.AssignmentId, DateTime.Now.AddDays(3));
            SubmissionDTO            newSubmission = dtoFactory.CreateDTO <SubmissionDTOBuilderData, SubmissionDTO>(bulderData);

            student.Submissions.Add(newSubmission);

            await assignmentService.SaveChangesAsync();

            return(newAssignment.AssignmentId);
        }
        public async Task UpdateAsync(EditViewModel viewModel)
        {
            SubmissionDTOBuilderData builderData      = new SubmissionDTOBuilderData(viewModel);
            SubmissionDTO            editedSubmission = dtoFactory.CreateDTO <SubmissionDTOBuilderData, SubmissionDTO>(builderData);

            service.UpdateDueDateCompletedAndGrade(editedSubmission);

            await service.SaveChangesAsync();
        }