Example #1
0
 /// <summary>
 /// Writes the URI to XML.
 /// </summary>
 /// <param name="writer">The writer.</param>
 /// <param name="key">The key.</param>
 private void WriteUriToXml(EwsServiceXmlWriter writer, TKey key)
 {
     writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.IndexedFieldURI);
     writer.WriteAttributeValue(XmlAttributeNames.FieldURI, this.GetFieldURI());
     writer.WriteAttributeValue(XmlAttributeNames.FieldIndex, this.GetFieldIndex(key));
     writer.WriteEndElement();
 }
Example #2
0
        /// <summary>
        /// Write to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void InternalWriteViewToXml(EwsServiceXmlWriter writer)
        {
            base.InternalWriteViewToXml(writer);

            writer.WriteAttributeValue(XmlAttributeNames.StartDate, this.StartDate);
            writer.WriteAttributeValue(XmlAttributeNames.EndDate, this.EndDate);
        }
Example #3
0
        /// <summary>
        /// Write to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void InternalWriteViewToXml(EwsServiceXmlWriter writer)
        {
            base.InternalWriteViewToXml(writer);

            writer.WriteAttributeValue(XmlAttributeNames.Offset, this.Offset);
            writer.WriteAttributeValue(XmlAttributeNames.BasePoint, this.OffsetBasePoint);
        }
Example #4
0
        /// <summary>
        /// Writes the attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            writer.WriteAttributeValue(
                XmlAttributeNames.ReturnFullContactData,
                this.ReturnFullContactData);

            string searchScope = null;

            searchScopeMap.Member.TryGetValue(this.SearchLocation, out searchScope);

            EwsUtilities.Assert(
                !string.IsNullOrEmpty(searchScope),
                "ResolveNameRequest.WriteAttributesToXml",
                "The specified search location cannot be mapped to an EWS search scope.");

            string propertySet = null;

            if (this.contactDataPropertySet != null)
            {
                PropertySet.DefaultPropertySetMap.Member.TryGetValue(this.contactDataPropertySet.BasePropertySet, out propertySet);
            }

            if (!this.Service.Exchange2007CompatibilityMode)
            {
                writer.WriteAttributeValue(XmlAttributeNames.SearchScope, searchScope);
            }
            if (!string.IsNullOrEmpty(propertySet))
            {
                writer.WriteAttributeValue(XmlAttributeNames.ContactDataShape, propertySet);
            }
        }
Example #5
0
        /// <summary>
        /// Write to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void InternalWriteViewToXml(EwsServiceXmlWriter writer)
        {
            base.InternalWriteViewToXml(writer);

            writer.WriteAttributeValue(XmlAttributeNames.Offset, this.Offset);
            writer.WriteAttributeValue(XmlAttributeNames.BasePoint, this.OffsetBasePoint);
        }
            /// <summary>
            /// Writes the attributes to XML.
            /// </summary>
            /// <param name="writer">The writer.</param>
            internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
            {
                base.WriteAttributesToXml(writer);

                writer.WriteAttributeValue(XmlAttributeNames.ContainmentMode, this.ContainmentMode);
                writer.WriteAttributeValue(XmlAttributeNames.ContainmentComparison, this.ComparisonMode);
            }
        /// <summary>
        /// Writes attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            writer.WriteAttributeValue(XmlAttributeNames.SetClientExtensionActionId, this.setClientExtensionActionId);

            if (!string.IsNullOrEmpty(this.extensionId))
            {
                writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionId, this.extensionId);
            }
        }
Example #8
0
        /// <summary>
        /// Writes attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            writer.WriteAttributeValue(XmlAttributeNames.SetClientExtensionActionId, this.setClientExtensionActionId);

            if (!string.IsNullOrEmpty(this.extensionId))
            {
                writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionId, this.extensionId);
            }
        }
Example #9
0
        /// <summary>
        /// Writes the attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            // The Name attribute is only supported in Exchange 2010 and above.
            if (writer.Service.RequestedServerVersion != ExchangeVersion.Exchange2007_SP1)
            {
                writer.WriteAttributeValue(XmlAttributeNames.Name, this.name);
            }

            writer.WriteAttributeValue(XmlAttributeNames.Id, this.id);
        }
