using MarketData.MarketDataModel; using MarketData.DataAccess; using MarketDataServer.Authorization; using MarketData; using LogLevel = MarketData.LogLevel; using Microsoft.AspNetCore.Mvc; namespace MarketDataServer.Controllers { //http://localhost:8000/api/PreMarket/GetAvailableMarketDates?&market=S&P [ApiController] [Route("api/[controller]/[action]")] public class PreMarketController: ControllerBase { [HttpGet(Name = "GetAvailableMarketDates")] public IEnumerable GetAvailableMarketDates(String token,String market) { try { MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PreMarketController::GetAvailableMarketDates]{1}",DateTime.Now,market)); if(!Authorizations.GetInstance().IsAuthorized(token)) return null; return PremarketDA.GetAvailableMarketDates(market); } catch(Exception exception) { MDTrace.WriteLine(LogLevel.DEBUG,$"Exception:{exception.ToString()}"); return null; } } [HttpGet(Name = "GetAvailableMarkets")] public IEnumerable GetAvailableMarkets(String token) { try { MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PreMarketController::GetAvailableMarkets]",DateTime.Now)); if(!Authorizations.GetInstance().IsAuthorized(token)) return null; return PremarketDA.GetDistinctMarkets(); } catch(Exception exception) { MDTrace.WriteLine(LogLevel.DEBUG,$"Exception:{exception.ToString()}"); return null; } } [HttpGet(Name = "GetLatestPremarketData")] public IEnumerable GetLatestPremarketData(String token,String market,DateTime marketDate) { try { MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PreMarketController::GetLatestPremarketData]{1},{2}",DateTime.Now,market,marketDate.ToShortDateString())); if(!Authorizations.GetInstance().IsAuthorized(token)) return null; return PremarketDA.GetLatestPremarketData(market,marketDate); } catch(Exception exception) { MDTrace.WriteLine(LogLevel.DEBUG,$"Exception:{exception.ToString()}"); return null; } } } }