public MediatorResponse <ApprenticeshipApplicationViewModel> ReviewSetToSubmitted(ApprenticeshipApplicationViewModel apprenticeshipApplicationViewModel) { var validationResult = _apprenticeshipApplicationViewModelServerValidator.Validate(apprenticeshipApplicationViewModel); if (!validationResult.IsValid) { return(GetMediatorResponse(ApprenticeshipApplicationMediatorCodes.ReviewSaveAndContinue.FailedValidation, apprenticeshipApplicationViewModel, validationResult)); } try { _applicationProvider.UpdateApprenticeshipApplicationViewModelNotes(apprenticeshipApplicationViewModel.ApplicationSelection.ApplicationId, apprenticeshipApplicationViewModel.Notes, false); _applicationProvider.SetStateSubmitted(apprenticeshipApplicationViewModel.ApplicationSelection); return(GetMediatorResponse(ApprenticeshipApplicationMediatorCodes.ReviewSaveAndContinue.Ok, apprenticeshipApplicationViewModel)); } catch (Exception) { var viewModel = GetFailedUpdateApprenticeshipApplicationViewModel(apprenticeshipApplicationViewModel.ApplicationSelection); return(GetMediatorResponse(ApprenticeshipApplicationMediatorCodes.ReviewSaveAndContinue.Error, viewModel, ApplicationViewModelMessages.UpdateNotesFailed, UserMessageLevel.Error)); } }