private void listEntries_SelectedIndexChanged(object sender, EventArgs e) { if ((InternalListeEntriesSelect) || (listEntries.SelectedIndex == -1)) { InternalListeEntriesSelect = false; return; } object o = listEntries.Items[listEntries.SelectedIndex]; if (o is BacnetDateRange) { BacnetDateRange bdr = (BacnetDateRange)o; if (bdr.startDate.year != 255) { SetCalendarDisplayDate(bdr.startDate.toDateTime()); } else if (bdr.endDate.year != 255) { SetCalendarDisplayDate(bdr.endDate.toDateTime().AddDays(-10)); } } else if (o is BacnetDate) { BacnetDate bd = (BacnetDate)o; if (!bd.IsPeriodic) { SetCalendarDisplayDate(bd.toDateTime()); } } }
private void PlaceItemsInCalendarView() { foreach (object e in calendarEntries.Entries) { if (e is BacnetDate) { BacnetDate bd = (BacnetDate)e; if (bd.IsPeriodic) { foreach (CalendarDay dt in calendarView.Days) { if (bd.IsAFittingDate(dt.Date)) { AddCalendarEntry(dt.Date, dt.Date, Color.Blue, "Periodic", bd); } } } else { AddCalendarEntry(bd.toDateTime(), bd.toDateTime(), Color.Green, "", bd); } } else if (e is BacnetDateRange) { BacnetDateRange bdr = (BacnetDateRange)e; DateTime start, end; if (bdr.startDate.year != 255) { start = new DateTime(bdr.startDate.year + 1900, bdr.startDate.month, bdr.startDate.day, 0, 0, 0); } else { start = DateTime.MinValue; } if (bdr.endDate.year != 255) { end = new DateTime(bdr.endDate.year + 1900, bdr.endDate.month, bdr.endDate.day, 23, 59, 59); } else { end = DateTime.MaxValue; } CalendarItem ci = new CalendarItem(calendarView, start, end, ""); ci.ApplyColor(Color.Yellow); ci.Tag = bdr; if (start <= calendarView.Days[calendarView.Days.Length - 1].Date && calendarView.Days[0].Date <= end) { calendarView.Items.Add(ci); } } else { BacnetweekNDay bwnd = (BacnetweekNDay)e; foreach (CalendarDay dt in calendarView.Days) { if (bwnd.IsAFittingDate(dt.Date)) { AddCalendarEntry(dt.Date, dt.Date, Color.Red, "Periodic", bwnd); } } } } }