TryReadElementFromXml method

  1. @override
Future<bool> TryReadElementFromXml(
  1. EwsServiceXmlReader reader
)
override
Tries to read element from XML. The reader.

Implementation

@override
Future<bool> TryReadElementFromXml(EwsServiceXmlReader reader) async {
  switch (reader.LocalName) {
    case XmlElementNames.AttachmentId:
      this._id = reader.ReadAttributeValue(XmlAttributeNames.Id);

      if (this.Owner != null) {
        String? rootItemChangeKey =
            reader.ReadAttributeValue(XmlAttributeNames.RootItemChangeKey);

        if (!StringUtils.IsNullOrEmpty(rootItemChangeKey)) {
          this.Owner!.RootItemId!.ChangeKey = rootItemChangeKey;
        }
      }
      await reader.ReadEndElementIfNecessary(
          XmlNamespace.Types, XmlElementNames.AttachmentId);
      return true;
    case XmlElementNames.Name:
      this._name = await reader.ReadElementValue<String>();
      return true;
    case XmlElementNames.ContentType:
      this._contentType = await reader.ReadElementValue<String>();
      return true;
    case XmlElementNames.ContentId:
      this._contentId = await reader.ReadElementValue<String>();
      return true;
    case XmlElementNames.ContentLocation:
      this._contentLocation = await reader.ReadElementValue<String>();
      return true;
    case XmlElementNames.Size:
      this._size = await reader.ReadElementValue<int>();
      return true;
    case XmlElementNames.LastModifiedTime:
      this._lastModifiedTime = await reader.ReadElementValueAsDateTime();
      return true;
    case XmlElementNames.IsInline:
      this._isInline = await reader.ReadElementValue<bool>();
      return true;
    default:
      return false;
  }
}