public ActionResult CreateProviderSiteRelationship(ProviderSiteViewModel viewModel) { var response = _adminMediator.CreateProviderSiteRelationship(viewModel); ModelState.Clear(); SetUserMessage(response.Message); switch (response.Code) { case AdminMediatorCodes.CreateProviderSiteRelationship.FailedValidation: response.ValidationResult.AddToModelState(ModelState, "SearchViewModel"); return(View("ProviderSite", response.ViewModel)); case AdminMediatorCodes.CreateProviderSiteRelationship.InvalidUkprn: return(RedirectToRoute(ManagementRouteNames.AdminViewProviderSite, new { viewModel.ProviderSiteId })); case AdminMediatorCodes.CreateProviderSiteRelationship.Error: return(RedirectToRoute(ManagementRouteNames.AdminViewProviderSite, new { viewModel.ProviderSiteId })); case AdminMediatorCodes.CreateProviderSiteRelationship.Ok: return(RedirectToRoute(ManagementRouteNames.AdminViewProviderSite, new { viewModel.ProviderSiteId })); default: throw new InvalidMediatorCodeException(response.Code); } }