Example #10
0
 /// <summary>
 /// Write field deletion to XML.
 /// </summary>
 /// <param name="writer">The writer.</param>
 /// <param name="ewsObject">The ews object.</param>
 /// <param name="fieldXmlElementName">Name of the field XML element.</param>
 private void InternalWriteDeleteFieldToXml(
     EwsServiceXmlWriter writer,
     ServiceObject ewsObject,
     string fieldXmlElementName)
 {
     writer.WriteStartElement(XmlNamespace.Types, ewsObject.GetDeleteFieldXmlElementName());
     writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.IndexedFieldURI);
     writer.WriteAttributeValue(XmlAttributeNames.FieldURI, GetFieldUri(fieldXmlElementName));
     writer.WriteAttributeValue(XmlAttributeNames.FieldIndex, this.Key.ToString());
     writer.WriteEndElement(); // IndexedFieldURI
     writer.WriteEndElement(); // ewsObject.GetDeleteFieldXmlElementName()
 }
        /// <summary>
        /// Writes the attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            if (this.Traversal.HasValue)
            {
                writer.WriteAttributeValue(XmlAttributeNames.Traversal, this.Traversal);
            }

            if (this.ViewFilter.HasValue)
            {
                writer.WriteAttributeValue(XmlAttributeNames.ViewFilter, this.ViewFilter);
            }
        }
        /// <summary>
        /// Writes the attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            if (this.Traversal.HasValue)
            {
                writer.WriteAttributeValue(XmlAttributeNames.Traversal, this.Traversal);
            }

            if (this.ViewFilter.HasValue)
            {
                writer.WriteAttributeValue(XmlAttributeNames.ViewFilter, this.ViewFilter);
            }
        }
Example #13
0
        /// <summary>
        /// Writes the attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            // The Name attribute is only supported in Exchange 2010 and above.
            if (writer.Service.RequestedServerVersion != ExchangeVersion.Exchange2007_SP1)
            {
                writer.WriteAttributeValue(XmlAttributeNames.Name, this.name);
            }

            string normValue = TimeZoneData.TimeZoneTranslator.TranslateWrite(this.id);

            writer.WriteAttributeValue(XmlAttributeNames.Id, normValue);
        }
Example #14
0
 /// <summary>
 /// Writes attributes to XML.
 /// </summary>
 /// <param name="writer">The writer.</param>
 internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
 {
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionType, this.Type);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionScope, this.Scope);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionMarketplaceAssetID, this.MarketplaceAssetID);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionMarketplaceContentMarket, this.MarketplaceContentMarket);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionAppStatus, this.AppStatus);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionEtoken, this.Etoken);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionIsAvailable, this.IsAvailable);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionIsMandatory, this.IsMandatory);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionIsEnabledByDefault, this.IsEnabledByDefault);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionProvidedTo, this.ProvidedTo);
 }
Example #15
0
        /// <summary>
        /// Writes the update to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="ewsObject">The ews object.</param>
        /// <param name="ownerDictionaryXmlElementName">Name of the owner dictionary XML element.</param>
        /// <returns>True if update XML was written.</returns>
        internal override bool WriteSetUpdateToXml(
            EwsServiceXmlWriter writer,
            ServiceObject ewsObject,
            string ownerDictionaryXmlElementName)
        {
            List <string> fieldsToSet = new List <string>();

            foreach (string xmlElementName in this.propertyBag.AddedItems)
            {
                fieldsToSet.Add(xmlElementName);
            }

            foreach (string xmlElementName in this.propertyBag.ModifiedItems)
            {
                fieldsToSet.Add(xmlElementName);
            }

            foreach (string xmlElementName in fieldsToSet)
            {
                writer.WriteStartElement(XmlNamespace.Types, ewsObject.GetSetFieldXmlElementName());

                writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.IndexedFieldURI);
                writer.WriteAttributeValue(XmlAttributeNames.FieldURI, GetFieldUri(xmlElementName));
                writer.WriteAttributeValue(XmlAttributeNames.FieldIndex, this.Key.ToString());
                writer.WriteEndElement(); // IndexedFieldURI

                writer.WriteStartElement(XmlNamespace.Types, ewsObject.GetXmlElementName());
                writer.WriteStartElement(XmlNamespace.Types, ownerDictionaryXmlElementName);
                writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.Entry);
                this.WriteAttributesToXml(writer);
                writer.WriteElementValue(
                    XmlNamespace.Types,
                    xmlElementName,
                    this.propertyBag[xmlElementName]);
                writer.WriteEndElement(); // Entry
                writer.WriteEndElement(); // ownerDictionaryXmlElementName
                writer.WriteEndElement(); // ewsObject.GetXmlElementName()

                writer.WriteEndElement(); // ewsObject.GetSetFieldXmlElementName()
            }

            foreach (string xmlElementName in this.propertyBag.RemovedItems)
            {
                this.InternalWriteDeleteFieldToXml(
                    writer,
                    ewsObject,
                    xmlElementName);
            }

            return(true);
        }
