internal void AddSymbolRTDataRow(RTDataRec rtDataRec) { RTDataRowBase RTDataRow = RTDataRows.Find(x => x.Symbol == rtDataRec.Symbol); if (RTDataRow == null) { switch (ClusterName) { case PGClusterNames.Equities: RTDataRow = new RTEquitiesDataRow(rtDataRec.Symbol); break; case PGClusterNames.Forex: RTDataRow = new RTForexDataRow(rtDataRec.Symbol); break; case PGClusterNames.Crypto: RTDataRow = new RTCryptoDataRow(rtDataRec.Symbol); break; default: throw new Exception($"Unknown ClusterName: {ClusterName}"); } RTDataRow.RowDef = new RowDefinition(); RTDataRow.OnRTDataRowMouseDoubleClickEvent += FireOnRTDataRowMouseDoubleClick; RTDataRows.Add(RTDataRow); // binding RTDataRow.DataContext = rtDataRec; InitRTDataRows(); SetRTClusterDataGridHeight(); } }
internal void RemoveSymbolRTDataRow(RTDataRec rtDataRec) { RTDataRowBase RTDataRow = RTDataRows.Find(x => x.Symbol == rtDataRec.Symbol); if (RTDataRow != null) { RTDataRow.OnRTDataRowMouseDoubleClickEvent -= FireOnRTDataRowMouseDoubleClick; RTDataRow.DataContext = null; RTDataRows.Remove(RTDataRow); InitRTDataRows(); SetRTClusterDataGridHeight(); } }