private static void GetObjectFormatConditionFormulas(CRReportDefModel.ISCRReportObject ro, XmlWriter writer) { writer.WriteStartElement("ObjectFormatConditionFormulas"); foreach (var formulaTypeObj in Enum.GetValues(typeof(CRReportDefModel.CrObjectFormatConditionFormulaTypeEnum))) { var formulaType = (CRReportDefModel.CrObjectFormatConditionFormulaTypeEnum)formulaTypeObj; var cf = ro.Format.ConditionFormulas[formulaType]; if (!String.IsNullOrEmpty(cf.Text)) { writer.WriteAttributeString(GetShortEnumName(formulaType), cf.Text); } } if (ro is CRReportDefModel.PictureObject) { var ro_p = (CRReportDefModel.PictureObject)ro; var cf = ro_p.GraphicLocationFormula; if (!String.IsNullOrEmpty(cf.Text)) { writer.WriteAttributeString("GraphicLocation", cf.Text); } } writer.WriteEndElement(); }
private void GetBorderFormat(ReportObject ro, ReportDocument report, XmlWriter writer) { writer.WriteStartElement("Border"); var border = ro.Border; writer.WriteAttributeString("BottomLineStyle", border.BottomLineStyle.ToString()); writer.WriteAttributeString("HasDropShadow", border.HasDropShadow.ToString()); writer.WriteAttributeString("LeftLineStyle", border.LeftLineStyle.ToString()); writer.WriteAttributeString("RightLineStyle", border.RightLineStyle.ToString()); writer.WriteAttributeString("TopLineStyle", border.TopLineStyle.ToString()); CRReportDefModel.ISCRReportObject rdm_ro = GetRASRDMReportObject(ro.Name, report); if (rdm_ro != null) { GetBorderConditionFormulas(rdm_ro, writer); } if ((ShowFormatTypes & FormatTypes.Color) == FormatTypes.Color) { GetColorFormat(border.BackgroundColor, writer, "BackgroundColor"); } if ((ShowFormatTypes & FormatTypes.Color) == FormatTypes.Color) { GetColorFormat(border.BorderColor, writer, "BorderColor"); } writer.WriteEndElement(); }
private static void GetBorderConditionFormulas(CRReportDefModel.ISCRReportObject ro, XmlWriter writer) { writer.WriteStartElement("BorderConditionFormulas"); var cfs = Enum.GetValues(typeof(CRReportDefModel.CrBorderConditionFormulaTypeEnum)); foreach (CRReportDefModel.CrBorderConditionFormulaTypeEnum cf in cfs) { var formula = ro.Border.ConditionFormulas[cf]; if (!String.IsNullOrEmpty(formula.Text)) { writer.WriteAttributeString(GetShortEnumName(cf), formula.Text); } } writer.WriteEndElement(); }
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(); }