private IActionResult FoundPostWithId(AddOrganisationFoundViewModel viewModel) { Organisation organisation = dataRepository.Get <Organisation>(viewModel.DeObfuscatedId); // IsUkAddress can be set by a hidden input (in which case it will be bound automatically) // Or it can be set by a GovUk_Radio button (in which case we need to use ParseAndValidate to get the value) // So, if the value hasn't already been bound, ParseAndValidate it if (!viewModel.IsUkAddress.HasValue) { viewModel.ParseAndValidateParameters(Request, m => m.IsUkAddress); } // If IsUkAddress still doesn't has a value on, then show an error if (!viewModel.IsUkAddress.HasValue) { PopulateViewModelBasedOnOrganisation(viewModel, organisation); return(View("Found", viewModel)); } organisationService.UpdateIsUkAddressIfItIsNotAlreadySet(organisation.OrganisationId, viewModel.GetIsUkAddressAsBoolean()); User user = ControllerHelper.GetGpgUserFromAspNetUser(User, dataRepository); UserOrganisation existingUserOrganisation = organisation.UserOrganisations .Where(uo => uo.UserId == user.UserId) .FirstOrDefault(); if (existingUserOrganisation != null) { AddOrganisationAlreadyRegisteringViewModel alreadyRegisteringViewModel = CreateAlreadyRegisteringViewModel(viewModel, existingUserOrganisation); return(View("AlreadyRegistering", alreadyRegisteringViewModel)); } UserOrganisation userOrganisation = registrationRepository.CreateRegistration(organisation, user, Url); return(RedirectToConfirmationPage(userOrganisation)); }