private void OnSubscribedSymbol(RTDataRec rtDataRec) { switch (rtDataRec.ClusterName) { case PGClusterNames.Equities: EquitiesRTData.AddSymbolRTDataRow(rtDataRec); EquitiesRTData.Visibility = Visibility.Visible; break; case PGClusterNames.Forex: ForexRTData.AddSymbolRTDataRow(rtDataRec); ForexRTData.Visibility = Visibility.Visible; break; case PGClusterNames.Crypto: CryptoRTData.AddSymbolRTDataRow(rtDataRec); CryptoRTData.Visibility = Visibility.Visible; break; default: throw new Exception($"Unknown ClusterName: {rtDataRec.ClusterName}"); } DisplayRTDataGrid(true); if (rtDataRec.RequestLast) { RequestLast(rtDataRec); } }
private void InitClustersRTData() { EquitiesRTData.InitRTClusterData(PGApi.Equities); EquitiesRTData.OnRTDataHeightChangeEvent += OnRTDataHeightChange; ForexRTData.InitRTClusterData(PGApi.Forex); CryptoRTData.InitRTClusterData(PGApi.Crypto); }
private void OnUnSubscribedSymbol(RTDataRec rtDataRec) { switch (rtDataRec.ClusterName) { case PGClusterNames.Equities: EquitiesRTData.RemoveSymbolRTDataRow(rtDataRec); if (EquitiesRTData.RTDataRows.Count == 0) { EquitiesRTData.Visibility = Visibility.Collapsed; } break; case PGClusterNames.Forex: ForexRTData.RemoveSymbolRTDataRow(rtDataRec); if (ForexRTData.RTDataRows.Count == 0) { ForexRTData.Visibility = Visibility.Collapsed; } break; case PGClusterNames.Crypto: CryptoRTData.RemoveSymbolRTDataRow(rtDataRec); if (CryptoRTData.RTDataRows.Count == 0) { CryptoRTData.Visibility = Visibility.Collapsed; } break; default: throw new Exception($"Unknown ClusterName: {rtDataRec.ClusterName}"); } int TotalRows = EquitiesRTData.RTDataRows.Count + ForexRTData.RTDataRows.Count + CryptoRTData.RTDataRows.Count; if (TotalRows == 0) { DisplayRTDataGrid(false); } }