コード例 #1
0
 /// <summary>
 /// Creates the assignment.
 /// </summary>
 /// <param name="assignmentViewModel">The assignment view model.</param>
 public void CreateAssignment(AssignmentViewModel assignmentViewModel, int?userId = null)
 {
     try
     {
         if (assignmentViewModel != null)
         {
             Assignment assignment = ObjectMapper.Map <AssignmentViewModel, Model.Entities.Assignment>(assignmentViewModel);
             assignment = AssignmentManager.Add(assignment);
             if (assignment != null)
             {
                 List <string> associations = new List <string>();
                 associations.Add("CourseModules");
                 associations.Add("CourseModules.Course");
                 associations.Add("CourseModules.Course.CourseRegistrations");
                 var            module   = ModuleManager.FindAll(associations).Where(m => m.Id.Equals(assignment.ModuleId)).FirstOrDefault();
                 List <Message> messages = new List <Message>();
                 messages = StudentMessageViewModelFactory.CreateTeacherAssignmentMessages(module, assignment, userId);
                 MessageManager.AddMessages(messages);
             }
         }
     }
     catch (Exception ex)
     {
         ExceptionManager.HandleException(ex, PolicyNameType.ExceptionReplacing);
     }
 }
コード例 #2
0
        public void SendMessage(int?ddCourses, string textMessage)
        {
            var controller    = User is StudentViewModel ? "Student" : "Teacher";
            var usersInCourse = _studentAppService.GetUsersForStudent(CurrentUser.Id).Where(s => s.Courses.Any(c => c.Id.Equals(ddCourses.Value)));
            var users         = ddCourses != null?_userAppService.GetUsersByCourse(ddCourses.Value).Where(u => !u.Id.Equals(CurrentUser.Id)).ToList() : new List <UserViewModel>();

            users.AddRange(userList);

            List <Message> messages = StudentMessageViewModelFactory.CreateUserMessage(users, textMessage, CurrentUser);

            _messageAppService.AddMessages(messages);

            userList = new List <UserViewModel>();
        }
コード例 #3
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);
        }
コード例 #4
0
 /// <summary>
 /// Adds a student Viewed Message.
 /// </summary>
 /// <param name="alertId">The messageId.</param>
 /// <param name="studentId">The studentId.</param>
 /// <returns></returns>
 public void AddStudentViewedMessage(int messageId, int studentId)
 {
     try
     {
         ViewedMessage studentViewedMessage = ObjectMapper.Map <StudentViewedMessageViewModel, Model.Entities.ViewedMessage>(StudentMessageViewModelFactory.CreateStudentViewedMessageModel(messageId, studentId));
         StudentViewedMessageManager.Add(studentViewedMessage);
     }
     catch (Exception ex)
     {
         ExceptionManager.HandleException(ex, PolicyNameType.ExceptionReplacing);
     }
 }