public override object Read(BinaryReader reader, byte version)
{
var e = new ExecutionCommand();
e.Id = reader.ReadInt32();
e.Type = (ExecutionCommandType)reader.ReadByte();
e.DateTime = new DateTime(reader.ReadInt64());
e.TransactTime = new DateTime(reader.ReadInt64());
e.OrderId = reader.ReadInt32();
e.InstrumentId = reader.ReadInt32();
e.ProviderId = reader.ReadByte();
e.RouteId = reader.ReadByte();
e.PortfolioId = reader.ReadInt32();
e.ClientId = reader.ReadInt32();
e.Side = (OrderSide)reader.ReadByte();
e.OrdType = (OrderType)reader.ReadByte();
e.TimeInForce = (TimeInForce)reader.ReadByte();
e.ExpireTime = new DateTime(reader.ReadInt64());
e.Price = reader.ReadDouble();
e.StopPx = reader.ReadDouble();
e.Qty = reader.ReadDouble();
if (version >= 1)
{
e.MinQty = reader.ReadDouble();
e.PegDifference = reader.ReadDouble();
e.ExecInst = reader.ReadString();
}
e.OCA = reader.ReadString();
e.Text = reader.ReadString();
if (reader.ReadBoolean())
e.Account = reader.ReadString();
if (reader.ReadBoolean())
e.ClientID = reader.ReadString();
if (reader.ReadBoolean())
{
e.Fields = (ObjectTable)this.streamerManager.Deserialize(reader);
}
e.AlgoId = reader.ReadInt32();
e.ClOrderId = reader.ReadString();
return e;
}