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 {
  bool result = await super.TryReadElementFromXml(reader);

  if (!result) {
    if (reader.LocalName == XmlElementNames.FieldURIOrConstant) {
      await reader.Read();
      reader.EnsureCurrentNodeIsStartElement();

      if (reader.IsStartElementWithNamespace(
          XmlNamespace.Types, XmlElementNames.Constant)) {
        this._value = reader.ReadAttributeValue(XmlAttributeNames.Value);

        result = true;
      } else {
        OutParam<PropertyDefinitionBase> outParam =
            new OutParam<PropertyDefinitionBase>();
        outParam.param = this._otherPropertyDefinition;

        result =
            await PropertyDefinitionBase.TryLoadFromXml(reader, outParam);
      }
    }
  }

  return result;
}