public static void AddData(Guid?viewId, SensorDataViewModel dataSetPart) { if (viewId == null || viewId == Guid.Empty) { return; } Context.Clients.Group(viewId.ToString()).AddData(dataSetPart); }
public static SensorDataViewModel GetDataSets(IEnumerable <SensorDataResponse> data) { var timeData = data.Select(x => x.EventDateTime).ToArray().Distinct(); var datasetNames = data.Select(x => x.DataSetName).ToList().Distinct(); var datasets = new Dictionary <string, DataSet>(); foreach (var name in datasetNames) { var color = GetColor(name); datasets.Add(name, new GreenHouse.ViewModels.DataSet { Label = name, Data = new float?[timeData.Count()], LineColor = color, PointBorderColor = color }); } var i = 0; foreach (var time in timeData) { var items = data.Where(x => x.EventDateTime == time); foreach (var item in items) { var datasetName = item.DataSetName; datasets[datasetName].Data[i] = item.Value; } i++; } var model = new SensorDataViewModel { Timestamps = timeData.Select(x => x.ToString()).ToArray(), DataSets = datasets.ToList().Select(x => x.Value).ToArray() }; return(model); }
public static SensorDataViewModel GetDataSets(GetGroupedSensorDataResponse gropedData) { var timeStamps = gropedData.GroupedData.Select(x => x.EventTime.ToString()).Distinct().ToArray(); var dataSets = gropedData.GroupedData .GroupBy(x => x.SensorId) .Select(x => new DataSet { Data = x.Select(y => (float?)y.AverageValue).ToArray(), Label = gropedData.SensorIdLabels[x.Key], LineColor = GetColor(gropedData.SensorIdLabels[x.Key]), PointBorderColor = GetColor(gropedData.SensorIdLabels[x.Key]) }).ToArray(); var model = new SensorDataViewModel { Timestamps = timeStamps, DataSets = dataSets }; return(model); }
public static void AddData(string userName, SensorDataViewModel dataSetPart) { Context.Clients.Group(userName).AddData(dataSetPart); }