Add Exception handling, set min pool size to zero
This commit is contained in:
@@ -20,60 +20,100 @@ namespace MarketDataServer.Controllers
|
||||
[HttpGet(Name = "GetOpenPositionsWithDescription")]
|
||||
public IEnumerable<PositionWithDescription> GetOpenPositionsWithDescription(String token)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PortfolioController::GetOpenPositionsWithDescriptionAsOf]",DateTime.Now));
|
||||
if (!Authorizations.GetInstance().IsAuthorized(token)) return null;
|
||||
List<PositionWithDescription> positionsWithDescription=new List<PositionWithDescription>();
|
||||
PortfolioTrades openTrades=PortfolioDA.GetOpenTrades();
|
||||
List<Position> positions=openTrades.GetPositions(DateTime.Now);
|
||||
foreach(Position position in positions)
|
||||
{
|
||||
CompanyProfile companyProfile=CompanyProfileDA.GetCompanyProfile(position.Symbol);
|
||||
if(null==companyProfile.Description)companyProfile.Description="Description unvailable";
|
||||
positionsWithDescription.Add(new PositionWithDescription(position,companyProfile.CompanyName, companyProfile.Description));
|
||||
}
|
||||
return positionsWithDescription;
|
||||
}
|
||||
try
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PortfolioController::GetOpenPositionsWithDescriptionAsOf]",DateTime.Now));
|
||||
if (!Authorizations.GetInstance().IsAuthorized(token)) return null;
|
||||
List<PositionWithDescription> positionsWithDescription=new List<PositionWithDescription>();
|
||||
PortfolioTrades openTrades=PortfolioDA.GetOpenTrades();
|
||||
List<Position> positions=openTrades.GetPositions(DateTime.Now);
|
||||
foreach(Position position in positions)
|
||||
{
|
||||
CompanyProfile companyProfile=CompanyProfileDA.GetCompanyProfile(position.Symbol);
|
||||
if(null==companyProfile.Description)companyProfile.Description="Description unvailable";
|
||||
positionsWithDescription.Add(new PositionWithDescription(position,companyProfile.CompanyName, companyProfile.Description));
|
||||
}
|
||||
return positionsWithDescription;
|
||||
}
|
||||
catch(Exception exception)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,$"Exception:{exception.ToString()}");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet(Name = "GetAccounts")]
|
||||
public IEnumerable<String> GetAccounts(String token)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PortfolioController::GetAccounts]",DateTime.Now));
|
||||
if (!Authorizations.GetInstance().IsAuthorized(token)) return null;
|
||||
return PortfolioDA.GetAccounts();
|
||||
try
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PortfolioController::GetAccounts]",DateTime.Now));
|
||||
if (!Authorizations.GetInstance().IsAuthorized(token)) return null;
|
||||
return PortfolioDA.GetAccounts();
|
||||
}
|
||||
catch(Exception exception)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,$"Exception:{exception.ToString()}");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet(Name = "GetAccountsWithOpenTrades")]
|
||||
public IEnumerable<String> GetAccountsWithOpenTrades(String token)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PortfolioController::GetAccountsWithOpenTrades]", DateTime.Now));
|
||||
if (!Authorizations.GetInstance().IsAuthorized(token)) return null;
|
||||
return PortfolioDA.GetAccountsWithOpenTrades();
|
||||
try
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PortfolioController::GetAccountsWithOpenTrades]", DateTime.Now));
|
||||
if (!Authorizations.GetInstance().IsAuthorized(token)) return null;
|
||||
return PortfolioDA.GetAccountsWithOpenTrades();
|
||||
}
|
||||
catch(Exception exception)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,$"Exception:{exception.ToString()}");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet(Name = "GetStopLimit")]
|
||||
public StopLimit GetStopLimit(String token,String symbol)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PortfolioController::GetStopLimit]",DateTime.Now));
|
||||
if(!Authorizations.GetInstance().IsAuthorized(token)) return null;
|
||||
StopLimit stopLimit=PortfolioDA.GetStopLimit(symbol);
|
||||
return stopLimit;
|
||||
try
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PortfolioController::GetStopLimit]",DateTime.Now));
|
||||
if(!Authorizations.GetInstance().IsAuthorized(token)) return null;
|
||||
StopLimit stopLimit=PortfolioDA.GetStopLimit(symbol);
|
||||
return stopLimit;
|
||||
}
|
||||
catch(Exception exception)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,$"Exception:{exception.ToString()}");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet(Name = "GetPortfolioTradesWithParityPrice")]
|
||||
public PortfolioTradesWithParityPrice GetPortfolioTradesWithParityPrice(String token, String symbol)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PortfolioController::GetPortfolioTradesWithParityPrice]", DateTime.Now));
|
||||
if (!Authorizations.GetInstance().IsAuthorized(token)) return null;
|
||||
Price zeroPrice=null;
|
||||
DateTime latestPricingDate=PricingDA.GetLatestDate(symbol);
|
||||
Price latestPrice = PricingDA.GetPrice(symbol, latestPricingDate);
|
||||
PortfolioTrades portfolioTrades = PortfolioDA.GetTradesSymbol(symbol);
|
||||
if (null == portfolioTrades) return null;
|
||||
portfolioTrades = portfolioTrades.GetOpenTrades();
|
||||
if (null == portfolioTrades) return null;
|
||||
PortfolioTrades portfolioTradesLots = LotAggregator.CombineLots(portfolioTrades);
|
||||
zeroPrice=ParityGenerator.GenerateGainLossValue(portfolioTrades,latestPrice);
|
||||
return new PortfolioTradesWithParityPrice(portfolioTradesLots,zeroPrice);
|
||||
try
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[{0:G}][PortfolioController::GetPortfolioTradesWithParityPrice]", DateTime.Now));
|
||||
if (!Authorizations.GetInstance().IsAuthorized(token)) return null;
|
||||
Price zeroPrice=null;
|
||||
DateTime latestPricingDate=PricingDA.GetLatestDate(symbol);
|
||||
Price latestPrice = PricingDA.GetPrice(symbol, latestPricingDate);
|
||||
PortfolioTrades portfolioTrades = PortfolioDA.GetTradesSymbol(symbol);
|
||||
if (null == portfolioTrades) return null;
|
||||
portfolioTrades = portfolioTrades.GetOpenTrades();
|
||||
if (null == portfolioTrades) return null;
|
||||
PortfolioTrades portfolioTradesLots = LotAggregator.CombineLots(portfolioTrades);
|
||||
zeroPrice=ParityGenerator.GenerateGainLossValue(portfolioTrades,latestPrice);
|
||||
return new PortfolioTradesWithParityPrice(portfolioTradesLots,zeroPrice);
|
||||
}
|
||||
catch(Exception exception)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,$"Exception:{exception.ToString()}");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user