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; }
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(); } }