private void GetReportObjects(Section section, ReportDocument report, XmlWriter writer)
{
writer.WriteStartElement("ReportObjects");
foreach (ReportObject reportObject in section.ReportObjects)
{
writer.WriteStartElement(reportObject.GetType().Name);
CRReportDefModel.ISCRReportObject rasrdm_ro = GetRASRDMReportObject(reportObject.Name, report);
writer.WriteAttributeString("Name", reportObject.Name);
writer.WriteAttributeString("Kind", reportObject.Kind.ToString());
writer.WriteAttributeString("Top", reportObject.Top.ToString(CultureInfo.InvariantCulture));
writer.WriteAttributeString("Left", reportObject.Left.ToString(CultureInfo.InvariantCulture));
writer.WriteAttributeString("Width", reportObject.Width.ToString(CultureInfo.InvariantCulture));
writer.WriteAttributeString("Height", reportObject.Height.ToString(CultureInfo.InvariantCulture));
if (reportObject is BoxObject)
{
var bo = (BoxObject)reportObject;
writer.WriteAttributeString("Bottom", bo.Bottom.ToString(CultureInfo.InvariantCulture));
writer.WriteAttributeString("EnableExtendToBottomOfSection", bo.EnableExtendToBottomOfSection.ToString());
writer.WriteAttributeString("EndSectionName", bo.EndSectionName);
writer.WriteAttributeString("LineStyle", bo.LineStyle.ToString());
writer.WriteAttributeString("LineThickness", bo.LineThickness.ToString(CultureInfo.InvariantCulture));
writer.WriteAttributeString("Right", bo.Right.ToString(CultureInfo.InvariantCulture));
if ((ShowFormatTypes & FormatTypes.Color) == FormatTypes.Color)
GetColorFormat(bo.LineColor, writer, "LineColor");
}
else if (reportObject is DrawingObject)
{
var dobj = (DrawingObject)reportObject;
writer.WriteAttributeString("Bottom", dobj.Bottom.ToString(CultureInfo.InvariantCulture));
writer.WriteAttributeString("EnableExtendToBottomOfSection", dobj.EnableExtendToBottomOfSection.ToString());
writer.WriteAttributeString("EndSectionName", dobj.EndSectionName);
writer.WriteAttributeString("LineStyle", dobj.LineStyle.ToString());
writer.WriteAttributeString("LineThickness", dobj.LineThickness.ToString(CultureInfo.InvariantCulture));
writer.WriteAttributeString("Right", dobj.Right.ToString(CultureInfo.InvariantCulture));
if ((ShowFormatTypes & FormatTypes.Color) == FormatTypes.Color)
GetColorFormat(dobj.LineColor, writer, "LineColor");
}
else if (reportObject is FieldHeadingObject)
{
var fh = (FieldHeadingObject)reportObject;
var rasrdm_fh = (CRReportDefModel.FieldHeadingObject)rasrdm_ro;
writer.WriteAttributeString("FieldObjectName", fh.FieldObjectName);
writer.WriteAttributeString("MaxNumberOfLines", rasrdm_fh.MaxNumberOfLines.ToString());
writer.WriteElementString("Text", fh.Text);
}
else if (reportObject is FieldObject)
{
var fo = (FieldObject)reportObject;
var rasrdm_fo = (CRReportDefModel.FieldObject)rasrdm_ro;
if (fo.DataSource != null)
writer.WriteAttributeString("DataSource", fo.DataSource.FormulaName);
if ((ShowFormatTypes & FormatTypes.Color) == FormatTypes.Color)
GetColorFormat(fo.Color, writer);
if ((ShowFormatTypes & FormatTypes.Font) == FormatTypes.Font)
{
GetFontFormat(fo.Font, report, writer);
GetFontColorConditionFormulas(rasrdm_fo.FontColor, writer);
}
}
else if (reportObject is TextObject)
{
var tobj = (TextObject)reportObject;
var rasrdm_tobj = (CRReportDefModel.TextObject)rasrdm_ro;
writer.WriteAttributeString("MaxNumberOfLines", rasrdm_tobj.MaxNumberOfLines.ToString());
writer.WriteElementString("Text", tobj.Text);
if ((ShowFormatTypes & FormatTypes.Color) == FormatTypes.Color)
GetColorFormat(tobj.Color, writer);
if ((ShowFormatTypes & FormatTypes.Font) == FormatTypes.Font)
{
GetFontFormat(tobj.Font, report, writer);
GetFontColorConditionFormulas(rasrdm_tobj.FontColor, writer);
}
}
if ((ShowFormatTypes & FormatTypes.Border) == FormatTypes.Border)
GetBorderFormat(reportObject, report, writer);
if ((ShowFormatTypes & FormatTypes.ObjectFormat) == FormatTypes.ObjectFormat)
GetObjectFormat(reportObject, report, writer);
if (rasrdm_ro != null)
GetObjectFormatConditionFormulas(rasrdm_ro, writer);
writer.WriteEndElement();
}
writer.WriteEndElement();
}