internal static IRow WrapAsRow(fxcore2.O2GRow row, ISession session) { if (row == null) { return(null); } switch (row.TableType) { case O2GTableType.Accounts: if (row is O2GAccountTableRow) { return(new AccountTableRow((fxcore2.O2GAccountTableRow)row, (Session)session)); } else { return(new AccountRow((fxcore2.O2GAccountRow)row, (Session)session)); } case O2GTableType.ClosedTrades: if (row is O2GClosedTradeTableRow) { return(new ClosedTradeTableRow((fxcore2.O2GClosedTradeTableRow)row, (Session)session)); } else { return(new ClosedTradeRow((fxcore2.O2GClosedTradeRow)row, (Session)session)); } case O2GTableType.Messages: if (row is O2GMessageTableRow) { return(new MessageTableRow((fxcore2.O2GMessageTableRow)row, (Session)session)); } else { return(new MessageRow((fxcore2.O2GMessageRow)row, (Session)session)); } case O2GTableType.Offers: if (row is O2GOfferTableRow) { return(new OfferTableRow((fxcore2.O2GOfferTableRow)row, (Session)session)); } else { return(new OfferRow((fxcore2.O2GOfferRow)row, (Session)session)); } case O2GTableType.Orders: if (row is O2GOrderTableRow) { return(new OrderTableRow((fxcore2.O2GOrderTableRow)row, (Session)session)); } else { return(new OrderRow((fxcore2.O2GOrderRow)row, (Session)session)); } case O2GTableType.Summary: if (row is O2GSummaryTableRow) { return(new SummariesTableRow((fxcore2.O2GSummaryTableRow)row, (Session)session)); } else { return(new SummariesRow((fxcore2.O2GSummaryRow)row, (Session)session)); } case O2GTableType.TableUnknown: return(new Row(row, (Session)session)); case O2GTableType.Trades: if (row is O2GTradeTableRow) { return(new TradeTableRow((fxcore2.O2GTradeTableRow)row, (Session)session)); } else { return(new TradeRow((fxcore2.O2GTradeRow)row, (Session)session)); } default: Debug.Fail("Row type is not supported"); return(null); } }
public static IRow CastToParticularRowType(fxcore2.O2GRow row, Session session) { switch (row.TableType) { case O2GTableType.Accounts: if (row is fxcore2.O2GAccountTableRow) { return(new AccountTableRow((fxcore2.O2GAccountTableRow)row, session)); } else { return(new AccountRow((fxcore2.O2GAccountRow)row, session)); } case O2GTableType.ClosedTrades: if (row is fxcore2.O2GClosedTradeTableRow) { return(new ClosedTradeTableRow((fxcore2.O2GClosedTradeTableRow)row, session)); } else { return(new ClosedTradeRow((fxcore2.O2GClosedTradeRow)row, session)); } case O2GTableType.Messages: if (row is fxcore2.O2GMessageTableRow) { return(new MessageTableRow((fxcore2.O2GMessageTableRow)row, session)); } else { return(new MessageRow((fxcore2.O2GMessageRow)row, session)); } case O2GTableType.Offers: if (row is fxcore2.O2GOfferTableRow) { return((IRow) new OfferTableRow((fxcore2.O2GOfferTableRow)row, session)); } else { return((IRow) new OfferRow((fxcore2.O2GOfferRow)row, session)); } case O2GTableType.Orders: if (row is fxcore2.O2GOrderTableRow) { return(new OrderTableRow((fxcore2.O2GOrderTableRow)row, session)); } else { return(new OrderRow((fxcore2.O2GOrderRow)row, session)); } case O2GTableType.Summary: if (row is fxcore2.O2GSummaryTableRow) { return(new SummariesTableRow((fxcore2.O2GSummaryTableRow)row, session)); } else { return(new SummariesRow((fxcore2.O2GSummaryRow)row, session)); } case O2GTableType.Trades: if (row is fxcore2.O2GTradeTableRow) { return(new TradeTableRow((fxcore2.O2GTradeTableRow)row, session)); } else { return(new TradeRow((fxcore2.O2GTradeRow)row, session)); } default: return(new Row(row, session)); } }