public override void Graph(System.Xml.XmlWriter s, object o, DatatypeFormatterGraphResult result) { // Want to control output of the value attribute ANYFormatter baseFormatter = new ANYFormatter(); baseFormatter.Graph(s, o, result); PQ instance = o as PQ; if (instance.NullFlavor != null) return; // Don't graph anymore if (instance.CodingRationale != null) result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "CodingRationale", "PQ", s.ToString())); if (instance.Expression != null) result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "Expression", "PQ", s.ToString())); if (instance.OriginalText != null) result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "OriginalText", "PQ", s.ToString())); if (instance.Uncertainty != null) result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "Uncertainty", "PQ", s.ToString())); if (instance.UncertaintyType != null) result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "UncertaintyType", "PQ", s.ToString())); if (instance.UncertainRange != null) result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "UncertainRange", "PQ", s.ToString())); if (instance.Unit != null) s.WriteAttributeString("unit", instance.Unit); // Precision if (instance.Precision != null && instance.Precision != 0 && instance.Value.HasValue) s.WriteAttributeString("value", instance.Value.Value.ToString(String.Format("0.{0}", new String('0', instance.Precision)), DatatypeFormatter.FormatterCulture)); else if(instance.Value.HasValue) s.WriteAttributeString("value", instance.Value.Value.ToString(DatatypeFormatter.FormatterCulture)); if (instance.Translation != null) foreach (var trans in instance.Translation) { s.WriteStartElement("translation", "urn:hl7-org:v3"); PQRFormatter pqrFormatter = new PQRFormatter(); pqrFormatter.Graph(s, trans, result); s.WriteEndElement(); } }
public override void Graph(System.Xml.XmlWriter s, object o, DatatypeFormatterGraphResult result) { // Want to control output of the value attribute ANYFormatter baseFormatter = new ANYFormatter(); baseFormatter.Graph(s, o, result); PQ instance = o as PQ; if (instance.NullFlavor != null) { return; // Don't graph anymore } if (instance.CodingRationale != null) { result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "CodingRationale", "PQ", s.ToString())); } if (instance.Expression != null) { result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "Expression", "PQ", s.ToString())); } if (instance.OriginalText != null) { result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "OriginalText", "PQ", s.ToString())); } if (instance.Uncertainty != null) { result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "Uncertainty", "PQ", s.ToString())); } if (instance.UncertaintyType != null) { result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "UncertaintyType", "PQ", s.ToString())); } if (instance.UncertainRange != null) { result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "UncertainRange", "PQ", s.ToString())); } if (instance.Unit != null) { s.WriteAttributeString("unit", instance.Unit); } // Precision if (instance.Precision != null && instance.Precision != 0 && instance.Value.HasValue) { s.WriteAttributeString("value", instance.Value.Value.ToString(String.Format("0.{0}", new String('0', instance.Precision)), DatatypeFormatter.FormatterCulture)); } else if (instance.Value.HasValue) { s.WriteAttributeString("value", instance.Value.Value.ToString(DatatypeFormatter.FormatterCulture)); } if (instance.Translation != null) { foreach (var trans in instance.Translation) { s.WriteStartElement("translation", "urn:hl7-org:v3"); PQRFormatter pqrFormatter = new PQRFormatter(); pqrFormatter.Graph(s, trans, result); s.WriteEndElement(); } } }