private async Task RenderAsync(GraphData data) { await _connection.StartAsync(); // You need to have a graph already registered to use this function (which is why hardcoding is bad) // Parse the chart and the update into an understandable message, then send it if (_graphDataDictionary.ContainsKey(data.CorrelationID)) { Chart chart = _graphDataDictionary[data.CorrelationID]; VisualizationMessage visualizationMessage = new VisualizationMessage(); RenderData m1 = new RenderData(); visualizationMessage.messages = new RenderData[1]; m1.chartName = chart.Name; m1.xlabel = chart.X_Label; m1.ylabel = chart.Y_Label; m1.headers = chart.Headers; m1.append = chart.Append; m1.points = data.Values; _i++; m1.anomaly = data.Anomaly; visualizationMessage.messages[0] = m1; // Todo: Directly make this call, rather than using SignalR to do it await _connection.InvokeAsync("SendInput", JsonConvert.SerializeObject(visualizationMessage)); } }
private async Task RenderAsync(GraphData data) { Chart chartConfig; lock (_sync) { if (!_chartDataDictionary.ContainsKey(data.CorrelationID)) { return; } chartConfig = _chartDataDictionary[data.CorrelationID]; } var visualizationMessage = new VisualizationMessage(); visualizationMessage.messages = new ChartData[1]; var chartData = new ChartData(); chartData.Chart = chartConfig; chartData.Points = data.Values; chartData.IsAnomaly = data.Anomaly; visualizationMessage.messages[0] = chartData; // Todo: make this an in-proc call, rather than SignalR await _connection.InvokeAsync("SendInput", JsonConvert.SerializeObject(visualizationMessage)); }