internal static Order FromProto(Msgs.Order o) { if (o.Fills.Count > 0) { return(new Order(o.OrderId, o.StockId, FromProto(o.Side), o.Quantity, (decimal)o.Price, DateTimeOffset.FromUnixTimeMilliseconds(o.TimeIssued), o.Fills.Select(x => FromProto(x)).ToImmutableList())); } return(new Order(o.OrderId, o.StockId, FromProto(o.Side), o.Quantity, (decimal)o.Price, DateTimeOffset.FromUnixTimeMilliseconds(o.TimeIssued))); }
internal static Msgs.Order ToProto(Order o) { var pOrder = new Msgs.Order() { OrderId = o.OrderId, StockId = o.StockId, Price = (double)o.Price, Quantity = o.OriginalQuantity, Side = ToProto(o.Side), TimeIssued = o.TimeIssued.ToUnixTimeMilliseconds() }; if (o.Fills.Count > 0) { pOrder.Fills.AddRange(o.Fills.Select(x => ToProto(x))); } return(pOrder); }