Exemple #1
0
    bool TryReadElementFromXml(EwsServiceXmlReader reader)
    {
        switch (reader.LocalName)
        {
        case XmlElementNames.Manifest:
            this.Manifest = ClientApp.ReadToXmlDocument(reader);
            return(true);

        case XmlElementNames.Metadata:
            this.Metadata = new ClientAppMetadata();
            this.Metadata.LoadFromXml(reader, XmlNamespace.Types, XmlElementNames.Metadata);
            return(true);

        default:
            return(false);
        }
    }
Exemple #2
0
    /// <summary>
    /// Read the response from Exchange 2013.
    /// This method assumes that the reader is currently at the Manifests element.
    /// </summary>
    /// <param name="reader">The reader.</param>
    /* private */ void ReadFromExchange2013(EwsServiceXmlReader reader)
    {
        ////<GetAppManifestsResponse ResponseClass="Success" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
        ////<ResponseCode>NoError</ResponseCode>
        ////<m:Manifests xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
        ////<m:Manifest>[base 64 encoded manifest]</m:Manifest>                              <--- reader should be at this node at the beginning of loop
        ////<m:Manifest>[base 64 encoded manifest]</m:Manifest>
        //// ....
        ////</m:Manifests>                                                                   <--- reader should be at this node at the end of the loop
        while (reader.IsStartElement(XmlNamespace.Messages, XmlElementNames.Manifest))
        {
            XmlDocument manifest = ClientApp.ReadToXmlDocument(reader);
            this.Manifests.Add(manifest);

            this.Apps.Add(new ClientApp()
            {
                Manifest = manifest
            });
        }
    }