Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
            }
        }