public ActionResult Assignments(DisplayFilterViewModel filter, int?selectedCourse)
        {
            StudentAssignmentFilterType activeFilter = (StudentAssignmentFilterType)filter.ActiveFilter;

            ViewBag.Filter = _assignmentTaskAndSubmissionService.GetAssignmentDisplayFilter("Assignments", "Student", "assignments", activeFilter);
            ViewData["NoAssignmentDisplayLabel"] = (activeFilter == StudentAssignmentFilterType.Active) ? "active " : ((activeFilter == StudentAssignmentFilterType.Submitted) ? "submitted " : string.Empty);
            ViewData["StudentCourses"]           = new SelectList(_courseModuleService.GetAllStudentCourses(CurrentUser.Id, false), "Id", "Title", selectedCourse.HasValue ? selectedCourse.Value.ToString() : string.Empty);
            List <AssignmentSubmissionViewModel> models = _assignmentTaskAndSubmissionService.GetAllStudentAssignmentSubmissions(CurrentUser.Id, activeFilter, selectedCourse.HasValue ? selectedCourse.Value : 0);

            return(View("AssignmentSubmissions", models));
        }
        /// <summary>
        /// Gets all assignments by student.
        /// </summary>
        /// <param name="studentId">The student id.</param>
        /// <param name="filter">The filter.</param>
        /// <param name="courseId">The course id.</param>
        /// <returns></returns>
        public List <Assignment> GetAllAssignmentsByStudentAndCourse(int studentId, StudentAssignmentFilterType filter = StudentAssignmentFilterType.Active, int courseId = 0)
        {
            List <Assignment> assignments = new List <Assignment>();

            try
            {
                assignments = AssignmentRepository.FindAssignmentsByStudentAndCourse(studentId, courseId);
                switch (filter)
                {
                case StudentAssignmentFilterType.Active:
                    assignments.RemoveAll(SubmittedAssignmentMatches);
                    break;

                case StudentAssignmentFilterType.Submitted:
                    assignments.RemoveAll(ActiveAssignmentMatches);
                    break;
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.HandleException(ex, PolicyNameType.ExceptionShielding);
            }
            return(assignments);
        }
Example #3
0
        /// <summary>
        /// Creates the assignment display filter view model.
        /// </summary>
        /// <param name="action">The action.</param>
        /// <param name="controller">The controller.</param>
        /// <param name="updateTargetId">The update target id.</param>
        /// <param name="activeFilter">The active filter.</param>
        /// <returns></returns>
        public static DisplayFilterViewModel CreateAssignmentDisplayFilterViewModel(string action, string controller, string updateTargetId, StudentAssignmentFilterType activeFilter = StudentAssignmentFilterType.Active)
        {
            DisplayFilterViewModel model = new DisplayFilterViewModel()
            {
                TargetActionName     = action,
                TargetControllerName = controller,
                UpdateTargetId       = updateTargetId,
                ActiveFilter         = (int)activeFilter,
                DisplayLegend        = "Show",
                Item1Display         = EnumHelper.DiscriptionFor(StudentAssignmentFilterType.All),
                Item2Display         = EnumHelper.DiscriptionFor(StudentAssignmentFilterType.Active),
                Item3Display         = EnumHelper.DiscriptionFor(StudentAssignmentFilterType.Submitted),
                Item1Css             = activeFilter == StudentAssignmentFilterType.All ? "active" : string.Empty,
                Item2Css             = activeFilter == StudentAssignmentFilterType.Active ? "active" : string.Empty,
                Item3Css             = activeFilter == StudentAssignmentFilterType.Submitted ? "active" : string.Empty,
                Item1Value           = (int)StudentAssignmentFilterType.All,
                Item2Value           = (int)StudentAssignmentFilterType.Active,
                Item3Value           = (int)StudentAssignmentFilterType.Submitted
            };

            return(model);
        }
Example #4
0
        /// <summary>
        /// Gets the assignment display filter.
        /// </summary>
        /// <param name="action">The action.</param>
        /// <param name="controller">The controller.</param>
        /// <param name="updateTargetId">The update target id.</param>
        /// <param name="displayFilter">The display filter.</param>
        /// <returns></returns>
        public DisplayFilterViewModel GetAssignmentDisplayFilter(string action, string controller, string updateTargetId, StudentAssignmentFilterType displayFilter = StudentAssignmentFilterType.Active)
        {
            DisplayFilterViewModel model = null;

            try
            {
                model = DisplayFilterViewModelFactory.CreateAssignmentDisplayFilterViewModel(action, controller, updateTargetId, displayFilter);
            }
            catch (Exception ex)
            {
                ExceptionManager.HandleException(ex, PolicyNameType.ExceptionReplacing);
            }
            return(model);
        }
Example #5
0
        /// <summary>
        /// Gets all student assignment submissions.
        /// </summary>
        /// <param name="studentId">The student id.</param>
        /// <param name="displayFilter">The display filter.</param>
        /// <param name="courseId">The course id.</param>
        /// <returns></returns>
        public List <AssignmentSubmissionViewModel> GetAllStudentAssignmentSubmissions(int studentId, StudentAssignmentFilterType displayFilter = StudentAssignmentFilterType.Active, int courseId = 0)
        {
            List <AssignmentSubmissionViewModel> models = new List <AssignmentSubmissionViewModel>();

            try
            {
                List <Assignment> assignments = AssignmentManager.GetAllAssignmentsByStudentAndCourse(studentId, displayFilter, courseId);
                models = AssignmentSubmissionViewModelFactory.CreateStudentAssignmentSubmissionViewModels(assignments, studentId, ObjectMapper);
            }
            catch (Exception ex)
            {
                ExceptionManager.HandleException(ex, PolicyNameType.ExceptionReplacing);
            }
            return(models);
        }