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(); }
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(); }
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(); }