예제 #1
0
        public static HistoricalPrice GetLastPrice(string ticker, Exchange?exchange, AssetClass?assetType)
        {
            string uri = $"api/DataSources/getlastprice?ticker={ticker}";

            if (exchange.HasValue)
            {
                uri += $"&market={exchange.ToString()}";
            }
            if (assetType.HasValue)
            {
                uri += $"&assetType={assetType.ToString()}";
            }
            else
            {
                uri += $"&assetType={AssetClass.Unknown.ToString()}";
            }

            HttpStatusCode statusCode = HttpClientWebAPI.Get(uri, out string jsonResponse);
            var            response   = JsonConvert.DeserializeObject <APIResponse <HistoricalPrice> >(jsonResponse);

            if (response.Ok)
            {
                return(response.Content);
            }
            else
            {
                return(null);
            }
        }
예제 #2
0
        public static IEnumerable <Portfolio> GetPortfoliosByUser(string username)
        {
            string         uri        = $"api/Portfolios/getportfoliosbyuser?username={username}";
            HttpStatusCode statusCode = HttpClientWebAPI.Get(uri, out string jsonResponse);
            APIResponse <IEnumerable <Portfolio> > response = JsonConvert.DeserializeObject <APIResponse <IEnumerable <Portfolio> > >(jsonResponse, jsonSerializerSettings);

            return(response.Content);
        }
예제 #3
0
        public static APIResponse <Stock> GetCompleteStockData(string ticker, Exchange?market, AssetClass?assetType, bool includeOptionChain, bool includeFinancialData)
        {
            string uri = $"api/DataSources/getcompletestockdata?ticker={ticker}";

            if (market.HasValue)
            {
                uri += $"&market={market.ToString()}";
            }
            if (assetType.HasValue)
            {
                uri += $"&assetType={assetType.ToString()}";
            }
            else
            {
                uri += $"&assetType={AssetClass.Unknown.ToString()}";
            }
            uri += $"&includeOptionChain={includeOptionChain}";
            uri += $"&includeFinancialData={includeFinancialData}";
            HttpStatusCode statusCode = HttpClientWebAPI.Get(uri, out string jsonResponse);

            return(JsonConvert.DeserializeObject <APIResponse <Stock> >(jsonResponse));
        }
예제 #4
0
        public static APIResponse <PriceList> GetPrices(string ticker, Exchange?exchange, DateTime?from, DateTime?to, PriceInterval interval)
        {
            string uri = $"api/DataSources/getprices?ticker={ticker}";

            if (exchange.HasValue)
            {
                uri += $"&market={exchange.ToString()}";
            }

            if (from.HasValue)
            {
                uri += $"&from={from.Value.ToString("")}";
            }

            if (to.HasValue)
            {
                uri += $"&to={to.Value.ToString("")}";
            }

            uri += $"&interval={interval.ToString("")}";
            HttpStatusCode statusCode = HttpClientWebAPI.Get(uri, out string jsonResponse);

            return(JsonConvert.DeserializeObject <APIResponse <PriceList> >(jsonResponse));
        }