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));
            }
        }
Ejemplo n.º 2
0
        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));
        }