public DigitalstromZoneSensorViewModel(IDigitalstromDbContext databaseContext, IDigitalstromStructureService dsStructure)
     : base(new Dictionary <Resolution, IQueryable <DigitalstromZoneSensorData> >() {
     { Resolution.LowRes, databaseContext.DsSensorLowresDataSet },
     { Resolution.MidRes, databaseContext.DsSensorDataSet }
 },
            Enumerable.Range(0, 2).ToDictionary(x => x.ToString(), x => x),
            dsStructure.Zones.Where(x => dsStructure.HasZoneSensor(x, SensorType.TemperatureIndoors) ||
                                    dsStructure.HasZoneSensor(x, SensorType.HumidityIndoors)).OrderBy(x => x).ToList(),
            x => x.ZoneId,
            key => { int keyint = key; return(x => x.ZoneId == keyint); })
 {
     _dsStructure = dsStructure;
 }
Пример #2
0
        public void GenerateLowResSensorSeries(DateTime start, DateTime end)
        {
            foreach (var day in new TimeSeriesSpan(start, end, 1).IncludedDates())
            {
                var sensorZones = _dsStructure.Zones.Where(x => _dsStructure.HasZoneSensor(x, SensorType.TemperatureIndoors) || _dsStructure.HasZoneSensor(x, SensorType.HumidityIndoors));
                SaveLowresZoneSensorValues(sensorZones.ToDictionary(zone => zone, zone => ReadAndSaveMidresZoneSensorValues(day, zone)));

                _dbContext.SaveChanges();
            }
        }