Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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);
        }