Files
oemanxTrader/OemanTrader.FinantialModelingPrepAPI/Services/StockPriceService.cs
2022-05-26 15:19:31 +02:00

39 lines
1.3 KiB
C#

using OemanTrader.Domain.Exceptions;
using OemanTrader.Domain.Services;
using OemanTrader.FinantialModelingPrepAPI.Results;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OemanTrader.FinantialModelingPrepAPI.Services
{
public class StockPriceService : IStockPriceService
{
private readonly FinancialModelingPrepHttpClientFactory _httpClientFactory;
public StockPriceService(FinancialModelingPrepHttpClientFactory httpClientFactory)
{
_httpClientFactory = httpClientFactory;
}
public async Task<double> GetPrice(string symbol)
{
using (FinancialModelingPrepHttpClient client = _httpClientFactory.CreateHttpClient())
{
string uri = "stock/real-time-price/" + symbol;
//HttpResponseMessage response = await client.GetAsync(uri + "?apikey=2035d4934632e1d7c38f15982e39d3aa");
StockPriceResult stockPriceResult = await client.GetAsync<StockPriceResult>(uri);
if (stockPriceResult.Price == 0)
{
throw new InvalidSymbolException(symbol);
}
return stockPriceResult.Price;
}
}
}
}