private IActionResult AddNewSicCode(ChangeOrganisationSicCodesViewModel viewModel, Organisation organisation)
        {
            viewModel.ParseAndValidateParameters(Request, m => m.SicCodeIdToChange);

            if (viewModel.HasAnyErrors())
            {
                PopulateViewModelWithSicCodeData(viewModel, organisation);
                return(View("ManuallyChangeOrganisationSicCodes", viewModel));
            }

            SicCode newSicCode = dataRepository.Get <SicCode>(viewModel.SicCodeIdToChange.Value);

            if (newSicCode == null)
            {
                viewModel.AddErrorFor(
                    m => m.SicCodeIdToChange,
                    "This SIC code is not valid (it is not in our database of SIC codes)");
            }

            if (viewModel.HasAnyErrors())
            {
                PopulateViewModelWithSicCodeData(viewModel, organisation);
                return(View("ManuallyChangeOrganisationSicCodes", viewModel));
            }

            if (viewModel.SicCodeIdsToAdd == null)
            {
                viewModel.SicCodeIdsToAdd = new List <int>();
            }

            viewModel.SicCodeIdsToAdd.Add(newSicCode.SicCodeId);
            viewModel.SicCodeIdToChange = null;

            PopulateViewModelWithSicCodeData(viewModel, organisation);
            return(View("ManuallyChangeOrganisationSicCodes", viewModel));
        }