FastQuant.ExecutionSimulator.HandleCancel C# (CSharp) Method

HandleCancel() private method

private HandleCancel ( Order order ) : void
order Order
return void
        private void HandleCancel(Order order)
        {
            if (this.summariesByOrderId[order.Id] != null && IsOrderDone(this.summariesByOrderId[order.Id].OrdStatus))
            {
                this.ExecOrderCancelReject(order, "Order already done");
                return;
            }
            this.ordersByInstrumentId[order.Instrument.Id].Remove(order);
            var report = new ExecutionReport
            {
                DateTime = this.framework.Clock.DateTime,
                Order = order,
                OrderId = order.Id,
                Instrument = order.Instrument,
                InstrumentId = order.InstrumentId,
                OrdQty = order.Qty,
                Price = order.Price,
                StopPx = order.StopPx,
                TimeInForce = order.TimeInForce,
                ExecType = ExecType.ExecCancelled,
                OrdStatus = OrderStatus.Cancelled,
                CurrencyId = order.Instrument.CurrencyId,
                OrdType = order.Type,
                Side = order.Side,
                CumQty = order.CumQty,
                LastQty = 0.0,
                LeavesQty = order.LeavesQty,
                LastPx = 0.0,
                AvgPx = 0.0,
                Text = order.Text
            };
            this.summariesByOrderId[order.Id] = new ReportSummary(report);
            EmitExecutionReport(report, Queued);
        }