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