public IActionResult SaveCourseDetails(
            int customisationId,
            EditCourseDetailsFormData formData
            )
        {
            var centreId = User.GetCentreId();

            CourseDetailsValidator.ValidateCustomisationName(
                formData,
                ModelState,
                courseService,
                centreId,
                customisationId
                );
            CourseDetailsValidator.ResetValueAndClearErrorsOnPasswordIfUnselected(formData, ModelState);
            CourseDetailsValidator.ResetValueAndClearErrorsOnEmailIfUnselected(formData, ModelState);
            CourseDetailsValidator.ResetValueAndClearErrorsOnOtherCompletionCriteriaIfUnselected(formData, ModelState);

            if (!ModelState.IsValid)
            {
                var model = new EditCourseDetailsViewModel(formData, customisationId);
                return(View("EditCourseDetails", model));
            }

            var tutCompletionThreshold =
                formData.TutCompletionThreshold == null ? 0 : int.Parse(formData.TutCompletionThreshold);
            var diagCompletionThreshold =
                formData.DiagCompletionThreshold == null ? 0 : int.Parse(formData.DiagCompletionThreshold);

            courseService.UpdateCourseDetails(
                customisationId,
                formData.CustomisationName !,
                formData.Password !,
                formData.NotificationEmails !,
                formData.IsAssessed,
                tutCompletionThreshold,
                diagCompletionThreshold
                );

            return(RedirectToAction("Index", new { customisationId }));
        }
示例#2
0
        public IActionResult SaveCourseDetails(
            int customisationId,
            EditCourseDetailsFormData formData
            )
        {
            var centreId          = User.GetCentreId();
            var customisationName =
                formData.CustomisationName == null || string.IsNullOrWhiteSpace(formData.CustomisationName)
                    ? string.Empty
                    : formData.CustomisationName;

            ValidateCustomisationName(customisationId, customisationName, centreId, formData);
            ValidatePassword(formData);
            ValidateEmail(formData);
            ValidateCompletionCriteria(formData);

            if (!ModelState.IsValid)
            {
                var model = new EditCourseDetailsViewModel(formData, customisationId);
                return(View("EditCourseDetails", model));
            }

            var tutCompletionThreshold =
                formData.TutCompletionThreshold == null ? 0 : int.Parse(formData.TutCompletionThreshold);
            var diagCompletionThreshold =
                formData.DiagCompletionThreshold == null ? 0 : int.Parse(formData.DiagCompletionThreshold);

            courseService.UpdateCourseDetails(
                customisationId,
                customisationName,
                formData.Password !,
                formData.NotificationEmails !,
                formData.IsAssessed,
                tutCompletionThreshold,
                diagCompletionThreshold
                );

            return(RedirectToAction("Index", new { customisationId }));
        }