/// <summary> /// Обновление таблицы предстоящих событий /// </summary> /// <param name="checkedItems">Итемы чекбокса</param> /// <param name="date">Выбранный день</param> private void UpdTable(DateTime?date = null) { List <Event> events = new List <Event>(); int selectRowEvent = upcomingEvents.SelectedRows.Count == 0 ? 0 : upcomingEvents.SelectedRows[0].Index; int selectRowDay = eventSelectDay.SelectedRows.Count == 0 ? 0 : eventSelectDay.SelectedRows[0].Index; foreach (var item in calendarsItem.CheckedItems) { events.AddRange(Calendar_s.Find(calendar => calendar.nameCalendar == item.ToString()).events.FindAll(x => date == null ? work.DateEvent(x.Start) > DateTime.Now : work.DateEvent(x.Start).Date == date.Value.Date)); } work.SortEvents(events); int count = 0; int num = 0; if (date == null) { upcomingEvents.Rows.Clear(); count = (int)numericUpDown1.Value > events.Count ? events.Count : (int)numericUpDown1.Value; } else { eventSelectDay.Rows.Clear(); count = events.Count; } for (int i = 0; i < count; i++) { var item = Calendar_s.Find(x => x.events.Contains(events[i])); if (date == null) { upcomingEvents.Rows.Add(++num, events[i].Summary, work.DateEvent(events[i].Start).ToShortDateString(), item.calendar.Id, events[i].Id); } else { eventSelectDay.Rows.Add(++num, events[i].Summary, work.DateEvent(events[i].Start).ToShortDateString(), item.calendar.Id, events[i].Id); } } try { upcomingEvents.Rows[selectRowEvent].Selected = true; } catch { } try { eventSelectDay.Rows[selectRowDay].Selected = true; } catch { } }
public InfoEvent(CalendarWork work, Event selectEvent, CalendarListEntry selectCalendar) { InitializeComponent(); this.Work = work; this.Icon = Properties.Resources.Google_Calendar_icon_icons_com_75710; SelectEvent = selectEvent ?? throw new ArgumentNullException(nameof(selectEvent)); SourceCalendar = selectCalendar ?? throw new ArgumentNullException(nameof(selectCalendar)); AllCalendars = work.GetCalendarsName().Where(x => x.AccessRole != "reader").ToList(); var dateStart = Work.DateEvent(SelectEvent.Start); var dateEnd = Work.DateEvent(SelectEvent.End); eventSummary.Text = SelectEvent.Summary; eventStart.Value = Work.DateEvent(SelectEvent.Start).Date; eventEnd.Value = Work.DateEvent(SelectEvent.End).Date; eventDescription.Text = SelectEvent.Description; if (SelectEvent.Attendees != null) { foreach (var attend in SelectEvent.Attendees) { eventAttendees.AppendText(attend.Email); } } eventLocation.Text = SelectEvent.Location; foreach (var calendar in AllCalendars) { CalendarsForEvents.Items.Add(calendar.Summary); } CalendarsForEvents.Text = SourceCalendar.Summary; }