private void OnExecutionReport(Event e)
{
var report = (ExecutionReport)e;
if (!report.IsLoaded)
{
if (this.framework.Clock.Mode == ClockMode.Realtime)
{
report.dateTime = this.framework.Clock.DateTime;
}
this.framework.OrderManager.OnExecutionReport(report);
this.framework.PortfolioManager.OnExecutionReport(report);
this.framework.StrategyManager.OnExecutionReport(report);
this.framework.EventServer.EmitQueued();
}
else
{
this.framework.OrderManager.OnExecutionReportLoaded(report);
if (report.Order?.Portfolio != null)
this.framework.PortfolioManager.OnExecutionReport(report);
this.framework.StrategyManager.OnExecutionReport(report);
this.framework.EventServer.EmitQueued();
}
}