Example #16
0
        /// <summary>
        /// Writes the attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            base.WriteAttributesToXml(writer);

            if (writer.Service.RequestedServerVersion > ExchangeVersion.Exchange2007_SP1)
            {
                writer.WriteAttributeValue(XmlAttributeNames.Name, this.EmailAddress.Name);
                writer.WriteAttributeValue(XmlAttributeNames.RoutingType, this.EmailAddress.RoutingType);
                if (this.EmailAddress.MailboxType != MailboxType.Unknown)
                {
                    writer.WriteAttributeValue(XmlAttributeNames.MailboxType, this.EmailAddress.MailboxType);
                }
            }
        }
        /// <summary>
        /// Writes the attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            base.WriteAttributesToXml(writer);

            if (this.MessageDisposition.HasValue)
            {
                writer.WriteAttributeValue(XmlAttributeNames.MessageDisposition, this.MessageDisposition.Value);
            }

            if (this.SendInvitationsMode.HasValue)
            {
                writer.WriteAttributeValue(XmlAttributeNames.SendMeetingInvitations, this.SendInvitationsMode.Value);
            }
        }
        /// <summary>
        /// Writes to Xml.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="xmlNamespace">The XML namespace.</param>
        /// <param name="name">The user configuration name.</param>
        /// <param name="parentFolderId">The Id of the folder containing the user configuration.</param>
        internal static void WriteUserConfigurationNameToXml(
            EwsServiceXmlWriter writer,
            XmlNamespace xmlNamespace,
            string name,
            FolderId parentFolderId)
        {
            EwsUtilities.Assert(
                writer != null,
                "UserConfiguration.WriteUserConfigurationNameToXml",
                "writer is null");
            EwsUtilities.Assert(
                name != null,
                "UserConfiguration.WriteUserConfigurationNameToXml",
                "name is null");
            EwsUtilities.Assert(
                parentFolderId != null,
                "UserConfiguration.WriteUserConfigurationNameToXml",
                "parentFolderId is null");

            writer.WriteStartElement(xmlNamespace, XmlElementNames.UserConfigurationName);

            writer.WriteAttributeValue(XmlAttributeNames.Name, name);

            parentFolderId.WriteToXml(writer);

            writer.WriteEndElement();
        }
Example #19
0
        /// <summary>
        /// Writes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal void WriteToXml(EwsServiceXmlWriter writer)
        {
            writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.GroupBy);
            writer.WriteAttributeValue(XmlAttributeNames.Order, this.SortDirection);

            this.GroupOn.WriteToXml(writer);

            writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.AggregateOn);
            writer.WriteAttributeValue(XmlAttributeNames.Aggregate, this.AggregateType);

            this.AggregateOn.WriteToXml(writer);

            writer.WriteEndElement(); // AggregateOn

            writer.WriteEndElement(); // GroupBy
        }
 /// <summary>
 /// Writes the attributes to XML.
 /// </summary>
 /// <param name="writer">The writer.</param>
 internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
 {
     if (this.serviceObjType == ServiceObjectType.Item)
     {
         writer.WriteAttributeValue(XmlAttributeNames.Traversal, this.Traversal);
     }
 }
        /// <summary>
        /// Writes a dictionary object (key or value) to Xml.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="xmlElementName">The Xml element name.</param>
        /// <param name="dictionaryObject">The object to write.</param>
        private void WriteObjectToXml(
            EwsServiceXmlWriter writer,
            string xmlElementName,
            object dictionaryObject)
        {
            EwsUtilities.Assert(
                writer != null,
                "UserConfigurationDictionary.WriteObjectToXml",
                "writer is null");
            EwsUtilities.Assert(
                xmlElementName != null,
                "UserConfigurationDictionary.WriteObjectToXml",
                "xmlElementName is null");

            writer.WriteStartElement(XmlNamespace.Types, xmlElementName);

            if (dictionaryObject == null)
            {
                EwsUtilities.Assert(
                    xmlElementName != XmlElementNames.DictionaryKey,
                    "UserConfigurationDictionary.WriteObjectToXml",
                    "Key is null");

                writer.WriteAttributeValue(
                    EwsUtilities.EwsXmlSchemaInstanceNamespacePrefix,
                    XmlAttributeNames.Nil,
                    EwsUtilities.XSTrue);
            }
            else
            {
                this.WriteObjectValueToXml(writer, dictionaryObject);
            }

            writer.WriteEndElement();
        }
Example #22
0
 /// <summary>
 /// Writes the attributes to XML.
 /// </summary>
 /// <param name="writer">The writer.</param>
 internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
 {
     if (this.serviceObjType == ServiceObjectType.Item)
     {
         writer.WriteAttributeValue(XmlAttributeNames.Traversal, this.Traversal);
     }
 }
        /// <summary>
        /// Writes elements to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteElementsToXml(EwsServiceXmlWriter writer)
        {
            writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.To);

            if (this.targetPeriod != null)
            {
                writer.WriteAttributeValue(XmlAttributeNames.Kind, PeriodTarget);
                writer.WriteValue(this.targetPeriod.Id, XmlElementNames.To);
            }
            else
            {
                writer.WriteAttributeValue(XmlAttributeNames.Kind, GroupTarget);
                writer.WriteValue(this.targetGroup.Id, XmlElementNames.To);
            }

            writer.WriteEndElement(); // To
        }
Example #24
0
        /// <summary>
        /// Writes the attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            base.WriteAttributesToXml(writer);

            writer.WriteAttributeValue(
                XmlAttributeNames.SaveItemToFolder,
                this.SavedCopyDestinationFolderId != null);
        }
            /// <summary>
            /// Writes the elements to XML.
            /// </summary>
            /// <param name="writer">The writer.</param>
            internal override void WriteElementsToXml(EwsServiceXmlWriter writer)
            {
                base.WriteElementsToXml(writer);

                writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.Constant);
                writer.WriteAttributeValue(XmlAttributeNames.Value, this.Value);
                writer.WriteEndElement(); // Constant
            }
