/// <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 { }
        }
Example #2
0
        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;
        }