Esempio n. 1
0
        private static AggregatedCrumData AggregateCrumbData(string sensorName, Tracker1 tracker)
        {
            if (tracker.Sensors == null || tracker.Sensors.Count == 0)
            {
                return(new AggregatedCrumData());
            }

            var sensor = tracker.Sensors.Where(s => s.Name == sensorName).FirstOrDefault();

            if (sensor != null && sensor.Crumbs != null && sensor.Crumbs.Count > 0)
            {
                return(sensor.Crumbs
                       .GroupBy(item => 1)
                       .Select(crumbs => new AggregatedCrumData
                {
                    FirstCrumbDtm = crumbs.Min(a => a.CreatedDtm),
                    LastCrumbDtm = crumbs.Max(a => a.CreatedDtm),
                    CrumbCount = crumbs.Count(),
                    AvgValue = Math.Round(crumbs.Average(a => a.Value), 2)
                })
                       .First());
            }

            return(new AggregatedCrumData());
        }
Esempio n. 2
0
        private static Contracts.Models.TrackerData CreateTrakerData(Company company, Tracker1 tracker)
        {
            var aggregatedTemperature = AggregateCrumbData("Temperature", tracker);
            var aggregatedHumidty     = AggregateCrumbData("Humidty", tracker);

            var normalizedTracker = new NormilizedTracker {
                TrackerId = tracker.Id, TrackerName = tracker.Model
            };

            return(TrackerDataNormalizer.CreateTrakerData(company, normalizedTracker, aggregatedTemperature, aggregatedHumidty));
        }