private static string GetQuery(HistoricalQuoteRequest request)
        {
            var span     = GetSpan(request.Span);
            var interval = GetInterval(request.Interval);
            var bounds   = GetBounds(request.Bounds);
            var query    = "?interval=" + interval;

            query += "&span=" + span;
            query += "&bounds=" + bounds;
            return(query);
        }
        public async Task <HistoricalQuote[]> GetHistoricalQuote(HistoricalQuoteRequest request)
        {
            var address = new UriBuilder
            {
                Scheme = "https",
                Host   = ApiAddress.RootUri,
                Path   = $"{ApiAddress.HistoricalQuotes}/{request.Symbol.ToUpperInvariant()}/",
                Query  = GetQuery(request)
            }.Uri;
            var httpRequest = new HttpRequestMessage
            {
                Method     = HttpMethod.Get,
                RequestUri = address
            };
            var response = await MakeRequest(httpRequest);

            var responseBody = await response.Content.ReadAsStringAsync();

            return(JsonConvert.DeserializeObject <HistoricalQuoteResponse>(responseBody, JsonSettings).Historicals);
        }
 public async Task <HistoricalQuote[]> GetHistoricalQuote(HistoricalQuoteRequest request) => await RobinhoodClient.GetHistoricalQuote(request);
 public async Task <ActionResult> GetHistoricalQuote([Bind(HistoricalQuoteRequestBindString)][FromBody] HistoricalQuoteRequest request)
 {
     return(StatusCode(StatusCodes.Status200OK, await stockMarketQuoteManager.GetHistoricalQuote(request)));
 }