public void WriteToXml(XmlWriter writer) { writer.WriteStartElement("report"); writer.WriteAttributeString("controller", "", Controller); writer.WriteAttributeString("name", "", Name); writer.WriteAttributeString("area", "", Area); writer.WriteAttributeString("code", "", Code); writer.WriteAttributeString("type", "", GetType().AssemblyQualifiedName); writer.WriteElementString("advancedParameters", "", AdvancedParameters); writer.WriteElementString("comment", "", Comment); foreach (var pair in parameters) { writer.WriteStartElement("param"); writer.WriteAttributeString("name", "", pair.Key); if (null != pair.Value) { if (pair.Value is int) { writer.WriteAttributeString("type", "", "int"); } else if (pair.Value is bool) { writer.WriteAttributeString("type", "", "bool"); } writer.WriteString(pair.Value.ToString()); } writer.WriteEndElement(); } writer.WriteStartElement("template"); writer.write("param", TemplateParameters); writer.WriteEndElement(); internalWriteXml(writer); writer.WriteEndElement(); }