Files
MarketDataServer/Controllers/PriceController.cs
2025-02-24 21:24:04 -05:00

47 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Web.Http;
using MarketData.MarketDataModel;
using MarketData.DataAccess;
using MarketDataServer.Authorization;
using MarketData.Generator;
using MarketData;
namespace MarketDataServer.Controllers
{
//http://localhost:8000/api/Price
//http://localhost:8000/api/Price/GetPrices?&symbol=MIDD&days=5
//http://73.245.214.234:8000/api/Price/GetPrices?&symbol=MIDD&days=5
public class PriceController : ApiController
{
public IEnumerable<Price> GetPrices(String token, String symbol, int days)
{
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PriceController::GetPrices]", DateTime.Now));
if (!Authorizations.GetInstance().IsAuthorized(token)) return null;
return PricingDA.GetPrices(symbol, days);
}
public BollingerBands GetBollingerBands(String token,String symbol,int dayCount)
{
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PriceController::GetBollingerBands]", DateTime.Now));
if (!Authorizations.GetInstance().IsAuthorized(token)) return null;
Prices prices=PricingDA.GetPrices(symbol,dayCount);
BollingerBands bollingerBands=BollingerBandGenerator.GenerateBollingerBands(prices);
return bollingerBands;
}
public DateTime GetLatestPricingDate(String token)
{
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PriceController::GetLatestPricingDate]", DateTime.Now));
if (!Authorizations.GetInstance().IsAuthorized(token)) return DateTime.MinValue;
DateTime latestPricingDate=PricingDA.GetLatestDate();
return latestPricingDate;
}
public String GetCompanyNameForSymbol(String token, String symbol)
{
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PortfolioController::GetCompanyNameForSymbol]", DateTime.Now));
if (!Authorizations.GetInstance().IsAuthorized(token)) return null;
String companyName=PricingDA.GetNameForSymbol(symbol);
return companyName;
}
}
}