private void AddOrganisationSicCode(Organisation organisation, int sicCodeInt, SourceOfData sourceOfData)
        {
            SicCode sicCode = dataRepository.Get <SicCode>(sicCodeInt);

            if (sicCode == null)
            {
                CustomLogger.Warning(
                    "Bad SIC code",
                    new
                {
                    OrganisationName = organisation.OrganisationName,
                    CompanyNumber    = organisation.CompanyNumber,
                    SicCode          = sicCodeInt,
                    Source           = sourceOfData.ToString(),
                    Error            = $"SIC code ({sicCodeInt}) not found in our database"
                });
                return;
            }

            string source;

            switch (sourceOfData)
            {
            case SourceOfData.CompaniesHouse:
                source = "CoHo";
                break;

            case SourceOfData.Manual:
                source = "Manual";
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(sourceOfData), sourceOfData, null);
            }

            var organisationSicCode = new OrganisationSicCode
            {
                Organisation = organisation,
                SicCode      = sicCode,
                Source       = source
            };

            organisation.OrganisationSicCodes.Add(organisationSicCode);

            dataRepository.Insert(organisationSicCode);
        }
        private void AddOrganisationSicCode(Organisation organisation, string sicCodeString, SourceOfData sourceOfData)
        {
            if (!int.TryParse(sicCodeString, out int sicCodeInt))
            {
                CustomLogger.Warning(
                    "Bad SIC code",
                    new
                {
                    OrganisationName = organisation.OrganisationName,
                    CompanyNumber    = organisation.CompanyNumber,
                    SicCode          = sicCodeString,
                    Source           = sourceOfData.ToString(),
                    Error            = $"Could not parse ({sicCodeString}) as an integer"
                });
                return;
            }

            AddOrganisationSicCode(organisation, sicCodeInt, sourceOfData);
        }