/// <summary> /// Writes XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.ActionType, this.ActionType.ToString()); writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.HoldId, this.HoldId); writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.Query, this.Query ?? string.Empty); if (this.Mailboxes != null && this.Mailboxes.Length > 0) { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.Mailboxes); foreach (string mailbox in this.Mailboxes) { writer.WriteElementValue(XmlNamespace.Types, XmlElementNames.String, mailbox); } writer.WriteEndElement(); // Mailboxes } // Language if (!string.IsNullOrEmpty(this.Language)) { writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.Language, this.Language); } if (!string.IsNullOrEmpty(this.InPlaceHoldIdentity)) { writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.InPlaceHoldIdentity, this.InPlaceHoldIdentity); } if (!string.IsNullOrEmpty(this.ItemHoldPeriod)) { writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.ItemHoldPeriod, this.ItemHoldPeriod); } }
/// <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 XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { this.ItemProperties.WriteToXml(writer, ServiceObjectType.Item); this.FoldersToIgnore.WriteToXml(writer, XmlNamespace.Messages, XmlElementNames.FoldersToIgnore); if (this.MaxItemsToReturn.HasValue) { writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.MaxItemsToReturn, this.MaxItemsToReturn.Value); } if (this.SortOrder.HasValue) { writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.SortOrder, this.SortOrder.Value); } if (this.MailboxScope.HasValue) { writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.MailboxScope, this.MailboxScope.Value); } writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.Conversations); this.Conversations.ForEach((conversation) => conversation.WriteToXml(writer, XmlElementNames.Conversation)); writer.WriteEndElement(); }
/// <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 XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.Mailboxes); foreach (string mailbox in this.Mailboxes) { writer.WriteElementValue(XmlNamespace.Types, XmlElementNames.LegacyDN, mailbox); } writer.WriteEndElement(); if (this.PageSize != null && this.PageSize.HasValue) { writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.PageSize, this.PageSize.Value.ToString()); } if (!string.IsNullOrEmpty(this.PageItemReference)) { writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.PageItemReference, this.PageItemReference); } if (this.PageDirection != null && this.PageDirection.HasValue) { writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.PageDirection, this.PageDirection.Value.ToString()); } writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.SearchArchiveOnly, this.SearchArchiveOnly); }
/// <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 elements to XML. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { this.PropertyDefinition.WriteToXml(writer); if (MapiTypeConverter.IsArrayType(this.PropertyDefinition.MapiType)) { Array array = this.Value as Array; writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.Values); for (int index = array.GetLowerBound(0); index <= array.GetUpperBound(0); index++) { writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.Value, MapiTypeConverter.ConvertToString(this.PropertyDefinition.MapiType, array.GetValue(index))); } writer.WriteEndElement(); } else { writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.Value, MapiTypeConverter.ConvertToString(this.PropertyDefinition.MapiType, this.Value)); } }
/// <summary> /// WriteToXml /// </summary> /// <param name="writer"></param> internal void WriteToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.ManagementRole); WriteRolesToXml(writer, this.userRoles, XmlElementNames.UserRoles); WriteRolesToXml(writer, this.applicationRoles, XmlElementNames.ApplicationRoles); writer.WriteEndElement(); }
/// <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(); }
/// <summary> /// Writes an EWS DeleteUpdate opeartion for the specified property. /// </summary> /// <param name="writer">The writer to write the update to.</param> /// <param name="propertyDefinition">The property fro which to write the update.</param> /// <param name="propertyValue">The current value of the property.</param> private void WriteDeleteUpdateToXml( EwsServiceXmlWriter writer, PropertyDefinition propertyDefinition, object propertyValue) { // The following test should not be necessary since the property bag prevents // properties to be deleted (set to null) if they don't have the CanDelete flag, // but it doesn't hurt... if (propertyDefinition.HasFlag(PropertyDefinitionFlags.CanDelete)) { bool handled = false; ICustomUpdateSerializer updateSerializer = propertyValue as ICustomUpdateSerializer; if (updateSerializer != null) { handled = updateSerializer.WriteDeleteUpdateToXml(writer, this.Owner); } if (!handled) { writer.WriteStartElement(XmlNamespace.Types, this.Owner.GetDeleteFieldXmlElementName()); propertyDefinition.WriteToXml(writer); writer.WriteEndElement(); } } }
/// <summary> /// Writes to XML. /// </summary> /// <param name="writer">The writer.</param> internal void WriteToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.PersonaPostalAddress); this.WriteElementsToXml(writer); writer.WriteEndElement(); // xmlElementName }
/// <summary> /// Writes XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.ToFolderId); this.DestinationFolderId.WriteToXml(writer); writer.WriteEndElement(); this.WriteIdsToXml(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.Constant); writer.WriteAttributeValue(XmlAttributeNames.Value, this.Value); writer.WriteEndElement(); // Constant }
/// <summary> /// Writes the elements to XML. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.Mailbox); writer.WriteElementValue(XmlNamespace.Types, XmlElementNames.Address, this.SmtpAddress); writer.WriteEndElement(); // Mailbox this.OofSettings.WriteToXml(writer, XmlElementNames.UserOofSettings); }
/// <summary> /// Writes XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.ArchiveSourceFolderId); this.SourceFolderId.WriteToXml(writer); writer.WriteEndElement(); this.WriteIdsToXml(writer); }
/// <summary> /// Writes XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { // Emit the view element // this.View.WriteToXml(writer, null); // Emit the Sort Order // this.View.WriteOrderByToXml(writer); // Emit the Parent Folder Id // writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.ParentFolderId); this.FolderId.WriteToXml(writer); writer.WriteEndElement(); // Emit the MailboxScope flag // if (this.MailboxScope.HasValue) { writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.MailboxScope, this.MailboxScope.Value); } if (!string.IsNullOrEmpty(this.queryString)) { // Emit the QueryString // writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.QueryString); if (this.ReturnHighlightTerms) { writer.WriteAttributeString(XmlAttributeNames.ReturnHighlightTerms, this.ReturnHighlightTerms.ToString().ToLowerInvariant()); } writer.WriteValue(this.queryString, XmlElementNames.QueryString); writer.WriteEndElement(); } if (this.Service.RequestedServerVersion >= ExchangeVersion.Exchange2013) { if (this.View.PropertySet != null) { this.View.PropertySet.WriteToXml(writer, ServiceObjectType.Conversation); } } }
/// <summary> /// Writes to XML. /// </summary> /// <param name="writer">The writer.</param> /// <param name="groupBy">The group by clause.</param> internal override void WriteToXml(EwsServiceXmlWriter writer, Grouping groupBy) { writer.WriteStartElement(XmlNamespace.Messages, this.GetViewXmlElementName()); this.InternalWriteViewToXml(writer); writer.WriteEndElement(); // this.GetViewXmlElementName() }
/// <summary> /// Writes XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.Verb, this.Verb); writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.Parameter); writer.WriteNode(this.Parameter); writer.WriteEndElement(); }
/// <summary> /// Writes XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.Manifest); writer.WriteBase64ElementValue(manifestStream); writer.WriteEndElement(); }
/// <summary> /// Writes XML body. /// </summary> /// <param name="writer">The writer.</param> internal void WriteBodyToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(XmlNamespace.Messages, this.GetXmlElementName()); this.WriteAttributesToXml(writer); this.WriteElementsToXml(writer); writer.WriteEndElement(); // m:this.GetXmlElementName() }
/// <summary> /// Writes the elements to XML. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.ItemIds); foreach (Item item in this.Items) { item.Id.WriteToXml(writer, XmlElementNames.ItemId); } writer.WriteEndElement(); // ItemIds if (this.SavedCopyDestinationFolderId != null) { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.SavedItemFolderId); this.SavedCopyDestinationFolderId.WriteToXml(writer); writer.WriteEndElement(); } }
/// <summary> /// Writes elements to XML. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { foreach (string item in this) { writer.WriteStartElement(XmlNamespace.Types, this.itemXmlElementName); writer.WriteValue(item, this.itemXmlElementName); writer.WriteEndElement(); } }
/// <summary> /// Writes the elements to XML. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { foreach (byte[] item in this.content) { writer.WriteStartElement(XmlNamespace.Types, ByteArrayArray.ItemXmlElementName); writer.WriteBase64ElementValue(item); writer.WriteEndElement(); } }
/// <summary> /// Writes XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { if (this.SavedItemsDestinationFolder != null) { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.SavedItemFolderId); this.SavedItemsDestinationFolder.WriteToXml(writer); writer.WriteEndElement(); } writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.ItemChanges); foreach (Item item in this.items) { item.WriteToXmlForUpdate(writer); } writer.WriteEndElement(); }
/// <summary> /// Writes to XML. /// </summary> /// <param name="writer">The writer.</param> /// <param name="xmlNamespace">The XML namespace.</param> /// <param name="xmlElementName">Name of the XML element.</param> internal virtual void WriteToXml( EwsServiceXmlWriter writer, XmlNamespace xmlNamespace, string xmlElementName) { writer.WriteStartElement(xmlNamespace, xmlElementName); this.WriteAttributesToXml(writer); this.WriteElementsToXml(writer); writer.WriteEndElement(); }
/// <summary> /// Writes to XML. /// </summary> /// <param name="writer">The writer.</param> /// <param name="requestedServerVersion">The requested server version.</param> internal void WriteToXml(EwsServiceXmlWriter writer, ExchangeVersion requestedServerVersion) { if (string.IsNullOrEmpty(this.id)) { throw new ArgumentException(Strings.IdPropertyMustBeSet); } writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.OpenAsAdminOrSystemService); writer.WriteAttributeString(XmlElementNames.LogonType, this.logonType.ToString()); if (requestedServerVersion >= ExchangeVersion.Exchange2013 && this.budgetType.HasValue) { writer.WriteAttributeString(XmlElementNames.BudgetType, ((int)this.budgetType.Value).ToString()); } writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.ConnectingSID); writer.WriteElementValue(XmlNamespace.Types, this.idType.ToString(), this.id); writer.WriteEndElement(); // ConnectingSID writer.WriteEndElement(); // OpenAsAdminOrSystemService }
/// <summary> /// Writes XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.TokenRequests); foreach (ClientAccessTokenRequest tokenRequestInfo in this.TokenRequests) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.TokenRequest); writer.WriteElementValue(XmlNamespace.Types, XmlElementNames.Id, tokenRequestInfo.Id); writer.WriteElementValue(XmlNamespace.Types, XmlElementNames.TokenType, tokenRequestInfo.TokenType); if (!string.IsNullOrEmpty(tokenRequestInfo.Scope)) { writer.WriteElementValue(XmlNamespace.Types, XmlElementNames.HighlightTermScope, tokenRequestInfo.Scope); } writer.WriteEndElement(); } writer.WriteEndElement(); }
/// <summary> /// Writes to XML. /// </summary> /// <param name="writer">The writer.</param> /// <param name="xmlElementName">Name of the XML element.</param> /// <param name="isCalendarFolder">If true, this permission is for a calendar folder.</param> internal void WriteToXml( EwsServiceXmlWriter writer, string xmlElementName, bool isCalendarFolder) { writer.WriteStartElement(this.Namespace, xmlElementName); this.WriteAttributesToXml(writer); this.WriteElementsToXml(writer, isCalendarFolder); writer.WriteEndElement(); }
/// <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) { if (this.Count > 0) { writer.WriteStartElement(XmlNamespace.Messages, xmlElementName); foreach (PropertyDefinitionSortDirectionPair keyValuePair in this) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.FieldOrder); writer.WriteAttributeValue(XmlAttributeNames.Order, keyValuePair.Value); keyValuePair.Key.WriteToXml(writer); writer.WriteEndElement(); // FieldOrder } writer.WriteEndElement(); } }
/// <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 to XML. /// </summary> /// <param name="writer">The writer.</param> internal void WriteToXml(EwsServiceXmlWriter writer) { if (string.IsNullOrEmpty(this.id)) { throw new ArgumentException(Strings.IdPropertyMustBeSet); } writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.ExchangeImpersonation); writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.ConnectingSID); // For 2007 SP1, use PrimarySmtpAddress for type SmtpAddress string connectingIdTypeLocalName = (this.idType == ConnectingIdType.SmtpAddress) && (writer.Service.RequestedServerVersion == ExchangeVersion.Exchange2007_SP1) ? XmlElementNames.PrimarySmtpAddress : this.IdType.ToString(); writer.WriteElementValue( XmlNamespace.Types, connectingIdTypeLocalName, this.id); writer.WriteEndElement(); // ConnectingSID writer.WriteEndElement(); // ExchangeImpersonation }
/// <summary> /// Writes XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.Manifest); writer.WriteBase64ElementValue(manifestStream); writer.WriteEndElement(); if (!string.IsNullOrEmpty(this.marketplaceAssetId)) { writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.MarketplaceAssetId, this.marketplaceAssetId); if (!string.IsNullOrEmpty(this.marketplaceContentMarket)) { writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.MarketplaceContentMarket, this.marketplaceContentMarket); } writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.SendWelcomeEmail, this.sendWelcomeEmail); } writer.WriteEndElement(); }
/// <summary> /// Writes XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { // Emit the EmailAddress element writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.Email); writer.WriteValue(this.EmailAddress, XmlElementNames.Email); writer.WriteEndElement(); writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.SizeRequested); writer.WriteValue(this.UserPhotoSize, XmlElementNames.SizeRequested); writer.WriteEndElement(); }
/// <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); } }
/// <summary> /// Writes to XML. /// </summary> /// <param name="writer">The writer.</param> internal void WriteToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.MailboxData); writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.Email); writer.WriteElementValue(XmlNamespace.Types, XmlElementNames.Address, this.SmtpAddress); writer.WriteEndElement(); // Email writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.AttendeeType, this.attendeeType); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.ExcludeConflicts, this.excludeConflicts); writer.WriteEndElement(); // MailboxData }
/// <summary> /// Writes XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.Mailboxes); foreach (string mailbox in this.Mailboxes) { writer.WriteElementValue(XmlNamespace.Types, XmlElementNames.LegacyDN, mailbox); } writer.WriteEndElement(); writer.WriteElementValue(XmlNamespace.Messages, XmlElementNames.SearchArchiveOnly, this.SearchArchiveOnly); }
/// <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 a byte array to Xml. /// </summary> /// <param name="writer">The writer.</param> /// <param name="byteArray">Byte array to write.</param> /// <param name="xmlElementName">Name of the Xml element.</param> private static void WriteByteArrayToXml( EwsServiceXmlWriter writer, byte[] byteArray, string xmlElementName) { EwsUtilities.Assert( writer != null, "UserConfiguration.WriteByteArrayToXml", "writer is null"); EwsUtilities.Assert( xmlElementName != null, "UserConfiguration.WriteByteArrayToXml", "xmlElementName is null"); writer.WriteStartElement(XmlNamespace.Types, xmlElementName); if (byteArray != null && byteArray.Length > 0) { writer.WriteValue(Convert.ToBase64String(byteArray), xmlElementName); } writer.WriteEndElement(); }
/// <summary> /// Writes elements and content to XML. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { base.WriteElementsToXml(writer); if (writer.Service.RequestedServerVersion > ExchangeVersion.Exchange2007_SP1) { writer.WriteElementValue(XmlNamespace.Types, XmlElementNames.IsContactPhoto, this.isContactPhoto); } writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.Content); if (!string.IsNullOrEmpty(this.FileName)) { using (FileStream fileStream = new FileStream(this.FileName, FileMode.Open, FileAccess.Read)) { writer.WriteBase64ElementValue(fileStream); } } else if (this.ContentStream != null) { writer.WriteBase64ElementValue(this.ContentStream); } else if (this.Content != null) { writer.WriteBase64ElementValue(this.Content); } else { EwsUtilities.Assert( false, "FileAttachment.WriteElementsToXml", "The attachment's content is not set."); } writer.WriteEndElement(); }
/// <summary> /// Writes XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { if (!string.IsNullOrEmpty(this.mailboxSmtpAddress)) { writer.WriteElementValue( XmlNamespace.Messages, XmlElementNames.MailboxSmtpAddress, this.mailboxSmtpAddress); } writer.WriteElementValue( XmlNamespace.Messages, XmlElementNames.RemoveOutlookRuleBlob, this.RemoveOutlookRuleBlob); writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.Operations); foreach (RuleOperation operation in this.inboxRuleOperations) { operation.WriteToXml(writer, operation.XmlElementName); } writer.WriteEndElement(); }
/// <summary> /// Writes a dictionary entry type to Xml. /// </summary> /// <param name="writer">The writer.</param> /// <param name="dictionaryObjectType">Type to write.</param> private void WriteEntryTypeToXml(EwsServiceXmlWriter writer, UserConfigurationDictionaryObjectType dictionaryObjectType) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.Type); writer.WriteValue(dictionaryObjectType.ToString(), XmlElementNames.Type); writer.WriteEndElement(); }
/// <summary> /// Writes a dictionary entry value to Xml. /// </summary> /// <param name="writer">The writer.</param> /// <param name="value">Value to write.</param> private void WriteEntryValueToXml(EwsServiceXmlWriter writer, string value) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.Value); // While an entry value can't be null, if the entry is an array, an element of the array can be null. if (value != null) { writer.WriteValue(value, XmlElementNames.Value); } writer.WriteEndElement(); }
/// <summary> /// Writes elements to XML. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { EwsUtilities.Assert( writer != null, "UserConfigurationDictionary.WriteElementsToXml", "writer is null"); foreach (KeyValuePair<object, object> dictionaryEntry in this.dictionary) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.DictionaryEntry); this.WriteObjectToXml( writer, XmlElementNames.DictionaryKey, dictionaryEntry.Key); this.WriteObjectToXml( writer, XmlElementNames.DictionaryValue, dictionaryEntry.Value); writer.WriteEndElement(); } }
/// <summary> /// Writes to XML. /// </summary> /// <param name="writer">The writer.</param> /// <param name="request">The request being emitted.</param> internal void WriteToXml(EwsServiceXmlWriter writer, GetUserAvailabilityRequest request) { if (request.IsFreeBusyViewRequested) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.FreeBusyViewOptions); request.TimeWindow.WriteToXmlUnscopedDatesOnly(writer, XmlElementNames.TimeWindow); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MergedFreeBusyIntervalInMinutes, this.MergedFreeBusyInterval); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.RequestedView, this.RequestedFreeBusyView); writer.WriteEndElement(); // FreeBusyViewOptions } if (request.IsSuggestionsViewRequested) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.SuggestionsViewOptions); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.GoodThreshold, this.GoodSuggestionThreshold); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MaximumResultsByDay, this.MaximumSuggestionsPerDay); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MaximumNonWorkHourResultsByDay, this.MaximumNonWorkHoursSuggestionsPerDay); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MeetingDurationInMinutes, this.MeetingDuration); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MinimumSuggestionQuality, this.MinimumSuggestionQuality); TimeWindow timeWindowToSerialize = this.DetailedSuggestionsWindow == null ? request.TimeWindow : this.DetailedSuggestionsWindow; timeWindowToSerialize.WriteToXmlUnscopedDatesOnly(writer, XmlElementNames.DetailedSuggestionsWindow); if (this.CurrentMeetingTime.HasValue) { writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.CurrentMeetingTime, this.CurrentMeetingTime.Value); } writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.GlobalObjectId, this.GlobalObjectId); writer.WriteEndElement(); // SuggestionsViewOptions } }
/// <summary> /// Writes the elements to XML. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(this.Namespace, XmlElementNames.Mailbox); base.WriteElementsToXml(writer); writer.WriteEndElement(); }
/// <summary> /// WriteRolesToXml /// </summary> /// <param name="writer"></param> /// <param name="roles"></param> /// <param name="elementName"></param> private void WriteRolesToXml(EwsServiceXmlWriter writer, string[] roles, string elementName) { if (roles != null) { writer.WriteStartElement(XmlNamespace.Types, elementName); foreach (string role in roles) { writer.WriteElementValue(XmlNamespace.Types, XmlElementNames.Role, role); } writer.WriteEndElement(); } }
/// <summary> /// Writes an empty OofReply to XML. /// </summary> /// <param name="writer">The writer.</param> /// <param name="xmlElementName">Name of the XML element.</param> internal static void WriteEmptyReplyToXml(EwsServiceXmlWriter writer, string xmlElementName) { writer.WriteStartElement(XmlNamespace.Types, xmlElementName); writer.WriteEndElement(); // xmlElementName }
/// <summary> /// Writes XML elements. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { if (this.SearchFilter != null) { // Emit the Restriction element writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.Restriction); this.SearchFilter.WriteToXml(writer); writer.WriteEndElement(); } // Emit the View element this.View.WriteToXml(writer, null); // Emit the SortOrder this.View.WriteOrderByToXml(writer); // Emit the ParentFolderId element if (this.FolderId != null) { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.ParentFolderId); this.FolderId.WriteToXml(writer); writer.WriteEndElement(); } if (!string.IsNullOrEmpty(this.QueryString)) { // Emit the QueryString element writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.QueryString); writer.WriteValue(this.QueryString, XmlElementNames.QueryString); writer.WriteEndElement(); } // Emit the SuggestionIndex-enabled elements if (this.SearchPeopleSuggestionIndex) { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.SearchPeopleSuggestionIndex); writer.WriteValue(this.SearchPeopleSuggestionIndex.ToString().ToLowerInvariant(), XmlElementNames.SearchPeopleSuggestionIndex); writer.WriteEndElement(); // Write the Context key value pairs writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.SearchPeopleContext); foreach (KeyValuePair<string, string> contextItem in this.Context) { writer.WriteStartElement(XmlNamespace.Messages, "ContextProperty"); writer.WriteStartElement(XmlNamespace.Messages, "Key"); writer.WriteValue(contextItem.Key, "Key"); writer.WriteEndElement(); writer.WriteStartElement(XmlNamespace.Messages, "Value"); writer.WriteValue(contextItem.Value, "Value"); writer.WriteEndElement(); writer.WriteEndElement(); } writer.WriteEndElement(); // Write the Query Mode Sources writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.SearchPeopleQuerySources); foreach (string querySource in this.QueryMode.Sources) { writer.WriteStartElement(XmlNamespace.Messages, "Source"); writer.WriteValue(querySource, "Source"); writer.WriteEndElement(); } writer.WriteEndElement(); } if (this.Service.RequestedServerVersion >= this.GetMinimumRequiredServerVersion()) { if (this.View.PropertySet != null) { this.View.PropertySet.WriteToXml(writer, ServiceObjectType.Persona); } } }
/// <summary> /// Writes elements to XML. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { if (this.AssignCategories.Count > 0) { this.AssignCategories.WriteToXml(writer, XmlElementNames.AssignCategories); } if (this.CopyToFolder != null) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.CopyToFolder); this.CopyToFolder.WriteToXml(writer); writer.WriteEndElement(); } if (this.Delete != false) { writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.Delete, this.Delete); } if (this.ForwardAsAttachmentToRecipients.Count > 0) { this.ForwardAsAttachmentToRecipients.WriteToXml(writer, XmlElementNames.ForwardAsAttachmentToRecipients); } if (this.ForwardToRecipients.Count > 0) { this.ForwardToRecipients.WriteToXml(writer, XmlElementNames.ForwardToRecipients); } if (this.MarkImportance.HasValue) { writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MarkImportance, this.MarkImportance.Value); } if (this.MarkAsRead != false) { writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MarkAsRead, this.MarkAsRead); } if (this.MoveToFolder != null) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.MoveToFolder); this.MoveToFolder.WriteToXml(writer); writer.WriteEndElement(); } if (this.PermanentDelete != false) { writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.PermanentDelete, this.PermanentDelete); } if (this.RedirectToRecipients.Count > 0) { this.RedirectToRecipients.WriteToXml(writer, XmlElementNames.RedirectToRecipients); } if (this.SendSMSAlertToRecipients.Count > 0) { EmailAddressCollection emailCollection = ConvertSMSRecipientsFromMobilePhoneCollectionToEmailAddressCollection(this.SendSMSAlertToRecipients); emailCollection.WriteToXml(writer, XmlElementNames.SendSMSAlertToRecipients); } if (this.ServerReplyWithMessage != null) { this.ServerReplyWithMessage.WriteToXml(writer, XmlElementNames.ServerReplyWithMessage); } if (this.StopProcessingRules != false) { writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.StopProcessingRules, this.StopProcessingRules); } }
/// <summary> /// Writes request to XML. /// </summary> /// <param name="writer">The writer.</param> internal override void WriteElementsToXml(EwsServiceXmlWriter writer) { writer.WriteStartElement(XmlNamespace.Autodiscover, XmlElementNames.Request); writer.WriteStartElement(XmlNamespace.Autodiscover, XmlElementNames.Domains); foreach (string domain in this.Domains) { if (!string.IsNullOrEmpty(domain)) { writer.WriteElementValue( XmlNamespace.Autodiscover, XmlElementNames.Domain, domain); } } writer.WriteEndElement(); // Domains writer.WriteStartElement(XmlNamespace.Autodiscover, XmlElementNames.RequestedSettings); foreach (DomainSettingName setting in settings) { writer.WriteElementValue( XmlNamespace.Autodiscover, XmlElementNames.Setting, setting); } writer.WriteEndElement(); // RequestedSettings if (this.requestedVersion.HasValue) { writer.WriteElementValue(XmlNamespace.Autodiscover, XmlElementNames.RequestedVersion, this.requestedVersion.Value); } writer.WriteEndElement(); // Request }
/// <summary> /// Writes to XML. /// </summary> /// <param name="writer">The writer.</param> /// <param name="xmlNamespace">The XML namespace.</param> /// <param name="xmlElementName">Name of the XML element.</param> internal void WriteToXml( EwsServiceXmlWriter writer, XmlNamespace xmlNamespace, string xmlElementName) { EwsUtilities.Assert( writer != null, "UserConfiguration.WriteToXml", "writer is null"); EwsUtilities.Assert( xmlElementName != null, "UserConfiguration.WriteToXml", "xmlElementName is null"); writer.WriteStartElement(xmlNamespace, xmlElementName); // Write the UserConfigurationName element WriteUserConfigurationNameToXml( writer, XmlNamespace.Types, this.name, this.parentFolderId); // Write the Dictionary element if (this.IsPropertyUpdated(UserConfigurationProperties.Dictionary)) { this.dictionary.WriteToXml(writer, XmlElementNames.Dictionary); } // Write the XmlData element if (this.IsPropertyUpdated(UserConfigurationProperties.XmlData)) { this.WriteXmlDataToXml(writer); } // Write the BinaryData element if (this.IsPropertyUpdated(UserConfigurationProperties.BinaryData)) { this.WriteBinaryDataToXml(writer); } writer.WriteEndElement(); }