private void lbSchedule_DrawItem(object sender, DrawItemEventArgs e) { e.DrawBackground(); int _i = e.Index; if (_i >= 0) { objectsCameraScheduleEntry _sched = CameraControl.Camobject.schedule.entries[_i]; Font _f; Brush _b; if (_sched.active) { _f = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Bold); } else { _f = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular); } if (!chkSchedule.Checked) { _b = Brushes.Gray; } else { _b = Brushes.Black; } e.Graphics.DrawString(lbSchedule.Items[_i].ToString(), _f, _b, e.Bounds); //_f.Dispose(); //_b.Dispose(); e.DrawFocusRectangle(); } }
private bool ConfigureSchedule(objectsCameraScheduleEntry _sched) { if (ddlHourStart.SelectedItem.ToString() == "-" || ddlMinuteStart.SelectedItem.ToString() == "-") { _sched.start = "-:-"; } else { _sched.start = ddlHourStart.SelectedItem + ":" + ddlMinuteStart.SelectedItem; } if (ddlHourEnd.SelectedItem.ToString() == "-" || ddlMinuteEnd.SelectedItem.ToString() == "-") { _sched.stop = "-:-"; } else { _sched.stop = ddlHourEnd.SelectedItem + ":" + ddlMinuteEnd.SelectedItem; } _sched.daysofweek = ""; if (chkMon.Checked) { _sched.daysofweek += "1,"; } if (chkTue.Checked) { _sched.daysofweek += "2,"; } if (chkWed.Checked) { _sched.daysofweek += "3,"; } if (chkThu.Checked) { _sched.daysofweek += "4,"; } if (chkFri.Checked) { _sched.daysofweek += "5,"; } if (chkSat.Checked) { _sched.daysofweek += "6,"; } if (chkSun.Checked) { _sched.daysofweek += "0,"; } _sched.daysofweek = _sched.daysofweek.Trim(','); if (_sched.daysofweek == "") { MessageBox.Show(LocRM.GetString("Validate_Camera_SelectOneDay")); return(false); } _sched.active = chkScheduleActive.Checked; return(true); }
private void btnUpdate_Click(object sender, EventArgs e) { int _i = lbSchedule.SelectedIndex; objectsCameraScheduleEntry _sched = CameraControl.Camobject.schedule.entries[_i]; if (ConfigureSchedule(_sched)) { ShowSchedule(_i); } }
private void button2_Click_1(object sender, EventArgs e) { List <objectsCameraScheduleEntry> _scheds = CameraControl.Camobject.schedule.entries.ToList(); objectsCameraScheduleEntry _sched = new objectsCameraScheduleEntry(); if (ConfigureSchedule(_sched)) { _scheds.Add(_sched); CameraControl.Camobject.schedule.entries = _scheds.ToArray(); ShowSchedule(CameraControl.Camobject.schedule.entries.Count() - 1); } }
private void lbSchedule_SelectedIndexChanged(object sender, EventArgs e) { if (lbSchedule.Items.Count == 0) { btnDelete.Enabled = btnUpdate.Enabled = false; } else { btnUpdate.Enabled = btnDelete.Enabled = (lbSchedule.SelectedIndex > -1); if (btnUpdate.Enabled) { int _i = lbSchedule.SelectedIndex; objectsCameraScheduleEntry _sched = CameraControl.Camobject.schedule.entries[_i]; string[] start = _sched.start.Split(':'); string[] stop = _sched.stop.Split(':'); ddlHourStart.SelectedItem = start[0]; ddlHourEnd.SelectedItem = stop[0]; ddlMinuteStart.SelectedItem = start[1]; ddlMinuteEnd.SelectedItem = stop[1]; chkMon.Checked = _sched.daysofweek.IndexOf("1") != -1; chkTue.Checked = _sched.daysofweek.IndexOf("2") != -1; chkWed.Checked = _sched.daysofweek.IndexOf("3") != -1; chkThu.Checked = _sched.daysofweek.IndexOf("4") != -1; chkFri.Checked = _sched.daysofweek.IndexOf("5") != -1; chkSat.Checked = _sched.daysofweek.IndexOf("6") != -1; chkSun.Checked = _sched.daysofweek.IndexOf("0") != -1; chkScheduleActive.Checked = _sched.active; } } }
private bool ConfigureSchedule(objectsCameraScheduleEntry sched) { if (ddlHourStart.SelectedItem.ToString() != "-" && ddlMinuteStart.SelectedItem.ToString() == "-") { ddlMinuteStart.SelectedIndex = 1; } if (ddlHourEnd.SelectedItem.ToString() != "-" && ddlMinuteEnd.SelectedItem.ToString() == "-") { ddlMinuteEnd.SelectedIndex = 1; } if (ddlHourStart.SelectedItem.ToString() == "-" || ddlMinuteStart.SelectedItem.ToString() == "-") { sched.start = "-:-"; } else sched.start = ddlHourStart.SelectedItem + ":" + ddlMinuteStart.SelectedItem; if (ddlHourEnd.SelectedItem.ToString() == "-" || ddlMinuteEnd.SelectedItem.ToString() == "-") { sched.stop = "-:-"; } else sched.stop = ddlHourEnd.SelectedItem + ":" + ddlMinuteEnd.SelectedItem; sched.daysofweek = ""; if (chkMon.Checked) { sched.daysofweek += "1,"; } if (chkTue.Checked) { sched.daysofweek += "2,"; } if (chkWed.Checked) { sched.daysofweek += "3,"; } if (chkThu.Checked) { sched.daysofweek += "4,"; } if (chkFri.Checked) { sched.daysofweek += "5,"; } if (chkSat.Checked) { sched.daysofweek += "6,"; } if (chkSun.Checked) { sched.daysofweek += "0,"; } sched.daysofweek = sched.daysofweek.Trim(','); if (sched.daysofweek == "") { MessageBox.Show(LocRm.GetString("Validate_Camera_SelectOneDay")); return false; } sched.recordonstart = chkRecordSchedule.Checked; sched.active = chkScheduleActive.Checked; sched.recordondetect = chkScheduleRecordOnDetect.Checked; sched.recordonalert = chkRecordAlertSchedule.Checked; sched.alerts = chkScheduleAlerts.Checked; sched.timelapseenabled = chkScheduleTimelapse.Checked; sched.ftpenabled = chkSchedFTPEnabled.Checked; sched.savelocalenabled = chkSchedSaveLocalEnabled.Checked; sched.ptz = chkschedPTZ.Checked; sched.messaging = chkScheduleMessaging.Checked; return true; }
private void Button2Click1(object sender, EventArgs e) { List<objectsCameraScheduleEntry> scheds = CameraControl.Camobject.schedule.entries.ToList(); var sched = new objectsCameraScheduleEntry(); if (ConfigureSchedule(sched)) { scheds.Add(sched); CameraControl.Camobject.schedule.entries = scheds.ToArray(); ShowSchedule(CameraControl.Camobject.schedule.entries.Count() - 1); } }
public void ApplySchedule() { //find most recent schedule entry if (!Camobject.schedule.active || Camobject.schedule == null || Camobject.schedule.entries == null || !Camobject.schedule.entries.Any()) { return; } DateTime dNow = DateTime.Now; TimeSpan shortest = TimeSpan.MaxValue; objectsCameraScheduleEntry mostrecent = null; bool isstart = true; for (int index = 0; index < Camobject.schedule.entries.Length; index++) { objectsCameraScheduleEntry entry = Camobject.schedule.entries[index]; string[] dows = entry.daysofweek.Split(','); foreach (string dayofweek in dows) { int dow = Convert.ToInt32(dayofweek); //when did this last fire? if (entry.start.IndexOf("-", StringComparison.Ordinal) == -1) { string[] start = entry.start.Split(':'); var dtstart = new DateTime(dNow.Year, dNow.Month, dNow.Day, Convert.ToInt32(start[0]), Convert.ToInt32(start[1]), 0); while ((int)dtstart.DayOfWeek != dow || dtstart > dNow) { dtstart = dtstart.AddDays(-1); } if (dNow - dtstart < shortest) { shortest = dNow - dtstart; mostrecent = entry; isstart = true; } } if (entry.stop.IndexOf("-", StringComparison.Ordinal) == -1) { string[] stop = entry.stop.Split(':'); var dtstop = new DateTime(dNow.Year, dNow.Month, dNow.Day, Convert.ToInt32(stop[0]), Convert.ToInt32(stop[1]), 0); while ((int)dtstop.DayOfWeek != dow || dtstop > dNow) { dtstop = dtstop.AddDays(-1); } if (dNow - dtstop < shortest) { shortest = dNow - dtstop; mostrecent = entry; isstart = false; } } } } if (mostrecent != null) { if (isstart) { Camobject.alerts.active = mostrecent.alerts; if (!Camobject.settings.active) { Enable(); } } else { if (Camobject.settings.active) { Disable(); } } } }
private bool ConfigureSchedule(objectsCameraScheduleEntry _sched) { if (ddlHourStart.SelectedItem.ToString() == "-" || ddlMinuteStart.SelectedItem.ToString() == "-") { _sched.start = "-:-"; } else _sched.start = ddlHourStart.SelectedItem + ":" + ddlMinuteStart.SelectedItem; if (ddlHourEnd.SelectedItem.ToString() == "-" || ddlMinuteEnd.SelectedItem.ToString() == "-") { _sched.stop = "-:-"; } else _sched.stop = ddlHourEnd.SelectedItem + ":" + ddlMinuteEnd.SelectedItem; _sched.daysofweek = ""; if (chkMon.Checked) { _sched.daysofweek += "1,"; } if (chkTue.Checked) { _sched.daysofweek += "2,"; } if (chkWed.Checked) { _sched.daysofweek += "3,"; } if (chkThu.Checked) { _sched.daysofweek += "4,"; } if (chkFri.Checked) { _sched.daysofweek += "5,"; } if (chkSat.Checked) { _sched.daysofweek += "6,"; } if (chkSun.Checked) { _sched.daysofweek += "0,"; } _sched.daysofweek = _sched.daysofweek.Trim(','); if (_sched.daysofweek == "") { MessageBox.Show(LocRM.GetString("Validate_Camera_SelectOneDay")); return false; } _sched.active = chkScheduleActive.Checked; return true; }
private void button2_Click_1(object sender, EventArgs e) { List<objectsCameraScheduleEntry> _scheds = CameraControl.Camobject.schedule.entries.ToList(); objectsCameraScheduleEntry _sched = new objectsCameraScheduleEntry(); if (ConfigureSchedule(_sched)) { _scheds.Add(_sched); CameraControl.Camobject.schedule.entries = _scheds.ToArray(); ShowSchedule(CameraControl.Camobject.schedule.entries.Count()-1); } }