// Token: 0x06000FED RID: 4077 RVA: 0x0005A990 File Offset: 0x00058B90
        protected override void InternalCopyFrom(IProperty srcProperty)
        {
            IExtendedAttendeesProperty extendedAttendeesProperty = srcProperty as IExtendedAttendeesProperty;

            if (extendedAttendeesProperty == null)
            {
                throw new UnexpectedTypeException("IExtendedAttendeesProperty", srcProperty);
            }
            base.XmlNode = base.XmlParentNode.OwnerDocument.CreateElement(base.AirSyncTagNames[0], base.Namespace);
            foreach (ExtendedAttendeeData extendedAttendeeData in extendedAttendeesProperty)
            {
                XmlNode xmlNode  = base.XmlParentNode.OwnerDocument.CreateElement("Attendee", base.Namespace);
                XmlNode xmlNode2 = base.XmlParentNode.OwnerDocument.CreateElement("Email", base.Namespace);
                XmlNode xmlNode3 = base.XmlParentNode.OwnerDocument.CreateElement("Name", base.Namespace);
                XmlNode xmlNode4 = base.XmlParentNode.OwnerDocument.CreateElement("AttendeeType", base.Namespace);
                xmlNode2.InnerText = extendedAttendeeData.EmailAddress;
                xmlNode3.InnerText = extendedAttendeeData.DisplayName;
                xmlNode4.InnerText = extendedAttendeeData.Type.ToString(CultureInfo.InvariantCulture);
                xmlNode.AppendChild(xmlNode2);
                xmlNode.AppendChild(xmlNode3);
                if (extendedAttendeeData.SendExtendedData)
                {
                    XmlNode xmlNode5 = base.XmlParentNode.OwnerDocument.CreateElement("AttendeeStatus", base.Namespace);
                    xmlNode5.InnerText = extendedAttendeeData.Status.ToString(CultureInfo.InvariantCulture);
                    xmlNode.AppendChild(xmlNode5);
                }
                xmlNode.AppendChild(xmlNode4);
                base.XmlNode.AppendChild(xmlNode);
            }
            if (base.XmlNode.HasChildNodes)
            {
                base.XmlParentNode.AppendChild(base.XmlNode);
            }
        }
Esempio n. 2
0
        // Token: 0x06001499 RID: 5273 RVA: 0x000775E0 File Offset: 0x000757E0
        protected override void InternalCopyFromModified(IProperty srcProperty)
        {
            CalendarItemBase calendarItemBase = base.XsoItem as CalendarItemBase;

            if (calendarItemBase == null)
            {
                throw new UnexpectedTypeException("CalendarItemBase", base.XsoItem);
            }
            IExtendedAttendeesProperty extendedAttendeesProperty = srcProperty as IExtendedAttendeesProperty;

            if (extendedAttendeesProperty == null)
            {
                throw new UnexpectedTypeException("IExtendedAttendeesProperty", srcProperty);
            }
            if (calendarItemBase.IsOrganizer())
            {
                ADObjectId adobjectId = null;
                calendarItemBase.AttendeeCollection.Clear();
                foreach (ExtendedAttendeeData extendedAttendeeData in extendedAttendeesProperty)
                {
                    Participant participant = new Participant(extendedAttendeeData.DisplayName, extendedAttendeeData.EmailAddress, "SMTP");
                    if (adobjectId == null && calendarItemBase.Session.MailboxOwner.MailboxInfo.Configuration.AddressBookPolicy != null)
                    {
                        adobjectId = DirectoryHelper.GetGlobalAddressListFromAddressBookPolicy(calendarItemBase.Session.MailboxOwner.MailboxInfo.Configuration.AddressBookPolicy, calendarItemBase.Session.GetADConfigurationSession(true, ConsistencyMode.IgnoreInvalid));
                    }
                    Participant[] array = Participant.TryConvertTo(new Participant[]
                    {
                        participant
                    }, "EX", calendarItemBase.Session.MailboxOwner, adobjectId);
                    Participant participant2 = (array != null && array.Length > 0) ? array[0] : null;
                    if (participant2 == null)
                    {
                        AirSyncDiagnostics.TraceDebug <string>(ExTraceGlobals.XsoTracer, this, "participant Conversion from SMTP to Ex failed. {0}", extendedAttendeeData.EmailAddress);
                    }
                    if (extendedAttendeeData.SendExtendedData)
                    {
                        calendarItemBase.AttendeeCollection.Add((participant2 != null) ? participant2 : participant, (AttendeeType)extendedAttendeeData.Type, new ResponseType?((ResponseType)extendedAttendeeData.Status), null, false);
                    }
                    else
                    {
                        calendarItemBase.AttendeeCollection.Add((participant2 != null) ? participant2 : participant, (AttendeeType)extendedAttendeeData.Type, null, null, false);
                    }
                }
                if (calendarItemBase.AttendeeCollection.Count > 0)
                {
                    calendarItemBase.IsMeeting = true;
                }
                calendarItemBase.UnsafeSetMeetingRequestWasSent(true);
                return;
            }
            AirSyncDiagnostics.TraceDebug <int>(ExTraceGlobals.XsoTracer, this, "XsoExtendedAttendeesProperty::InternalCopyFromModified.Skip copying attendees as current user is not organizer.Existing Attendee Count:{0}", calendarItemBase.AttendeeCollection.Count);
        }
Esempio n. 3
0
        // Token: 0x060011C4 RID: 4548 RVA: 0x00061370 File Offset: 0x0005F570
        public override void CopyFrom(IProperty srcProperty)
        {
            IExtendedAttendeesProperty extendedAttendeesProperty = srcProperty as IExtendedAttendeesProperty;

            if (extendedAttendeesProperty != null)
            {
                List <Attendee> list = new List <Attendee>(extendedAttendeesProperty.Count);
                foreach (ExtendedAttendeeData extendedAttendeeData in extendedAttendeesProperty)
                {
                    list.Add(new Attendee
                    {
                        EmailAddress = extendedAttendeeData.EmailAddress,
                        Name         = extendedAttendeeData.DisplayName,
                        Type         = (AttendeeType)extendedAttendeeData.Type
                    });
                }
                base.CalendaringEvent.Attendees = list;
            }
        }