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); }
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); }
public static void EndCycle(Cycle c, Int16 precision) { c.EndDate = DateTime.Now; c.EndPrecision = precision; Cycle.SaveCycle(c); }
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); }
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 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; }