GetRange() public method

public GetRange ( System.DateTime startDate, System.DateTime endDate ) : Temperatures
startDate System.DateTime
endDate System.DateTime
return Temperatures
Example #1
0
        private static void LogOffCycle(int thermostatId, Cycle cycle, DateTime lastCycleEndDate, Temperatures allTemperatures, OutsideConditions allConditions)
        {
            Temperatures      temperatures        = allTemperatures.GetRange(lastCycleEndDate, cycle.StartDate);
            OutsideConditions conditions          = allConditions.GetRange(lastCycleEndDate, cycle.StartDate);
            Temperature       previousTemperature = allTemperatures.GetByTime(lastCycleEndDate);
            OutsideCondition  previousCondition   = allConditions.GetByTime(lastCycleEndDate);

            temperatures.Insert(0, previousTemperature);
            conditions.Insert(0, previousCondition);

            if (cycle.StartDate <= lastCycleEndDate)
            {
                return;
            }

            if (conditions.Count > 0 && temperatures.Count > 0)
            {
                DateTime endDate = cycle.StartDate;
                Snapshot s       = new Snapshot();
                s.StartTime          = lastCycleEndDate;
                s.Seconds            = Convert.ToInt32(new TimeSpan(cycle.StartDate.Ticks - lastCycleEndDate.Ticks).TotalSeconds);
                s.ThermostatId       = thermostatId;
                s.Mode               = "Off";
                s.InsideTempAverage  = Convert.ToInt32(temperatures.GetTempAverage(lastCycleEndDate, cycle.StartDate));
                s.InsideTempHigh     = Convert.ToInt32(temperatures.GetTempHigh());
                s.InsideTempLow      = Convert.ToInt32(temperatures.GetTempLow());
                s.OutsideTempAverage = Convert.ToInt32(conditions.GetTempAverage(lastCycleEndDate, cycle.StartDate));
                s.OutsideTempHigh    = Convert.ToInt32(conditions.GetTempHigh());
                s.OutsideTempLow     = Convert.ToInt32(conditions.GetTempLow());
                if (s.Seconds > 10 && s.Seconds < 86400) //if significant and less than a day
                {
                    Snapshot.SaveSnapshot(s);
                }
            }
        }
        private static void LogOnCycle(int thermostatId, Cycle cycle, Temperatures allTemperatures, OutsideConditions allConditions)
        {
            Temperatures temperatures = allTemperatures.GetRange(cycle.StartDate, cycle.EndDate);
            OutsideConditions conditions = allConditions.GetRange(cycle.StartDate, cycle.EndDate);
            Temperature previousTemperature = allTemperatures.GetByTime(cycle.StartDate);
            OutsideCondition previousCondition = allConditions.GetByTime(cycle.StartDate);
            if (previousTemperature!=null) temperatures.Insert(0, previousTemperature);
            if (previousCondition != null) conditions.Insert(0, previousCondition);

            if (conditions.Count > 0 && temperatures.Count > 0)
            {
                Snapshot s = new Snapshot();
                s.StartTime = cycle.StartDate;
                s.Seconds = Convert.ToInt32(new TimeSpan(cycle.EndDate.Ticks - cycle.StartDate.Ticks).TotalSeconds);
                s.ThermostatId = thermostatId;
                s.Mode = cycle.CycleType;
                s.InsideTempAverage = Convert.ToInt32(temperatures.GetTempAverage(cycle.StartDate, cycle.EndDate));
                s.InsideTempHigh = Convert.ToInt32(temperatures.GetTempHigh());
                s.InsideTempLow = Convert.ToInt32(temperatures.GetTempLow());
                s.OutsideTempAverage = Convert.ToInt32(conditions.GetTempAverage(cycle.StartDate, cycle.EndDate));
                s.OutsideTempHigh = Convert.ToInt32(conditions.GetTempHigh());
                s.OutsideTempLow = Convert.ToInt32(conditions.GetTempLow());
                if (s.Seconds > 10 && s.Seconds < 86400) //if significant and less than a day
                {
                    Snapshot.SaveSnapshot(s);
                }
            }
        }