LoadFromXml static method

DocumentSharingLocation LoadFromXml(
  1. EwsXmlReader reader
)
Loads DocumentSharingLocation instance from XML. The reader.

Implementation

static DocumentSharingLocation LoadFromXml(EwsXmlReader reader) {
  DocumentSharingLocation location = new DocumentSharingLocation._();

  do {
    reader.Read();

    if (reader.NodeType == XmlNodeType.Element) {
      switch (reader.LocalName) {
        case XmlElementNames.ServiceUrl:
          location.ServiceUrl = reader.ReadElementValue<String>();
          break;

        case XmlElementNames.LocationUrl:
          location.LocationUrl = reader.ReadElementValue<String>();
          break;

        case XmlElementNames.DisplayName:
          location.DisplayName = reader.ReadElementValue<String>();
          break;

        case XmlElementNames.SupportedFileExtensions:
          List<String?> fileExtensions = <String?>[];
          reader.Read();
          while (reader.IsStartElementWithNamespace(
              XmlNamespace.Autodiscover, XmlElementNames.FileExtension)) {
            String? extension = reader.ReadElementValue<String>();
            fileExtensions.add(extension);
            reader.Read();
          }

          location.SupportedFileExtensions = fileExtensions;
          break;

        case XmlElementNames.ExternalAccessAllowed:
          location.ExternalAccessAllowed = reader.ReadElementValue<bool>();
          break;

        case XmlElementNames.AnonymousAccessAllowed:
          location.AnonymousAccessAllowed = reader.ReadElementValue<bool>();
          break;

        case XmlElementNames.CanModifyPermissions:
          location.CanModifyPermissions = reader.ReadElementValue<bool>();
          break;

        case XmlElementNames.IsDefault:
          location.IsDefault = reader.ReadElementValue<bool>();
          break;

        default:
          break;
      }
    }
  } while (!reader.IsEndElementWithNamespace(
      XmlNamespace.Autodiscover, XmlElementNames.DocumentSharingLocation));

  return location;
}