Example #26
0
        /// <summary>
        /// Writes this view to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal virtual void InternalWriteViewToXml(EwsServiceXmlWriter writer)
        {
            int?maxEntriesReturned = this.GetMaxEntriesReturned();

            if (maxEntriesReturned.HasValue)
            {
                writer.WriteAttributeValue(XmlAttributeNames.MaxEntriesReturned, maxEntriesReturned.Value);
            }
        }
Example #27
0
        /// <summary>
        /// Writes this view to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal virtual void InternalWriteViewToXml(EwsServiceXmlWriter writer)
        {
            int? maxEntriesReturned = this.GetMaxEntriesReturned();

            if (maxEntriesReturned.HasValue)
            {
                writer.WriteAttributeValue(XmlAttributeNames.MaxEntriesReturned, maxEntriesReturned.Value);
            }
        }
Example #28
0
        /// <summary>
        /// Writes XML elements.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteElementsToXml(EwsServiceXmlWriter writer)
        {
            if (null != this.requestedExtensionIds && this.requestedExtensionIds.Count > 0)
            {
                writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.ClientExtensionRequestedIds);
                requestedExtensionIds.WriteElementsToXml(writer);
                writer.WriteEndElement();
            }

            if (this.isUserScope)
            {
                writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.ClientExtensionUserRequest);

                writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionUserIdentity, this.userId);

                if (shouldReturnEnabledOnly)
                {
                    writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionEnabledOnly, this.shouldReturnEnabledOnly);
                }

                if (null != this.userEnabledExtensionIds && this.userEnabledExtensionIds.Count > 0)
                {
                    writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.ClientExtensionUserEnabled);
                    userEnabledExtensionIds.WriteElementsToXml(writer);
                    writer.WriteEndElement();
                }

                if (null != this.userDisabledExtensionIds && this.userDisabledExtensionIds.Count > 0)
                {
                    writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.ClientExtensionUserDisabled);
                    userDisabledExtensionIds.WriteElementsToXml(writer);
                    writer.WriteEndElement();
                }

                writer.WriteEndElement();
            }

            if (isDebug)
            {
                writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.ClientExtensionIsDebug, isDebug);
            }
        }
Example #29
0
        /// <summary>
        /// Writes XML elements.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteElementsToXml(EwsServiceXmlWriter writer)
        {
            writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.AttachmentIds);

            foreach (Attachment attachment in this.Attachments)
            {
                writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.AttachmentId);
                writer.WriteAttributeValue(XmlAttributeNames.Id, attachment.Id);
                writer.WriteEndElement();
            }

            writer.WriteEndElement();
        }
        /// <summary>
        /// Writes XML elements.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteElementsToXml(EwsServiceXmlWriter writer)
        {
            writer.WriteAttributeValue(XmlAttributeNames.DestinationFormat, this.DestinationFormat);

            writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.SourceIds);

            foreach (AlternateIdBase alternateId in this.Ids)
            {
                alternateId.WriteToXml(writer);
            }

            writer.WriteEndElement(); // SourceIds
        }
Example #31
0
        /// <summary>
        /// Write to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void InternalWriteViewToXml(EwsServiceXmlWriter writer)
        {
            base.InternalWriteViewToXml(writer);

            writer.WriteAttributeValue(XmlAttributeNames.BasePoint, this.OffsetBasePoint);

            if (this.Condition != null)
            {
                writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.Condition);
                this.Condition.WriteToXml(writer);
                writer.WriteEndElement(); // Restriction
            }
        }
Example #32
0
        /// <summary>
        /// Writes XML attributes.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            base.WriteAttributesToXml(writer);

            if (this.MessageDisposition.HasValue)
            {
                writer.WriteAttributeValue(XmlAttributeNames.MessageDisposition, this.MessageDisposition);
            }

            if (this.SuppressReadReceipts)
            {
                writer.WriteAttributeValue(XmlAttributeNames.SuppressReadReceipts, true);
            }

            writer.WriteAttributeValue(XmlAttributeNames.ConflictResolution, this.ConflictResolutionMode);

            if (this.SendInvitationsOrCancellationsMode.HasValue)
            {
                writer.WriteAttributeValue(
                    XmlAttributeNames.SendMeetingInvitationsOrCancellations,
                    this.SendInvitationsOrCancellationsMode.Value);
            }
        }
Example #33
0
        /// <summary>
        /// Writes XML attributes.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            base.WriteAttributesToXml(writer);

            if (this.AffectedTaskOccurrences.HasValue)
            {
                writer.WriteAttributeValue(
                    XmlAttributeNames.AffectedTaskOccurrences,
                    this.AffectedTaskOccurrences.Value);
            }

            if (this.SendCancellationsMode.HasValue)
            {
                writer.WriteAttributeValue(
                    XmlAttributeNames.SendMeetingCancellations,
                    this.SendCancellationsMode.Value);
            }

            if (this.SuppressReadReceipts)
            {
                writer.WriteAttributeValue(XmlAttributeNames.SuppressReadReceipts, true);
            }
        }
