public MediatorResponse <TraineeshipApplicationViewModel> ReviewSetToSubmitted( TraineeshipApplicationViewModel traineeshipApplicationViewModel) { var validationResult = _traineeshipApplicationViewModelServerValidator.Validate(traineeshipApplicationViewModel); if (!validationResult.IsValid) { return(GetMediatorResponse( TraineeshipApplicationMediatorCodes.ReviewSaveAndContinue.FailedValidation, traineeshipApplicationViewModel, validationResult)); } try { _applicationProvider.UpdateTraineeshipApplicationViewModelNotes( traineeshipApplicationViewModel.ApplicationSelection.ApplicationId, traineeshipApplicationViewModel.Notes, false); _applicationProvider.SetTraineeshipStateSubmitted(traineeshipApplicationViewModel.ApplicationSelection); return(GetMediatorResponse(TraineeshipApplicationMediatorCodes.ReviewSaveAndContinue.Ok, traineeshipApplicationViewModel)); } catch (Exception) { var viewModel = GetFailedUpdateTraineeshipApplicationViewModel( traineeshipApplicationViewModel.ApplicationSelection); return(GetMediatorResponse(TraineeshipApplicationMediatorCodes.ReviewSaveAndContinue.Error, viewModel, ApplicationViewModelMessages.UpdateNotesFailed, UserMessageLevel.Error)); } }