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 })); }
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 })); }