public override void Write(BinaryWriter writer, object obj)
{
var r = (ExecutionReport)obj;
writer.Write(r.DateTime.Ticks);
writer.Write(r.OrderId);
writer.Write(r.ClOrderId);
writer.Write(r.ProviderOrderId);
writer.Write(r.InstrumentId);
writer.Write(r.CurrencyId);
writer.Write(r.ClientId);
writer.Write((byte)r.ExecType);
writer.Write((byte)r.OrdStatus);
writer.Write((byte)r.OrdType);
writer.Write((byte)r.Side);
writer.Write((byte)r.TimeInForce);
writer.Write(r.ExpireTime.Ticks);
writer.Write(r.Price);
writer.Write(r.StopPx);
writer.Write(r.OrdQty);
writer.Write(r.CumQty);
writer.Write(r.LeavesQty);
writer.Write(r.LastPx);
writer.Write(r.LastQty);
writer.Write(r.Commission);
writer.Write(r.Text);
writer.Write(r.ExecId);
if (r.Fields != null)
{
writer.Write(true);
this.streamerManager.Serialize(writer, r.Fields);
}
else
{
writer.Write(false);
}
}
}