protected void Visit(Commands.AddCommunicationCommandBase command) { this.ParseCommon(command); command.ConstructParams.Phase = iExchange.Common.OrderPhase.Executed; this.CreateOrder(command); this.AddBills(command.Result, (Protocal.OrderBookData)command.OrderData); }
private void ParseCommon(Commands.AddCommunicationCommandBase command) { var constructParams = command.ConstructParams; var bookData = (Protocal.OrderBookData)command.OrderData; constructParams.FillOrderCommonData(bookData, command.InstrumentId, command.TradeDay); constructParams.Code = command.GenerateOrderCode(); constructParams.BlotterCode = base.ParseBlotterCode(command); constructParams.ExecutePrice = PriceHelper.CreatePrice(bookData.ExecutePrice, command.InstrumentId, command.TradeDay); constructParams.OrderBatchInstructionID = bookData.OrderBatchInstructionID; constructParams.OriginCode = bookData.OrginCode; if (!bookData.IsOpen) { this.ValidateForCloseOrder(bookData, constructParams); } }