public void AddJahresbetrachtung( MeteoGtzYear meteoGtzYear) { this.CreateHeading("1. Jahresbetrachtung der heizwirksamen Temperatur des aktuellen Jahres im Vergleich zu den Vorjahren und Langzeitmittel²"); // Add grid IGrid grid = this.currentBand.AddGrid(); IText text; Style textStyle = new Style(this.pdfFonts[PdfFont.DefaultNormalReg], Brushes.Black); Style headerStyle = new Style(this.pdfFonts[PdfFont.DefaultNormalBold], Brushes.Black); // Grid pattern for borders around block var gridPattern = new GridPattern { Borders = new Borders(new Pen(Colors.Black)), Paddings = { All = 10 } }; gridPattern.Apply(grid); var column = grid.AddColumn(); var gridRow = grid.AddRow(); var gridCell = gridRow.AddCell(); GridCellPattern cellPattern = new GridCellPattern { Alignment = new ContentAlignment(Alignment.Center, Alignment.Middle), Paddings = { Left = 10, Bottom = 0 } }; //cellPattern.Apply(gridCell); //text = gridCell.AddText(); //text.Style.Font = pdfFonts[PdfFont.DefaultNormalReg]; //text.AddContent("Alle Angaben sind immer konkret bezogen auf die getroffene Auswahl hinsichtlich Abrech-nungszeitraum (Stichtag) " + "und die ausgewählte Region. Basis sind dabei immer die Tages-mitteltemperaturen. Betrachtet werden immer " + "ganzjährige Abrechnungszeiträume."); //text.AddLineBreak(); //text.AddLineBreak(); //Add Chart gridRow = grid.AddRow(); gridCell = gridRow.AddCell(); ICanvas canvas = gridCell.AddCanvas(); canvas.Width = new FixedWidth(440); canvas.Height = new FixedHeight(190); using (System.Drawing.Graphics g = canvas.CreateGraphics()) { UltraChart myChart = JahresbetrachtungChart.GetChart(meteoGtzYear, 440, 190, true); //myChart.ColumnChart.ChartText(0).Visible = True myChart.Legend.Visible = false; myChart.RenderPdfFriendlyGraphics(g); } gridRow = grid.AddRow(); gridCell = gridRow.AddCell(); cellPattern.Apply(gridCell); text = gridCell.AddText(); text.Style.Font = this.pdfFonts[PdfFont.DefaultNormalReg]; //text.Paddings.Top = 5; var relativeData = meteoGtzYear.ToRelativeData(); double vorjahrBedarf = relativeData.Period2; double lgtzBedarf = relativeData.Lgtz; var vorjahrBedarfText = string.Format( @"In der gewählten Region war es im gleichen Zeitraum des Vorjahres {0}% {1} als im betrachteten Zeiraum des aktuellen Jahres. Entsprechend ist im aktuellen Jahr im Vergleich zum Vorjahreszeitraum mit einem Heiz{2}bedarf zu rechnen.", Math.Abs(Math.Round(vorjahrBedarf, 2)), (vorjahrBedarf > 0 ? "wärmer" : "kälter"), (vorjahrBedarf > 0 ? "mehr" : "minder")); var lgtzBedarfText = string.Format("In der gewählten Region ist das Langzeitmittel {0}% {1} als das aktuelle Jahr.", Math.Abs(Math.Round(lgtzBedarf, 2)), (lgtzBedarf > 0 ? "wärmer" : "kälter")); //text.AddLineBreak(); text.AddContent(vorjahrBedarfText); text.AddLineBreak(); text.AddLineBreak(); text.AddContent(lgtzBedarfText); }
private static void AddAnnotation(UltraChart chart, MeteoGtzYear meteoGtzYear, bool pdf) { var relativeData = meteoGtzYear.ToRelativeData(); var textStyle = new LabelStyle { Font = new Font("Verdana", pdf ? 6.5f : 8.5f, FontStyle.Italic, GraphicsUnit.Point), FontColor = Constants.YearsChartColors[1], HorizontalAlign = StringAlignment.Center, FontSizeBestFit = false, ClipText = true, Orientation = TextOrientation.Horizontal, WrapText = false, Flip = true, VerticalAlign = StringAlignment.Center, Dy = 0 }; var ann = new TextAnnatation { Width = pdf ? 80 : -1, Location = new Location { Type = LocationType.RowColumn, Row = 0, Column = 1 }, Text = GetAnnotationText(relativeData.Period2, "war um"), TextStyle = textStyle }; chart.Annotations.Add(ann); ann = new TextAnnatation { Width = pdf ? 80 : -1, Location = new Location { Type = LocationType.RowColumn, Row = 0, Column = 2, ValueY = meteoGtzYear.Period2 }, Text = GetAnnotationText(relativeData.Period3, "war um"), TextStyle = textStyle }; chart.Annotations.Add(ann); }