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); } }
// 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()); }