예제 #1
0
        private QueryStringBuilder GetQueryString(TimeSeriesRange?range, bool calendar, int?last, string refId)
        {
            var queryStringBuilder = new QueryStringBuilder();

            if (range != null)
            {
                queryStringBuilder.Add("range", range.GetDescriptionFromEnum());
            }

            if (calendar)
            {
                queryStringBuilder.Add("calendar", "true");
            }

            if (last != null && last != 0)
            {
                queryStringBuilder.Add("last", last.ToString());
            }

            if (!string.IsNullOrEmpty(refId))
            {
                queryStringBuilder.Add("refId", refId);
            }

            return(queryStringBuilder);
        }
예제 #2
0
        public async Task HistoricalNewsAsyncTest(string symbol, TimeSeriesRange?range, int limit)
        {
            var response = await sandBoxClient.News.HistoricalNewsAsync(symbol, range, limit);

            Assert.IsNull(response.ErrorMessage);
            Assert.IsNotNull(response.Data);
            Assert.GreaterOrEqual(response.Data.Count(), 1);
        }
예제 #3
0
        public async Task <IEXResponse <IEnumerable <SecurityUpdateResponse> > > SecurityReclassificationAsync(
            string symbol, TimeSeriesRange?range, bool calendar, int?last, string refId)
        {
            string urlPattern = "time-series/advanced_security_reclassification/[symbol]";

            urlPattern = GetBaseUrl(urlPattern, symbol);
            var qsb     = GetQueryString(range, calendar, last, refId);
            var pathNvc = GetPathNvc(symbol);

            return(await executor.ExecuteAsync <IEnumerable <SecurityUpdateResponse> >(urlPattern, pathNvc, qsb));
        }
예제 #4
0
        public async Task <IEXResponse <IEnumerable <RightToPurchaseResponse> > > RightToPurchaseAsync(
            string symbol, TimeSeriesRange?range, bool calendar = false, int?last = null, string refId = null)
        {
            string urlPattern = "time-series/advanced_right_to_purchase/[symbol]";

            urlPattern = GetBaseUrl(urlPattern, symbol);
            var qsb     = GetQueryString(range, calendar, last, refId);
            var pathNvc = GetPathNvc(symbol);

            return(await executor.ExecuteAsync <IEnumerable <RightToPurchaseResponse> >(urlPattern, pathNvc, qsb));
        }
예제 #5
0
        public async Task <IEXResponse <IEnumerable <DividendAdvancedResponse> > > DividendsAdvancedAsync(
            string symbol, TimeSeriesRange?range, bool calendar, int?last, string refId)
        {
            string urlPattern = "time-series/advanced_dividends/[symbol]";

            urlPattern = GetBaseUrl(urlPattern, symbol);
            var qsb     = GetQueryString(range, calendar, last, refId);
            var pathNvc = GetPathNvc(symbol);

            return(await executor.ExecuteAsync <IEnumerable <DividendAdvancedResponse> >(urlPattern, pathNvc, qsb));
        }
예제 #6
0
        private QueryStringBuilder GetQueryString(TimeSeriesRange?range = null, int?limit = null)
        {
            var queryStringBuilder = new QueryStringBuilder();

            if (range != null)
            {
                queryStringBuilder.Add("range", range.GetDescriptionFromEnum());
            }

            if (limit != null)
            {
                queryStringBuilder.Add("limit", limit.ToString());
            }

            return(queryStringBuilder);
        }
예제 #7
0
        public async Task <IEXResponse <IEnumerable <NewsResponse> > > HistoricalNewsAsync(string symbol, TimeSeriesRange?range = null, int?limit = null)
        {
            const string urlPattern = "time-series/news/[symbol]";
            var          qsb        = GetQueryString(range, limit);
            var          pathNvc    = GetPathNvc(symbol);

            return(await executor.ExecuteAsync <IEnumerable <NewsResponse> >(urlPattern, pathNvc, qsb));
        }