Ejemplo n.º 1
0
 public DelegateProgressViewModel(
     DelegateProgressAccessRoute accessedVia,
     DelegateCourseDetails details
     ) : base(details)
 {
     AccessedVia           = accessedVia;
     CustomisationCentreId = details.DelegateCourseInfo.CustomisationCentreId;
     IsCourseActive        = details.DelegateCourseInfo.IsCourseActive;
     AllCentresCourse      = details.DelegateCourseInfo.AllCentresCourse;
     CourseCategoryId      = details.DelegateCourseInfo.CourseCategoryId;
     SupervisorAdminId     = details.DelegateCourseInfo.SupervisorAdminId;
     EnrolmentMethodId     = details.DelegateCourseInfo.EnrolmentMethodId;
     EnrolledByAdminId     = details.DelegateCourseInfo.EnrolledByAdminId;
     EnrolledByForename    = details.DelegateCourseInfo.EnrolledByForename;
     EnrolledBySurname     = details.DelegateCourseInfo.EnrolledBySurname;
     RemovedDate           = details.DelegateCourseInfo.RemovedDate?.ToString(DateHelper.StandardDateFormat);
     DelegateId            = details.DelegateCourseInfo.DelegateId;
     DelegateFirstName     = details.DelegateCourseInfo.DelegateFirstName;
     DelegateLastName      = details.DelegateCourseInfo.DelegateLastName;
     DelegateEmail         = details.DelegateCourseInfo.DelegateEmail;
     DelegateCentreId      = details.DelegateCourseInfo.DelegateCentreId;
     CustomFields          = details.CustomPrompts.Select(
         cp =>
         new CustomFieldViewModel(
             cp.CustomPromptNumber,
             cp.CustomPromptText,
             cp.Mandatory,
             cp.Answer
             )
         )
                             .ToList();
 }
Ejemplo n.º 2
0
 public EditCompleteByDateViewModel(
     int progressId,
     DelegateProgressAccessRoute accessedVia,
     DelegateCourseInfo info
     ) : base(info)
 {
     ProgressId  = progressId;
     AccessedVia = accessedVia;
 }
Ejemplo n.º 3
0
 public EditCompleteByDateViewModel(
     EditCompleteByDateFormData formData,
     int progressId,
     DelegateProgressAccessRoute accessedVia
     ) : base(formData)
 {
     ProgressId  = progressId;
     AccessedVia = accessedVia;
 }
Ejemplo n.º 4
0
 public EditSupervisorViewModel(
     EditSupervisorFormData formData,
     int progressId,
     DelegateProgressAccessRoute accessedVia,
     IEnumerable <AdminUser> supervisors
     ) : base(formData)
 {
     ProgressId  = progressId;
     AccessedVia = accessedVia;
     Supervisors = PopulateSupervisors(formData.SupervisorId, supervisors);
 }
Ejemplo n.º 5
0
 public EditSupervisorViewModel(
     int progressId,
     DelegateProgressAccessRoute accessedVia,
     IEnumerable <AdminUser> supervisors,
     DelegateCourseInfo info
     ) : base(info)
 {
     ProgressId  = progressId;
     AccessedVia = accessedVia;
     Supervisors = PopulateSupervisors(info.SupervisorAdminId, supervisors);
 }
Ejemplo n.º 6
0
        public IActionResult Index(int progressId, DelegateProgressAccessRoute accessedVia)
        {
            var centreId            = User.GetCentreId();
            var courseDelegatesData =
                courseService.GetDelegateCourseProgress(progressId, centreId);

            var model = new DelegateProgressViewModel(
                accessedVia,
                courseDelegatesData !
                );

            return(View(model));
        }
Ejemplo n.º 7
0
        private IActionResult RedirectToPreviousPage(
            int delegateId,
            int progressId,
            DelegateProgressAccessRoute accessedVia
            )
        {
            if (accessedVia.Equals(DelegateProgressAccessRoute.CourseDelegates))
            {
                return(RedirectToAction("Index", new { progressId, accessedVia }));
            }

            return(RedirectToAction("Index", "ViewDelegate", new { delegateId }));
        }
