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));
        }