/// <summary> /// Saves the student submission. /// </summary> /// <param name="studentId">The student id.</param> /// <param name="assignmentSubmissionViewModel">The assignment submission view model.</param> /// <param name="setStatusToSubmitted">if set to <c>true</c> [set status to submitted].</param> public AssignmentSubmissionViewModel SaveStudentSubmission(int studentId, AssignmentSubmissionViewModel assignmentSubmissionViewModel, bool setStatusToSubmitted = false) { try { Submission submission = ObjectMapper.Map <AssignmentSubmissionViewModel, Model.Entities.Submission>(assignmentSubmissionViewModel); submission.StudentId = studentId; SubmissionManager.SubmissionForAssignmentAlreadyExists(ref submission); submission.Status = setStatusToSubmitted ? (int)SubmissionStatusType.Submitted : submission.Status; if (submission != null && submission.Id != 0) { SubmissionManager.Update(submission); } else { submission = SubmissionManager.Add(submission); assignmentSubmissionViewModel.Id = submission.Id; } if (submission != null) { List <string> associations = new List <string>(); associations.Add("CourseModules"); associations.Add("CourseModules.Course"); associations.Add("CourseModules.Course.StaffCourses"); AssignmentViewModel assignmentViewModel = GetAssignment(assignmentSubmissionViewModel.AssignmentId); var module = ModuleManager.FindAll(associations).Where(m => m.Id.Equals(assignmentViewModel.ModuleId)).FirstOrDefault(); List <Message> messages = new List <Message>(); messages = StudentMessageViewModelFactory.CreateStudentAssignmentSubmissionMessages(module, assignmentViewModel, studentId); MessageManager.AddMessages(messages); } } catch (Exception ex) { ExceptionManager.HandleException(ex, PolicyNameType.ExceptionReplacing); } return(assignmentSubmissionViewModel); }
/// <summary> /// Uploads the student submission document. /// </summary> /// <param name="studentId">The student id.</param> /// <param name="assignmentSubmissionViewModel">The assignment submission view model.</param> public void UploadStudentSubmissionDocument(int studentId, AssignmentSubmissionViewModel assignmentSubmissionViewModel) { try { Submission submission = ObjectMapper.Map <AssignmentSubmissionViewModel, Model.Entities.Submission>(assignmentSubmissionViewModel); submission.StudentId = studentId; SubmissionManager.SubmissionForAssignmentAlreadyExists(ref submission); // Create Submission if does not exist if (submission == null || submission.Id == 0) { submission = SubmissionManager.Add(submission); } // UploadFile UniEBoard.Model.Entities.File uploadFile = FileFactory.CreateSubmissionContentFile(submission.Id, submission.AssignmentId, assignmentSubmissionViewModel.UploadFile) as File; FileManager.Add(uploadFile); } catch (Exception ex) { ExceptionManager.HandleException(ex, PolicyNameType.ExceptionReplacing); } }