public static void AddData(Guid?viewId, SensorDataViewModel dataSetPart)
 {
     if (viewId == null || viewId == Guid.Empty)
     {
         return;
     }
     Context.Clients.Group(viewId.ToString()).AddData(dataSetPart);
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
 }