protected override async Task <IEnumerable <ITaxonClassification> > ResolveScientificName(string scientificName) { return(await Task.Run(() => { var result = new HashSet <ITaxonClassification>(); using (var aphiaService = new AphiaNameService()) { var aphiaRecords = aphiaService.getAphiaRecords(scientificName, false, true, false, 0); if (aphiaRecords != null && aphiaRecords.Length > 0) { var records = aphiaRecords .Where(s => string.Compare(s.scientificname, scientificName, true) == 0) .Select(this.MapAphiaRecordToTaxonClassification); foreach (var record in records) { result.Add(record); } } } return result; })); }
public void AphiaService_GetAphiaRecordsWithValidParameters_ShouldWork() { var service = new AphiaNameService(); var records = service.getAphiaRecords("Anodontiglanis", true, true, false, 0); Console.WriteLine(records?.Length); if (records != null) { foreach (AphiaRecord record in records) { Console.WriteLine(record?.rank); Console.WriteLine(record?.scientificname); Console.WriteLine(record?.valid_name); } } }