Exemplo n.º 1
0
    bool TryReadElementFromXml(EwsServiceXmlReader reader)
    {
        switch (reader.LocalName)
        {
        case XmlElementNames.StartTime:
            this.startTime = reader.ReadElementValueAsUnbiasedDateTimeScopedToServiceTimeZone();
            return(true);

        case XmlElementNames.EndTime:
            this.endTime = reader.ReadElementValueAsUnbiasedDateTimeScopedToServiceTimeZone();
            return(true);

        case XmlElementNames.BusyType:
            this.freeBusyStatus = reader.ReadElementValue <LegacyFreeBusyStatus>();
            return(true);

        case XmlElementNames.CalendarEventDetails:
            this.details = new CalendarEventDetails();
            this.details.LoadFromXml(reader, reader.LocalName);
            return(true);

        default:
            return(false);
        }
    }
Exemplo n.º 2
0
        // Token: 0x06001E27 RID: 7719 RVA: 0x000AEF7C File Offset: 0x000AD17C
        private GSCalendarItem[] GetItemsFromEventArray(CalendarEvent[] eventArray)
        {
            List <GSCalendarItem> list = new List <GSCalendarItem>(eventArray.Length);

            foreach (CalendarEvent calendarEvent in eventArray)
            {
                ExDateTime exDateTime  = new ExDateTime(this.userContext.TimeZone, calendarEvent.StartTime);
                ExDateTime exDateTime2 = new ExDateTime(this.userContext.TimeZone, calendarEvent.EndTime);
                if (exDateTime > exDateTime2)
                {
                    ExTraceGlobals.CalendarDataTracer.TraceDebug(0L, "Skipping appointment with an end time earlier than a start time");
                }
                else
                {
                    for (int j = 0; j < this.dateRanges.Length; j++)
                    {
                        if (this.dateRanges[j].Intersects(exDateTime, exDateTime2))
                        {
                            GSCalendarItem gscalendarItem = new GSCalendarItem();
                            gscalendarItem.StartTime = exDateTime;
                            gscalendarItem.EndTime   = exDateTime2;
                            gscalendarItem.BusyType  = this.ConvertBusyType(calendarEvent.BusyType);
                            if (calendarEvent.CalendarEventDetails != null)
                            {
                                CalendarEventDetails calendarEventDetails = calendarEvent.CalendarEventDetails;
                                gscalendarItem.Subject   = calendarEventDetails.Subject;
                                gscalendarItem.Location  = calendarEventDetails.Location;
                                gscalendarItem.IsMeeting = calendarEventDetails.IsMeeting;
                                gscalendarItem.IsPrivate = calendarEventDetails.IsPrivate;
                                if (calendarEventDetails.IsException)
                                {
                                    gscalendarItem.CalendarItemType = CalendarItemTypeWrapper.Exception;
                                }
                                else if (calendarEventDetails.IsRecurring)
                                {
                                    gscalendarItem.CalendarItemType = CalendarItemTypeWrapper.Occurrence;
                                }
                                else
                                {
                                    gscalendarItem.CalendarItemType = CalendarItemTypeWrapper.Single;
                                }
                            }
                            else
                            {
                                gscalendarItem.CalendarItemType = CalendarItemTypeWrapper.Single;
                            }
                            list.Add(gscalendarItem);
                            break;
                        }
                    }
                }
            }
            return(list.ToArray());
        }