Example #34
0
        /// <summary>
        /// Writes attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            if (this.FolderName.HasValue)
            {
                writer.WriteAttributeValue(XmlAttributeNames.Id, this.FolderName.Value.ToString().ToLowerInvariant());

                if (this.Mailbox != null)
                {
                    this.Mailbox.WriteToXml(writer, XmlElementNames.Mailbox);
                }
            }
            else
            {
                base.WriteAttributesToXml(writer);
            }
        }
            /// <summary>
            /// Writes the elements to XML.
            /// </summary>
            /// <param name="writer">The writer.</param>
            internal override void WriteElementsToXml(EwsServiceXmlWriter writer)
            {
                base.WriteElementsToXml(writer);

                writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.FieldURIOrConstant);

                if (this.Value != null)
                {
                    writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.Constant);
                    writer.WriteAttributeValue(XmlAttributeNames.Value, true /* alwaysWriteEmptyString */, this.Value);
                    writer.WriteEndElement(); // Constant
                }
                else
                {
                    this.OtherPropertyDefinition.WriteToXml(writer);
                }

                writer.WriteEndElement(); // FieldURIOrConstant
            }
            /// <summary>
            /// Writes the elements to XML.
            /// </summary>
            /// <param name="writer">The writer.</param>
            internal override void WriteElementsToXml(EwsServiceXmlWriter writer)
            {
                base.WriteElementsToXml(writer);

                writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.FieldURIOrConstant);

                if (this.Value != null)
                {
                    writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.Constant);
                    writer.WriteAttributeValue(XmlAttributeNames.Value, true /* alwaysWriteEmptyString */, this.Value);
                    writer.WriteEndElement(); // Constant
                }
                else
                {
                    this.OtherPropertyDefinition.WriteToXml(writer);
                }

                writer.WriteEndElement(); // FieldURIOrConstant
            }
        /// <summary>
        /// Write to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void InternalWriteViewToXml(EwsServiceXmlWriter writer)
        {
            base.InternalWriteViewToXml(writer);

            writer.WriteAttributeValue(XmlAttributeNames.StartDate, this.StartDate);
            writer.WriteAttributeValue(XmlAttributeNames.EndDate, this.EndDate);
        }
 /// <summary>
 /// Writes attributes to XML.
 /// </summary>
 /// <param name="writer">The writer.</param>
 internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
 {
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionType, this.Type);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionScope, this.Scope);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionMarketplaceAssetID, this.MarketplaceAssetID);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionMarketplaceContentMarket, this.MarketplaceContentMarket);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionAppStatus, this.AppStatus);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionEtoken, this.Etoken);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionInstalledDateTime, this.InstalledDateTime);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionIsAvailable, this.IsAvailable);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionIsMandatory, this.IsMandatory);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionIsEnabledByDefault, this.IsEnabledByDefault);
     writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionProvidedTo, this.ProvidedTo);
 }
            /// <summary>
            /// Writes the elements to XML.
            /// </summary>
            /// <param name="writer">The writer.</param>
            internal override void WriteElementsToXml(EwsServiceXmlWriter writer)
            {
                base.WriteElementsToXml(writer);

                writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.Constant);
                writer.WriteAttributeValue(XmlAttributeNames.Value, this.Value);
                writer.WriteEndElement(); // Constant
            }
        /// <summary>
        /// Writes elements to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteElementsToXml(EwsServiceXmlWriter writer)
        {
            writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.To);

            if (this.targetPeriod != null)
            {
                writer.WriteAttributeValue(XmlAttributeNames.Kind, PeriodTarget);
                writer.WriteValue(this.targetPeriod.Id, XmlElementNames.To);
            }
            else
            {
                writer.WriteAttributeValue(XmlAttributeNames.Kind, GroupTarget);
                writer.WriteValue(this.targetGroup.Id, XmlElementNames.To);
            }

            writer.WriteEndElement(); // To
        }
Example #41
0
 /// <summary>
 /// Writes the attributes to XML.
 /// </summary>
 /// <param name="writer">The writer.</param>
 internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
 {
     writer.WriteAttributeValue(XmlAttributeNames.Traversal, this.Traversal);
 }
Example #42
0
 /// <summary>
 /// Writes attributes to XML.
 /// </summary>
 /// <param name="writer">The writer.</param>
 internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
 {
     writer.WriteAttributeValue(XmlAttributeNames.Id, this.UniqueId);
     writer.WriteAttributeValue(XmlAttributeNames.ChangeKey, this.ChangeKey);
 }
        /// <summary>
        /// Writes the attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            base.WriteAttributesToXml(writer);

            writer.WriteAttributeValue(XmlAttributeNames.ItemId, this.ItemId);
        }
            /// <summary>
            /// Writes the attributes to XML.
            /// </summary>
            /// <param name="writer">The writer.</param>
            internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
            {
                base.WriteAttributesToXml(writer);

                writer.WriteAttributeValue(XmlAttributeNames.ContainmentMode, this.ContainmentMode);
                writer.WriteAttributeValue(XmlAttributeNames.ContainmentComparison, this.ComparisonMode);
            }
