Пример #1
0
        public JsonResult GetName(string scientificName)
        {
            WikipediaReader wikipediaRaeder = new WikipediaReader();
            string          name            = wikipediaRaeder.GetName(scientificName);

            return(Json(name));
        }
Пример #2
0
        private static Species GetOrCreateSpecies(string speciesName, Type type, SubjectManager subjectManager, Taxon genus)
        {
            WikipediaReader wReader = new WikipediaReader();

            Species species = new Species();

            if (type.Equals(typeof(Plant)))
            {
                species = new Plant();

                if (subjectManager.GetAll <Species>().Any(s => s.ScientificName.Equals(speciesName)))
                {
                    species = subjectManager.GetAll <Plant>().FirstOrDefault(s => s.ScientificName.Equals(speciesName));
                }
                else
                {
                    species.ScientificName = speciesName;
                    species.Name           = wReader.GetName(speciesName);
                    species.Parent         = genus;
                    species.Rank           = TaxonRank.Species;
                    subjectManager.Create(species);
                }
            }
            else if (type.Equals(typeof(Animal)))
            {
                species = new Animal();

                if (subjectManager.GetAll <Species>().Any(s => s.ScientificName.Equals(speciesName)))
                {
                    species = subjectManager.GetAll <Animal>().FirstOrDefault(s => s.ScientificName.Equals(speciesName));
                }
                else
                {
                    species.ScientificName = speciesName;
                    species.Name           = wReader.GetName(speciesName);
                    species.Parent         = genus;
                    species.Rank           = TaxonRank.Species;
                    subjectManager.Create(species);
                }
            }

            return(species);
        }
Пример #3
0
        private static Taxon GetOrCreateGenus(string genusName, SubjectManager subjectManager)
        {
            WikipediaReader wReader = new WikipediaReader();

            Taxon genus = new Taxon();

            if (subjectManager.GetAll <Taxon>().Any(s => s.ScientificName.Equals(genusName)))
            {
                genus = subjectManager.GetAll <Taxon>().FirstOrDefault(s => s.ScientificName.Equals(genusName));

                if (string.IsNullOrEmpty(genus.Name) && !string.IsNullOrEmpty(genus.ScientificName))
                {
                    genus.Name = wReader.GetName(genus.ScientificName);
                }

                if (string.IsNullOrEmpty(genus.ScientificName) && !string.IsNullOrEmpty(genus.Name))
                {
                    genus.ScientificName = wReader.GetScientificName(genus.Name);
                }
            }
            else
            {
                genus.ScientificName = genusName;
                genus.Name           = wReader.GetName(genusName);

                if (String.IsNullOrEmpty(genus.Name))
                {
                    genus.Name = genusName;
                }

                genus.Rank = TaxonRank.Genus;

                subjectManager.Create(genus);
            }

            return(genus);
        }