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