Ejemplo n.º 1
0
 public static void StartCycle(int thermostatId, string cycleType, Int16 precision)
 {
     Cycle c = new Cycle();
     c.CycleType = cycleType;
     c.StartDate = DateTime.Now;
     c.IsEndDateNull = true;
     c.ThermostatId = thermostatId;
     c.StartPrecision = precision;
     Cycle.SaveCycle(c);
 }
Ejemplo n.º 2
0
 public static void LogCycle(int thermostatId, string cycleType, DateTime startDate, DateTime endDate, Int16 startPrecision, Int16 endPrecision)
 {
     Cycle c = new Cycle();
     c.CycleType = cycleType;
     c.EndDate = endDate;
     c.StartDate = startDate;
     c.ThermostatId = thermostatId;
     c.StartPrecision = startPrecision;
     c.EndPrecision = endPrecision;
     Cycle.SaveCycle(c);
 }
Ejemplo n.º 3
0
 public static void EndCycle(Cycle c, Int16 precision)
 {
     c.EndDate      = DateTime.Now;
     c.EndPrecision = precision;
     Cycle.SaveCycle(c);
 }
Ejemplo n.º 4
0
        public static int SaveCycle(Cycle cycle)
        {
            int          result = 0;
            MySqlCommand cmd    = new MySqlCommand("cycles_save", ThermostatMonitorLib.Global.MySqlConnection);

            cmd.CommandType = CommandType.StoredProcedure;
            if (cycle._isIdNull)
            {
                cmd.Parameters.AddWithValue("@id", System.DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("@id", cycle._id);
            }

            if (cycle._isThermostatIdNull)
            {
                cmd.Parameters.AddWithValue("@thermostat_id", System.DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("@thermostat_id", cycle._thermostatId);
            }

            if (cycle._isCycleTypeNull)
            {
                cmd.Parameters.AddWithValue("@cycle_type", System.DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("@cycle_type", cycle._cycleType);
            }

            if (cycle._isStartDateNull)
            {
                cmd.Parameters.AddWithValue("@start_date", System.DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("@start_date", cycle._startDate);
            }

            if (cycle._isEndDateNull)
            {
                cmd.Parameters.AddWithValue("@end_date", System.DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("@end_date", cycle._endDate);
            }

            if (cycle._isStartPrecisionNull)
            {
                cmd.Parameters.AddWithValue("@start_precision", System.DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("@start_precision", cycle._startPrecision);
            }

            if (cycle._isEndPrecisionNull)
            {
                cmd.Parameters.AddWithValue("@end_precision", System.DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("@end_precision", cycle._endPrecision);
            }

            cmd.Connection.Open();
            try
            {
                result = Convert.ToInt32(cmd.ExecuteScalar());
            }
            finally
            {
                cmd.Connection.Close();
            }
            cycle.Id = result;
            return(result);
        }
Ejemplo n.º 5
0
        internal static Cycle GetCycle(DataRow row)
        {
            Cycle result = new Cycle();

            if (row.Table.Columns.Contains("id"))
            {
                if (Convert.IsDBNull(row["id"]))
                {
                    result._isIdNull = true;
                }
                else
                {
                    result._id       = Convert.ToInt32(row["id"]);
                    result._isIdNull = false;
                }
            }

            if (row.Table.Columns.Contains("thermostat_id"))
            {
                if (Convert.IsDBNull(row["thermostat_id"]))
                {
                    result._isThermostatIdNull = true;
                }
                else
                {
                    result._thermostatId       = Convert.ToInt32(row["thermostat_id"]);
                    result._isThermostatIdNull = false;
                }
            }

            if (row.Table.Columns.Contains("cycle_type"))
            {
                if (Convert.IsDBNull(row["cycle_type"]))
                {
                    result._isCycleTypeNull = true;
                }
                else
                {
                    result._cycleType       = Convert.ToString(row["cycle_type"]);
                    result._isCycleTypeNull = false;
                }
            }

            if (row.Table.Columns.Contains("start_date"))
            {
                if (Convert.IsDBNull(row["start_date"]))
                {
                    result._isStartDateNull = true;
                }
                else
                {
                    result._startDate       = Convert.ToDateTime(row["start_date"]);
                    result._isStartDateNull = false;
                }
            }

            if (row.Table.Columns.Contains("end_date"))
            {
                if (Convert.IsDBNull(row["end_date"]))
                {
                    result._isEndDateNull = true;
                }
                else
                {
                    result._endDate       = Convert.ToDateTime(row["end_date"]);
                    result._isEndDateNull = false;
                }
            }

            if (row.Table.Columns.Contains("start_precision"))
            {
                if (Convert.IsDBNull(row["start_precision"]))
                {
                    result._isStartPrecisionNull = true;
                }
                else
                {
                    result._startPrecision       = Convert.ToInt32(row["start_precision"]);
                    result._isStartPrecisionNull = false;
                }
            }

            if (row.Table.Columns.Contains("end_precision"))
            {
                if (Convert.IsDBNull(row["end_precision"]))
                {
                    result._isEndPrecisionNull = true;
                }
                else
                {
                    result._endPrecision       = Convert.ToInt32(row["end_precision"]);
                    result._isEndPrecisionNull = false;
                }
            }

            return(result);
        }
Ejemplo n.º 6
0
 public static void EndCycle(Cycle c, Int16 precision)
 {
     c.EndDate = DateTime.Now;
     c.EndPrecision = precision;
     Cycle.SaveCycle(c);
 }
        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);
                }
            }
        }
        internal static Cycle GetCycle(DataRow row)
        {
            Cycle result = new Cycle();
            if (row.Table.Columns.Contains("id"))
            {
                if (Convert.IsDBNull(row["id"]))
                {
                    result._isIdNull = true;
                }
                else
                {
                    result._id = Convert.ToInt32(row["id"]);
                    result._isIdNull = false;
                }
            }

            if (row.Table.Columns.Contains("thermostat_id"))
            {
                if (Convert.IsDBNull(row["thermostat_id"]))
                {
                    result._isThermostatIdNull = true;
                }
                else
                {
                    result._thermostatId = Convert.ToInt32(row["thermostat_id"]);
                    result._isThermostatIdNull = false;
                }
            }

            if (row.Table.Columns.Contains("cycle_type"))
            {
                if (Convert.IsDBNull(row["cycle_type"]))
                {
                    result._isCycleTypeNull = true;
                }
                else
                {
                    result._cycleType = Convert.ToString(row["cycle_type"]);
                    result._isCycleTypeNull = false;
                }
            }

            if (row.Table.Columns.Contains("start_date"))
            {
                if (Convert.IsDBNull(row["start_date"]))
                {
                    result._isStartDateNull = true;
                }
                else
                {
                    result._startDate = Convert.ToDateTime(row["start_date"]);
                    result._isStartDateNull = false;
                }
            }

            if (row.Table.Columns.Contains("end_date"))
            {
                if (Convert.IsDBNull(row["end_date"]))
                {
                    result._isEndDateNull = true;
                }
                else
                {
                    result._endDate = Convert.ToDateTime(row["end_date"]);
                    result._isEndDateNull = false;
                }
            }

            if (row.Table.Columns.Contains("start_precision"))
            {
                if (Convert.IsDBNull(row["start_precision"]))
                {
                    result._isStartPrecisionNull = true;
                }
                else
                {
                    result._startPrecision = Convert.ToInt32(row["start_precision"]);
                    result._isStartPrecisionNull = false;
                }
            }

            if (row.Table.Columns.Contains("end_precision"))
            {
                if (Convert.IsDBNull(row["end_precision"]))
                {
                    result._isEndPrecisionNull = true;
                }
                else
                {
                    result._endPrecision = Convert.ToInt32(row["end_precision"]);
                    result._isEndPrecisionNull = false;
                }
            }

            return result;
        }
        public static int SaveCycle(Cycle cycle)
        {
            int result = 0;
            MySqlCommand cmd = new MySqlCommand("cycles_save", ThermostatMonitorLib.Global.MySqlConnection);
            cmd.CommandType = CommandType.StoredProcedure;
            if (cycle._isIdNull)
            {
                cmd.Parameters.AddWithValue("@id", System.DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("@id", cycle._id);
            }

            if (cycle._isThermostatIdNull)
            {
                cmd.Parameters.AddWithValue("@thermostat_id", System.DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("@thermostat_id", cycle._thermostatId);
            }

            if (cycle._isCycleTypeNull)
            {
                cmd.Parameters.AddWithValue("@cycle_type", System.DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("@cycle_type", cycle._cycleType);
            }

            if (cycle._isStartDateNull)
            {
                cmd.Parameters.AddWithValue("@start_date", System.DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("@start_date", cycle._startDate);
            }

            if (cycle._isEndDateNull)
            {
                cmd.Parameters.AddWithValue("@end_date", System.DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("@end_date", cycle._endDate);
            }

            if (cycle._isStartPrecisionNull)
            {
                cmd.Parameters.AddWithValue("@start_precision", System.DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("@start_precision", cycle._startPrecision);
            }

            if (cycle._isEndPrecisionNull)
            {
                cmd.Parameters.AddWithValue("@end_precision", System.DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("@end_precision", cycle._endPrecision);
            }

            cmd.Connection.Open();
            try
            {
                result = Convert.ToInt32(cmd.ExecuteScalar());
            }
            finally
            {
                cmd.Connection.Close();
            }
            cycle.Id = result;
            return result;
        }