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