コード例 #1
0
        /// <inheritdoc />
        public async Task <IReadOnlyDictionary <Int64, String> > GetConditionMapAsync(
            TickType tickType = TickType.Trades,
            CancellationToken cancellationToken = default)
        {
            var dictionary = await _httpClient.GetAsync
                             <IDictionary <String, String>, Dictionary <String, String> >(
                GetUriBuilder($"v1/meta/conditions/{tickType.ToEnumString()}"),
                cancellationToken)
                             .ConfigureAwait(false);

            return(dictionary
                   .ToDictionary(
                       kvp => Int64.Parse(kvp.Key,
                                          NumberStyles.Integer, CultureInfo.InvariantCulture),
                       kvp => kvp.Value));
        }
コード例 #2
0
        /// <summary>
        /// Gets mapping dictionary for specific tick type from Polygon REST API endpoint.
        /// </summary>
        /// <param name="tickType">Tick type for conditions map.</param>
        /// <returns>
        /// Read-only dictionary with keys equal to condition integer values and values
        /// equal to full tick condition descriptions for each supported tick type.
        /// </returns>
        public async Task <IReadOnlyDictionary <Int64, String> > GetConditionMapAsync(
            TickType tickType = TickType.Trades)
        {
            var builder = new UriBuilder(_polygonHttpClient.BaseAddress)
            {
                Path  = $"v1/meta/conditions/{tickType.ToEnumString()}",
                Query = getDefaultPolygonApiQueryBuilder()
            };

            var dictionary = await getSingleObjectAsync
                             <IDictionary <String, String>, Dictionary <String, String> >(
                _polygonHttpClient, FakeThrottler.Instance, builder);

            return(dictionary
                   .ToDictionary(
                       kvp => long.Parse(kvp.Key,
                                         NumberStyles.Integer, CultureInfo.InvariantCulture),
                       kvp => kvp.Value));
        }