private string GetSpeciesString(WEB_BIOTOPE biotope)
        {
            var species = new List <string>();

            foreach (var grabSpecies in biotope.WEB_BIOT_SPECIES_GRAB)
            {
                var formattedSpecies = Regex.Replace(grabSpecies.ITEM_NAME, htmlTagRegex, String.Empty);

                if (!species.Contains(formattedSpecies))
                {
                    species.Add(formattedSpecies);
                }
            }

            foreach (var observationSpecies in biotope.WEB_BIOT_SPECIES_OBSERVATION)
            {
                var formattedSpecies = Regex.Replace(observationSpecies.ITEM_NAME, htmlTagRegex, String.Empty);

                if (!species.Contains(formattedSpecies))
                {
                    species.Add(formattedSpecies);
                }
            }

            return(string.Join(", ", species));
        }
        private object[] GetKeywords(WEB_BIOTOPE biotope)
        {
            var rootBiotope = GetRootBiotope(biotope.WEB_BIOTOPE_HIERARCHY);

            if (!string.IsNullOrWhiteSpace(rootBiotope))
            {
                return(new[]
                {
                    new
                    {
                        vocab = "http://vocab.jncc.gov.uk/mhc",
                        value = "biotope"
                    },
                    new
                    {
                        vocab = "http://vocab.jncc.gov.uk/mhc",
                        value = rootBiotope
                    }
                });
            }
            else
            {
                return(new[]
                {
                    new
                    {
                        vocab = "http://vocab.jncc.gov.uk/mhc",
                        value = "biotope"
                    }
                });
            }
        }
        private object GetBiotopeDto(WEB_BIOTOPE biotope)
        {
            var biotopeDto = new
            {
                BiotopeKey            = biotope.BIOTOPE_KEY,
                OriginalCode          = biotope.ORIGINAL_CODE,
                FullTerm              = biotope.FULL_TERM,
                Description           = biotope.DESCRIPTION,
                SpecialFeatures       = biotope.SPECIAL_FEATURES,
                TemporalVariation     = biotope.TEMPORAL_VARIATION,
                Situation             = biotope.SITUATION,
                FrequencyKey          = biotope.FREQUENCY_KEY,
                Frequency             = biotope.FREQUENCY,
                Landscape             = biotope.LANDSCAPE,
                Salinity              = biotope.SALINITY,
                Height                = biotope.HEIGHT,
                Exposure              = biotope.EXPOSURE,
                TidalStreams          = biotope.TIDAL_STREAMS,
                Substratum            = biotope.SUBSTRATUM,
                Subzone               = biotope.SUBZONE,
                SortCode              = biotope.SORT_CODE,
                SensitivityAssessment = biotope.SENSITIVITY_ASSESSMENT,
                DerivedFrom           = biotope.DERIVED_FROM,
                FaunalGroup           = biotope.FAUNAL_GROUP
            };

            return(biotopeDto);
        }