Example #45
0
 /// <summary>
 /// Writes the attributes to XML.
 /// </summary>
 /// <param name="writer">The writer.</param>
 internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
 {
     writer.WriteAttributeValue(XmlAttributeNames.TimeZoneName, this.TimeZoneName);
 }
        /// <summary>
        /// Writes the attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            base.WriteAttributesToXml(writer);

            writer.WriteAttributeValue(XmlAttributeNames.FieldIndex, this.Index);
        }
        /// <summary>
        /// Write to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void InternalWriteViewToXml(EwsServiceXmlWriter writer)
        {
            base.InternalWriteViewToXml(writer);

            writer.WriteAttributeValue(XmlAttributeNames.BasePoint, this.OffsetBasePoint);

            if (this.Condition != null)
            {
                writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.Condition);
                this.Condition.WriteToXml(writer);
                writer.WriteEndElement(); // Restriction
            }
        }
        /// <summary>
        /// Writes XML elements.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteElementsToXml(EwsServiceXmlWriter writer)
        {
            if (null != this.requestedExtensionIds && this.requestedExtensionIds.Count > 0)
            {
                writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.ClientExtensionRequestedIds);
                requestedExtensionIds.WriteElementsToXml(writer);
                writer.WriteEndElement();
            }
            
            if (this.isUserScope)
            {
                writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.ClientExtensionUserRequest);

                writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionUserIdentity, this.userId);

                if (shouldReturnEnabledOnly)
                {
                    writer.WriteAttributeValue(XmlAttributeNames.ClientExtensionEnabledOnly, this.shouldReturnEnabledOnly);
                }

                if (null != this.userEnabledExtensionIds && this.userEnabledExtensionIds.Count > 0)
                {
                    writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.ClientExtensionUserEnabled);
                    userEnabledExtensionIds.WriteElementsToXml(writer);
                    writer.WriteEndElement();
                }

                if (null != this.userDisabledExtensionIds && this.userDisabledExtensionIds.Count > 0)
                {
                    writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.ClientExtensionUserDisabled);
                    userDisabledExtensionIds.WriteElementsToXml(writer);
                    writer.WriteEndElement();
                }

                writer.WriteEndElement();
            }

            if (isDebug)
            {
                writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.ClientExtensionIsDebug, isDebug);
            }
        }
