Ejemplo n.º 1
0
        protected override void OnWriteBodyContents(XmlDictionaryWriter writer)
        {
            string str;

            writer.WriteStartElement("Enumerate", "http://schemas.xmlsoap.org/ws/2004/09/enumeration");
            XmlUtility.SerializeExpires(writer, this._expirationDateTime, this._expirationTimeSpan);
            if (this.IsFilterPresent)
            {
                this.OnWriteStartFilterElement(writer);
                this.OnWriteFilterElementContents(writer);
                writer.WriteEndElement();
            }
            if (this._attributes != null && this._attributes.Count > 0)
            {
                writer.WriteStartElement("Selection", "http://schemas.microsoft.com/2008/1/ActiveDirectory");
                writer.WriteAttributeString("Dialect", "http://schemas.microsoft.com/2008/1/ActiveDirectory/Dialect/XPath-Level-1");
                XmlUtility.SerializeAttributeList(writer, "SelectionProperty", "http://schemas.microsoft.com/2008/1/ActiveDirectory", "ad", "addata", this._attributes);
                writer.WriteEndElement();
            }
            if (this._sortKey != null)
            {
                writer.WriteStartElement("Sorting", "http://schemas.microsoft.com/2008/1/ActiveDirectory");
                writer.WriteAttributeString("Dialect", "http://schemas.microsoft.com/2008/1/ActiveDirectory/Dialect/XPath-Level-1");
                writer.WriteStartElement("SortingProperty", "http://schemas.microsoft.com/2008/1/ActiveDirectory");
                if (this._sortKey.ReverseOrder)
                {
                    writer.WriteAttributeString("Ascending", "false");
                }
                if (AttributeNs.IsSynthetic(this._sortKey.AttributeName, SyntheticAttributeOperation.Read))
                {
                    str = "ad";
                }
                else
                {
                    str = "addata";
                }
                string str1 = str;
                writer.WriteValue(XmlUtility.AddPrefix(str1, this._sortKey.AttributeName));
                writer.WriteEndElement();
                writer.WriteEndElement();
            }
            writer.WriteEndElement();
        }