public void ReadXml(XmlReader reader) { reader.ReadStartElement(); if (reader.MoveToContent() == XmlNodeType.Element) { this.RootOperator = this.ReadOperator(reader); } }
private static void WriteOperatorJson( JsonWriter writer, RtpValidationConditionOperator @operator, JsonSerializer serializer) { writer.WriteStartObject(); switch (@operator) { case RtpLogicalBooleanValidationConditionOperator logicalOperator: writer.WritePropertyName(@operator.Type.ToString().ToLowerInvariant()); writer.WriteStartArray(); foreach (var operand in logicalOperator.Operands) { WriteOperatorJson(writer, operand, serializer); } writer.WriteEndArray(); break; case RtpLogicalNotValidationConditionOperator notOperator: writer.WritePropertyName("not"); WriteOperatorJson(writer, notOperator.Operand, serializer); break; case RtpComparisonValidationConditionOperator comparisonOperator: writer.WritePropertyName(comparisonOperator.Type.ToString().ToLowerInvariant()); serializer.Serialize( writer, new { column = comparisonOperator.Column, value = comparisonOperator.Value } ); break; } writer.WriteEndObject(); }