Example #49
0
        /// <summary>
        /// Writes attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            if (this.FolderName.HasValue)
            {
                writer.WriteAttributeValue(XmlAttributeNames.Id, this.FolderName.Value.ToString().ToLowerInvariant());

                if (this.Mailbox != null)
                {
                    this.Mailbox.WriteToXml(writer, XmlElementNames.Mailbox);
                }
            }
            else
            {
                base.WriteAttributesToXml(writer);
            }
        }
        /// <summary>
        /// Writes the attributes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
        {
            // The Name attribute is only supported in Exchange 2010 and above.
            if (writer.Service.RequestedServerVersion != ExchangeVersion.Exchange2007_SP1)
            {
                writer.WriteAttributeValue(XmlAttributeNames.Name, this.name);
            }

            writer.WriteAttributeValue(XmlAttributeNames.Id, this.id);
        }
 /// <summary>
 /// Writes the attributes to XML.
 /// </summary>
 /// <param name="writer">The writer.</param>
 internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
 {
     writer.WriteAttributeValue(XmlAttributeNames.FieldURI, this.Uri);
 }
 /// <summary>
 /// Writes the attributes to XML.
 /// </summary>
 /// <param name="writer">The writer.</param>
 internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
 {
     writer.WriteAttributeValue(
         "xmlns",
         EwsUtilities.AutodiscoverSoapNamespacePrefix,
         EwsUtilities.AutodiscoverSoapNamespace);
 }
        /// <summary>
        /// Writes to Xml.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="xmlNamespace">The XML namespace.</param>
        /// <param name="name">The user configuration name.</param>
        /// <param name="parentFolderId">The Id of the folder containing the user configuration.</param>
        internal static void WriteUserConfigurationNameToXml(
            EwsServiceXmlWriter writer,
            XmlNamespace xmlNamespace,
            string name,
            FolderId parentFolderId)
        {
            EwsUtilities.Assert(
                writer != null,
                "UserConfiguration.WriteUserConfigurationNameToXml",
                "writer is null");
            EwsUtilities.Assert(
                name != null,
                "UserConfiguration.WriteUserConfigurationNameToXml",
                "name is null");
            EwsUtilities.Assert(
                parentFolderId != null,
                "UserConfiguration.WriteUserConfigurationNameToXml",
                "parentFolderId is null");

            writer.WriteStartElement(xmlNamespace, XmlElementNames.UserConfigurationName);

            writer.WriteAttributeValue(XmlAttributeNames.Name, name);

            parentFolderId.WriteToXml(writer);

            writer.WriteEndElement();
        }
 /// <summary>
 /// Writes attributes to XML.
 /// </summary>
 /// <param name="writer">The writer.</param>
 internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
 {
     writer.WriteAttributeValue(XmlAttributeNames.RecurringMasterId, this.UniqueId);
     writer.WriteAttributeValue(XmlAttributeNames.InstanceIndex, this.OccurrenceIndex);
 }
        /// <summary>
        /// Writes the autodiscover SOAP request.
        /// </summary>
        /// <param name="requestUrl">Request URL.</param>
        /// <param name="writer">The writer.</param>
        internal void WriteSoapRequest(
            Uri requestUrl,
            EwsServiceXmlWriter writer)
        {
            writer.WriteStartElement(XmlNamespace.Soap, XmlElementNames.SOAPEnvelopeElementName);
            writer.WriteAttributeValue("xmlns", EwsUtilities.AutodiscoverSoapNamespacePrefix, EwsUtilities.AutodiscoverSoapNamespace);
            writer.WriteAttributeValue("xmlns", EwsUtilities.WSAddressingNamespacePrefix, EwsUtilities.WSAddressingNamespace);
            writer.WriteAttributeValue("xmlns", EwsUtilities.EwsXmlSchemaInstanceNamespacePrefix, EwsUtilities.EwsXmlSchemaInstanceNamespace);
            if (writer.RequireWSSecurityUtilityNamespace)
            {
                writer.WriteAttributeValue("xmlns", EwsUtilities.WSSecurityUtilityNamespacePrefix, EwsUtilities.WSSecurityUtilityNamespace);
            }

            writer.WriteStartElement(XmlNamespace.Soap, XmlElementNames.SOAPHeaderElementName);

            if (this.Service.Credentials != null)
            {
                this.Service.Credentials.EmitExtraSoapHeaderNamespaceAliases(writer.InternalWriter);
            }

            writer.WriteElementValue(
                XmlNamespace.Autodiscover,
                XmlElementNames.RequestedServerVersion,
                this.Service.RequestedServerVersion.ToString());

            writer.WriteElementValue(
                XmlNamespace.WSAddressing,
                XmlElementNames.Action,
               this.GetWsAddressingActionName());

            writer.WriteElementValue(
                XmlNamespace.WSAddressing,
                XmlElementNames.To,
               requestUrl.AbsoluteUri);

            this.WriteExtraCustomSoapHeadersToXml(writer);

            if (this.Service.Credentials != null)
            {
                this.Service.Credentials.SerializeWSSecurityHeaders(writer.InternalWriter);
            }

            this.Service.DoOnSerializeCustomSoapHeaders(writer.InternalWriter);

            writer.WriteEndElement(); // soap:Header

            writer.WriteStartElement(XmlNamespace.Soap, XmlElementNames.SOAPBodyElementName);

            this.WriteBodyToXml(writer);

            writer.WriteEndElement(); // soap:Body
            writer.WriteEndElement(); // soap:Envelope
            writer.Flush();
        }
