public void UserMakesCalls(int times) { for (var i = 0; i < times; i++) { var filter = new PubMedQueryFilter { Skip = 0, Take = 50, Query = QueryGenerator.GetSimpleQueryRandomDoctrNames() }; // Get Query Ids var pubmedRequest = new PubMedRequest(EntrezDatabaseTypes.pubmed); // Task1 var pubMedQueryResult = pubmedRequest.GetPublicationsIds(filter); // Task2 var result = pubmedRequest.GetPublicationSummaries(pubMedQueryResult.PubMedIdCollection); var Ids = string.Join(", ", pubMedQueryResult.PubMedIdCollection); Debug.WriteLine(Ids); Debug.WriteLine(result); } }
public PubMedPublicationIdsResult GetPublicationsIds(PubMedQueryFilter filter) { var restClient = new RestClient(ServiceURLs.ESearchBaseURL); var restRequest = new RestRequest(); restRequest.AddParameter("db", databaseName, ParameterType.QueryString); restRequest.AddParameter("retmode", "json", ParameterType.QueryString); restRequest.AddParameter("retstart", (filter.Skip * filter.Take), ParameterType.QueryString); restRequest.AddParameter("term", filter.Query, ParameterType.QueryString); restRequest.AddParameter("retmax", filter.Take, ParameterType.QueryString); if (filter.RelDate != DateTime.MinValue) { var pmDate = PubMedDateOperations.DatetimeToPubMedDate(filter.RelDate); restRequest.AddParameter("reldate", pmDate, ParameterType.QueryString); } var waitTime = PubMedThrottler.GetWaitTime(); Thread.Sleep(waitTime); var response = restClient.Execute<PubMedResponse>(restRequest).Result; if (response.Data == null) throw new Exception("No Response From The Server"); var result = new PubMedPublicationIdsResult(); result.PubMedIdCollection = new List<string>(); response.Data.esearchresult.idlist.ForEach(r => result.PubMedIdCollection.Add(r)); return result; }
public void SingleQueryTest() { var filter = new PubMedQueryFilter { Skip = 0, Take = 50, Query = QueryGenerator.GetSimpleQuery() }; // Get Query Ids var pubmedRequest = new PubMedRequest(EntrezDatabaseTypes.pubmed); // Task1 var pubMedQueryResult = pubmedRequest.GetPublicationsIds(filter); // Task2 var result = pubmedRequest.GetPublicationSummaries(pubMedQueryResult.PubMedIdCollection); }