private void lbSchedule_DrawItem(object sender, DrawItemEventArgs e) { e.DrawBackground(); int _i = e.Index; objectsMicrophoneScheduleEntry _sched = VolumeLevel.Micobject.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[e.Index].ToString(), _f, _b, e.Bounds); e.DrawFocusRectangle(); }
private void BtnUpdateClick(object sender, EventArgs e) { int i = lbSchedule.SelectedIndex; objectsMicrophoneScheduleEntry sched = VolumeLevel.Micobject.schedule.entries[i]; if (ConfigureSchedule(sched)) { ShowSchedule(i); } }
private void Button2Click(object sender, EventArgs e) { List <objectsMicrophoneScheduleEntry> scheds = VolumeLevel.Micobject.schedule.entries.ToList(); var sched = new objectsMicrophoneScheduleEntry(); if (ConfigureSchedule(sched)) { scheds.Add(sched); VolumeLevel.Micobject.schedule.entries = scheds.ToArray(); ShowSchedule(VolumeLevel.Micobject.schedule.entries.Count() - 1); } }
private void LbScheduleDrawItem(object sender, DrawItemEventArgs e) { e.DrawBackground(); int i = e.Index; if (i >= 0) { objectsMicrophoneScheduleEntry sched = VolumeLevel.Micobject.schedule.entries[i]; Font f = sched.active ? new Font("Microsoft Sans Serif", 8.25f, FontStyle.Bold) : new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular); Brush b = !chkSchedule.Checked ? Brushes.Gray : Brushes.Black; e.Graphics.DrawString(lbSchedule.Items[i].ToString(), f, b, e.Bounds); e.DrawFocusRectangle(); } }
private void LbScheduleSelectedIndexChanged(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; objectsMicrophoneScheduleEntry sched = VolumeLevel.Micobject.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", StringComparison.Ordinal) != -1; chkTue.Checked = sched.daysofweek.IndexOf("2", StringComparison.Ordinal) != -1; chkWed.Checked = sched.daysofweek.IndexOf("3", StringComparison.Ordinal) != -1; chkThu.Checked = sched.daysofweek.IndexOf("4", StringComparison.Ordinal) != -1; chkFri.Checked = sched.daysofweek.IndexOf("5", StringComparison.Ordinal) != -1; chkSat.Checked = sched.daysofweek.IndexOf("6", StringComparison.Ordinal) != -1; chkSun.Checked = sched.daysofweek.IndexOf("0", StringComparison.Ordinal) != -1; chkRecordSchedule.Checked = sched.recordonstart; chkScheduleActive.Checked = sched.active; chkScheduleRecordOnDetect.Checked = sched.recordondetect; chkScheduleAlerts.Checked = sched.alerts; } } }
public void ApplySchedule() { if (!Micobject.schedule.active || Micobject.schedule == null || Micobject.schedule.entries == null || Micobject.schedule.entries.Count() == 0) { return; } //find most recent schedule entry DateTime dNow = DateTime.Now; TimeSpan shortest = TimeSpan.MaxValue; objectsMicrophoneScheduleEntry mostrecent = null; bool isstart = true; foreach (objectsMicrophoneScheduleEntry entry in Micobject.schedule.entries) { string[] dows = entry.daysofweek.Split(','); foreach (string dayofweek in dows) { int dow = Convert.ToInt32(dayofweek); //when did this last fire? if (entry.start.IndexOf("-") == -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("-") == -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) { Micobject.alerts.active = mostrecent.alerts; if (!Micobject.settings.active) { Enable(); } } else { if (Micobject.settings.active) { Disable(); } } } }
private bool ConfigureSchedule(objectsMicrophoneScheduleEntry 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")); //"Please select at least one day"); return(false); } sched.recordonstart = chkRecordSchedule.Checked; sched.active = chkScheduleActive.Checked; sched.recordondetect = chkScheduleRecordOnDetect.Checked; sched.alerts = chkScheduleAlerts.Checked; sched.messaging = chkScheduleMessaging.Checked; return(true); }
private bool ConfigureSchedule(objectsMicrophoneScheduleEntry 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")); //"Please select at least one day"); return false; } sched.recordonstart = chkRecordSchedule.Checked; sched.active = chkScheduleActive.Checked; sched.recordondetect = chkScheduleRecordOnDetect.Checked; sched.alerts = chkScheduleAlerts.Checked; return true; }
private void Button2Click(object sender, EventArgs e) { List<objectsMicrophoneScheduleEntry> scheds = VolumeLevel.Micobject.schedule.entries.ToList(); var sched = new objectsMicrophoneScheduleEntry(); if (ConfigureSchedule(sched)) { scheds.Add(sched); VolumeLevel.Micobject.schedule.entries = scheds.ToArray(); ShowSchedule(VolumeLevel.Micobject.schedule.entries.Count() - 1); } }