Example #56
0
        /// <summary>
        /// Writes to XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="xmlElementName">Name of the XML element.</param>
        internal void WriteToXml(EwsServiceXmlWriter writer, string xmlElementName)
        {
            writer.WriteStartElement(XmlNamespace.Types, xmlElementName);

            if (this.Culture != null)
            {
                writer.WriteAttributeValue(
                    "xml",
                    "lang",
                    this.Culture);
            }

            writer.WriteElementValue(
                XmlNamespace.Types,
                XmlElementNames.Message,
                this.Message);

            writer.WriteEndElement(); // xmlElementName
        }
 /// <summary>
 /// Writes the attributes to XML.
 /// </summary>
 /// <param name="writer">The writer.</param>
 internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
 {
     writer.WriteAttributeValue(XmlAttributeNames.Bias, EwsUtilities.TimeSpanToXSDuration(this.bias));
     writer.WriteAttributeValue(XmlAttributeNames.Name, this.name);
     writer.WriteAttributeValue(XmlAttributeNames.Id, this.id);
 }
        /// <summary>
        /// Writes a dictionary object (key or value) to Xml.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="xmlElementName">The Xml element name.</param>
        /// <param name="dictionaryObject">The object to write.</param>
        private void WriteObjectToXml(
            EwsServiceXmlWriter writer,
            string xmlElementName,
            object dictionaryObject)
        {
            EwsUtilities.Assert(
                writer != null,
                "UserConfigurationDictionary.WriteObjectToXml",
                "writer is null");
            EwsUtilities.Assert(
                xmlElementName != null,
                "UserConfigurationDictionary.WriteObjectToXml",
                "xmlElementName is null");

            writer.WriteStartElement(XmlNamespace.Types, xmlElementName);

            if (dictionaryObject == null)
            {
                EwsUtilities.Assert(
                    xmlElementName != XmlElementNames.DictionaryKey,
                    "UserConfigurationDictionary.WriteObjectToXml",
                    "Key is null");

                writer.WriteAttributeValue(
                    EwsUtilities.EwsXmlSchemaInstanceNamespacePrefix,
                    XmlAttributeNames.Nil,
                    EwsUtilities.XSTrue);
            }
            else
            {
                this.WriteObjectValueToXml(writer, dictionaryObject);
            }

            writer.WriteEndElement();
        }
 /// <summary>
 /// Writes attributes to XML.
 /// </summary>
 /// <param name="writer">The writer.</param>
 internal override void WriteAttributesToXml(EwsServiceXmlWriter writer)
 {
     writer.WriteAttributeValue(XmlAttributeNames.CharacterSet, this.CharacterSet);
 }
        /// <summary>
        /// Writes XML.
        /// </summary>
        /// <param name="writer">The writer.</param>
        internal void WriteToXml(EwsServiceXmlWriter writer)
        {
            writer.WriteStartElement(XmlNamespace.Soap, XmlElementNames.SOAPEnvelopeElementName);
            writer.WriteAttributeValue("xmlns", EwsUtilities.EwsXmlSchemaInstanceNamespacePrefix, EwsUtilities.EwsXmlSchemaInstanceNamespace);
            writer.WriteAttributeValue("xmlns", EwsUtilities.EwsMessagesNamespacePrefix, EwsUtilities.EwsMessagesNamespace);
            writer.WriteAttributeValue("xmlns", EwsUtilities.EwsTypesNamespacePrefix, EwsUtilities.EwsTypesNamespace);
            if (writer.RequireWSSecurityUtilityNamespace)
            {
                writer.WriteAttributeValue("xmlns", EwsUtilities.WSSecurityUtilityNamespacePrefix, EwsUtilities.WSSecurityUtilityNamespace);
            }

            writer.WriteStartElement(XmlNamespace.Soap, XmlElementNames.SOAPHeaderElementName);

            if (this.Service.Credentials != null)
            {
                this.Service.Credentials.EmitExtraSoapHeaderNamespaceAliases(writer.InternalWriter);
            }

            // Emit the RequestServerVersion header
            if (!this.Service.SuppressXmlVersionHeader)
            {
                writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.RequestServerVersion);
                writer.WriteAttributeValue(XmlAttributeNames.Version, this.GetRequestedServiceVersionString());
                writer.WriteEndElement(); // RequestServerVersion
            }

            // Against Exchange 2007 SP1, we always emit the simplified time zone header. It adds very little to
            // the request, so bandwidth consumption is not an issue. Against Exchange 2010 and above, we emit
            // the full time zone header but only when the request actually needs it.
            //
            // The exception to this is if we are in Exchange2007 Compat Mode, in which case we should never emit 
            // the header.  (Note: Exchange2007 Compat Mode is enabled for testability purposes only.)
            //
            if ((this.Service.RequestedServerVersion == ExchangeVersion.Exchange2007_SP1 || this.EmitTimeZoneHeader) &&
                (!this.Service.Exchange2007CompatibilityMode))
            {
                writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.TimeZoneContext);

                this.Service.TimeZoneDefinition.WriteToXml(writer);

                writer.WriteEndElement(); // TimeZoneContext

                writer.IsTimeZoneHeaderEmitted = true;
            }

            // Emit the MailboxCulture header
            if (this.Service.PreferredCulture != null)
            {
                writer.WriteElementValue(
                    XmlNamespace.Types,
                    XmlElementNames.MailboxCulture,
                    this.Service.PreferredCulture.Name);
            }

            // Emit the DateTimePrecision header
            if (this.Service.DateTimePrecision != DateTimePrecision.Default)
            {
                writer.WriteElementValue(
                    XmlNamespace.Types,
                    XmlElementNames.DateTimePrecision,
                    this.Service.DateTimePrecision.ToString());
            }

            // Emit the ExchangeImpersonation header
            if (this.Service.ImpersonatedUserId != null)
            {
                this.Service.ImpersonatedUserId.WriteToXml(writer);
            }
            else if (this.Service.PrivilegedUserId != null)
            {
                this.Service.PrivilegedUserId.WriteToXml(writer, this.Service.RequestedServerVersion);
            }
            else if (this.Service.ManagementRoles != null)
            {
                this.Service.ManagementRoles.WriteToXml(writer);
            }

            if (this.Service.Credentials != null)
            {
                this.Service.Credentials.SerializeExtraSoapHeaders(writer.InternalWriter, this.GetXmlElementName());
            }

            this.Service.DoOnSerializeCustomSoapHeaders(writer.InternalWriter);

            writer.WriteEndElement(); // soap:Header

            writer.WriteStartElement(XmlNamespace.Soap, XmlElementNames.SOAPBodyElementName);

            this.WriteBodyToXml(writer);

            writer.WriteEndElement(); // soap:Body
            writer.WriteEndElement(); // soap:Envelope
        }