public ActionResult CreateProvider(ProviderViewModel viewModel) { var response = _adminMediator.CreateProvider(viewModel); ModelState.Clear(); SetUserMessage(response.Message); switch (response.Code) { case AdminMediatorCodes.CreateProvider.FailedValidation: response.ValidationResult.AddToModelState(ModelState, "SearchViewModel"); return(View(response.ViewModel)); case AdminMediatorCodes.CreateProvider.UkprnAlreadyExists: return(View(response.ViewModel)); case AdminMediatorCodes.CreateProvider.Ok: return(View(response.ViewModel)); default: throw new InvalidMediatorCodeException(response.Code); } }