Ejemplo n.º 8
0
        public IActionResult EditCompleteByDate(int progressId, DelegateProgressAccessRoute accessedVia)
        {
            var centreId = User.GetCentreId();
            var delegateCourseProgress =
                courseService.GetDelegateCourseProgress(progressId, centreId);

            var model = new EditCompleteByDateViewModel(
                progressId,
                accessedVia,
                delegateCourseProgress !.DelegateCourseInfo
                );

            return(View(model));
        }
Ejemplo n.º 9
0
        public IActionResult EditSupervisor(int progressId, DelegateProgressAccessRoute accessedVia)
        {
            var centreId = User.GetCentreId();
            var delegateCourseProgress =
                courseService.GetDelegateCourseProgress(progressId, centreId);
            var supervisors = userService.GetSupervisorsAtCentreForCategory(centreId, delegateCourseProgress !.DelegateCourseInfo.CourseCategoryId);

            var model = new EditSupervisorViewModel(
                progressId,
                accessedVia,
                supervisors,
                delegateCourseProgress !.DelegateCourseInfo
                );

            return(View(model));
        }
Ejemplo n.º 10
0
        public IActionResult EditSupervisor(
            EditSupervisorFormData formData,
            int progressId,
            DelegateProgressAccessRoute accessedVia
            )
        {
            if (!ModelState.IsValid)
            {
                var supervisors = userService.GetSupervisorsAtCentre(User.GetCentreId());
                var model       = new EditSupervisorViewModel(formData, progressId, accessedVia, supervisors);
                return(View(model));
            }

            progressService.UpdateSupervisor(progressId, formData.SupervisorId);

            return(RedirectToPreviousPage(formData.DelegateId, progressId, accessedVia));
        }
Ejemplo n.º 11
0
        public IActionResult EditCompleteByDate(
            EditCompleteByDateFormData formData,
            int progressId,
            DelegateProgressAccessRoute accessedVia
            )
        {
            if (!ModelState.IsValid)
            {
                var model = new EditCompleteByDateViewModel(formData, progressId, accessedVia);
                return(View(model));
            }

            var completeByDate = formData.Year != null ? new DateTime(formData.Year.Value, formData.Month !.Value, formData.Day !.Value) : (DateTime?)null;

            progressService.UpdateCompleteByDate(progressId, completeByDate);

            return(RedirectToPreviousPage(formData.DelegateId, progressId, accessedVia));
        }
Ejemplo n.º 12
0
        public void EditCompleteByDatePost_redirects_to_correct_action(
            DelegateProgressAccessRoute accessedVia,
            string expectedController,
            string expectedAction
            )
        {
            // Given
            const int progressId = 1;
            var       formData   = new EditCompleteByDateFormData {
                Day = 1, Month = 1, Year = 2021
            };

            A.CallTo(() => progressService.UpdateCompleteByDate(progressId, A <DateTime?> ._)).DoesNothing();

            // When
            var result = delegateProgressController.EditCompleteByDate(formData, progressId, accessedVia);

            // Then
            result.Should().BeRedirectToActionResult().WithControllerName(expectedController)
            .WithActionName(expectedAction);
        }
Ejemplo n.º 13
0
        public void EditSupervisorPost_redirects_to_correct_action(
            DelegateProgressAccessRoute accessedVia,
            string expectedController,
            string expectedAction
            )
        {
            // Given
            const int progressId   = 1;
            const int supervisorId = 1;
            var       formData     = new EditSupervisorFormData {
                SupervisorId = supervisorId
            };

            A.CallTo(() => progressService.UpdateSupervisor(progressId, supervisorId)).DoesNothing();

            // When
            var result = delegateProgressController.EditSupervisor(formData, progressId, accessedVia);

            // Then
            result.Should().BeRedirectToActionResult().WithControllerName(expectedController)
            .WithActionName(expectedAction);
        }