new public static LogicalConnectiveCollection Load(XmlReader reader) { LogicalOrCollection loc = new LogicalOrCollection(); loc.ReadXml(reader); return(loc); }
/// <summary> /// Reads the Xml of a logical OR. /// </summary> /// <param name="reader">An XmlReader for a logical OR.</param> public override void ReadXml(XmlReader reader) { if (reader == null) { throw new ArgumentNullException("reader"); } reader.MoveToRequiredStartElement(AuthorizationConstants.Elements.LogicalOr); string evaluates = reader.GetOptionalAttribute(AuthorizationConstants.Attributes.Evaluates); string termId = reader.GetOptionalAttribute(AuthorizationConstants.Attributes.TermId); if (!string.IsNullOrEmpty(termId)) { this.TermId = new Uri(termId); } if (!string.IsNullOrEmpty(evaluates)) { this.Evaluates = XmlConvert.ToBoolean(evaluates); } while (reader.Read()) { if (reader.IsRequiredStartElement(AuthorizationConstants.Elements.LogicalAnd)) { this.Add(LogicalAndCollection.Load(reader)); } if (reader.IsRequiredStartElement(AuthorizationConstants.Elements.LogicalOr)) { this.Add(LogicalOrCollection.Load(reader)); } if (reader.IsRequiredStartElement(AuthorizationConstants.Elements.Rule)) { this.Add(Rule.Load(reader)); } if (reader.IsRequiredEndElement(AuthorizationConstants.Elements.LogicalOr)) { return; //break; } } reader.Read(); }
public static Term Load(XmlReader reader) { if (reader == null) { throw new ArgumentNullException("reader"); } Term evalExp = null; reader.MoveToStartElement(); if (reader.IsRequiredStartElement(AuthorizationConstants.Elements.Rule)) { Rule rule = new Rule(); rule.ReadXml(reader); evalExp = rule; } if (reader.IsRequiredStartElement(AuthorizationConstants.Elements.LogicalAnd)) { LogicalAndCollection logicalAnd = new LogicalAndCollection(); logicalAnd.ReadXml(reader); evalExp = logicalAnd; } if (reader.IsRequiredStartElement(AuthorizationConstants.Elements.LogicalOr)) { LogicalOrCollection logicalOr = new LogicalOrCollection(); logicalOr.ReadXml(reader); evalExp = logicalOr; } if (evalExp != null) { return(evalExp); } else { throw new SerializationException("Invalid evaluation expression element."); } }