public void AddMonatsbetrachtung(DataTable chartData, List<Zeitraum> zeitraums) { if ((chartData == null)) { return; } //Dummy Column für Legende Langzeitmittel var columnDummy = new DataColumn { DataType = typeof(double) }; chartData.Columns.Add(columnDummy); var periods = zeitraums.OrderByDescending(p => p.Start).GetFormatted(true); this.CreateHeading("2. Monatsbetrachtung der Temperatur des aktuellen Jahres im Vergleich zum Vorjahr und Langzeitmittel²"); //Dim flow As Infragistics.Documents.Report.Flow.IFlow = currentBand.AddFlow() //flow.Borders.All = New Border(New Pen(Colors.Black)) IText text ; ICanvas legendCanvas; // Add grid IGrid grid = this.currentBand.AddGrid(); // Grid pattern for borders around block GridPattern gridPattern = new GridPattern { Borders = new Borders(new Pen(Colors.Black)), Paddings = { All = 10 } }; gridPattern.Apply(grid); IGridColumn column = grid.AddColumn(); IGridRow gridRow = grid.AddRow(); IGridCell gridCell = gridRow.AddCell(); GridCellPattern cellPattern = new GridCellPattern { Alignment = new ContentAlignment(Alignment.Left, Alignment.Middle) }; //cellPattern.Borders = New Borders(New Pen(New Color(0, 0, 0))) //cellPattern.Paddings.All = 0 //Add Legend gridCell.Alignment = new ContentAlignment(Alignment.Center, Alignment.Middle); IGrid legendGrid = gridCell.AddGrid(); IGridCell legendCell; legendGrid.Width = new FixedWidth(450); column = legendGrid.AddColumn(); column.Width = new FixedWidth(7); column = legendGrid.AddColumn(); column = legendGrid.AddColumn(); column.Width = new FixedWidth(7); column = legendGrid.AddColumn(); column = legendGrid.AddColumn(); column.Width = new FixedWidth(7); column = legendGrid.AddColumn(); gridRow = legendGrid.AddRow(); //Vorjahr legendCell = gridRow.AddCell(); cellPattern.Apply(legendCell); legendCanvas = legendCell.AddCanvas(); legendCanvas.Width = new FixedWidth(5); legendCanvas.Paddings.All = 0; legendCanvas.Margins.All = 0; legendCanvas.Height = new FixedHeight(5); legendCanvas.Brush = new SolidColorBrush(new Color(0, 76, 148)); legendCanvas.DrawRectangle(0, 0, 5, 5, PaintMode.FillStroke); legendCell = gridRow.AddCell(); cellPattern.Apply(legendCell); text = legendCell.AddText(); text.Style.Font = this.pdfFonts[PdfFont.DefaultNormalReg]; text.AddContent(periods[0]); //Langzeitmittel legendCell = gridRow.AddCell(); cellPattern.Apply(legendCell); legendCanvas = legendCell.AddCanvas(); legendCanvas.Width = new FixedWidth(5); legendCanvas.Height = new FixedHeight(5); legendCanvas.Brush = new SolidColorBrush(new Color(236, 98, 42)); legendCanvas.DrawRectangle(0, 0, 5, 5, PaintMode.FillStroke); legendCell = gridRow.AddCell(); cellPattern.Apply(legendCell); text = legendCell.AddText(); text.Style.Font = this.pdfFonts[PdfFont.DefaultNormalReg]; text.AddContent(periods[1]); //Ausgangbasis legendCell = gridRow.AddCell(); cellPattern.Apply(legendCell); legendCanvas = legendCell.AddCanvas(); legendCanvas.Width = new FixedWidth(5); legendCanvas.Height = new FixedHeight(5); legendCanvas.Pen = new Pen(Colors.Green, 2); legendCanvas.DrawLine(0, 2.5f, 5, 2.5f); legendCell = gridRow.AddCell(); cellPattern.Apply(legendCell); text = legendCell.AddText(); text.Style.Font = this.pdfFonts[PdfFont.DefaultNormalReg]; text.AddContent("Langzeitmittel (Nulllinie)"); //Add Chart gridRow = grid.AddRow(); gridCell = gridRow.AddCell(); ICanvas canvas = gridCell.AddCanvas(); //Me.currentBand.AddCanvas() canvas.Width = new FixedWidth(500); canvas.Height = new FixedHeight(250); using (System.Drawing.Graphics g = canvas.CreateGraphics()) { UltraChart myChart = MonatsRelativeVerteilungJahrChart.GetChart(chartData, 500, 250, periods.ToArray()); //myChart.ColumnChart.ChartText(0).Visible = True myChart.Legend.Visible = false; myChart.RenderPdfFriendlyGraphics(g); } //gridCell.AddStretcher() //Add Info GridCellPattern cellPattern2 = new GridCellPattern { Paddings = { Left = 10, Bottom = 0 } }; gridRow = grid.AddRow(); gridCell = gridRow.AddCell(); cellPattern2.Apply(gridCell); DataRow row = chartData.Rows[chartData.Rows.Count - 1]; try { string monat = Utils.GetMonthName(row["Monat"].ConvertTo<int>(), "MMMM"); double VorjahrBedarf = row.Field<double>("Vorjahr"); double aktuellJqahr = row.Field<double>("Aktuelljahr"); text = gridCell.AddText(); text.Style.Font = this.pdfFonts[PdfFont.DefaultNormalReg]; //text.Paddings.Top = 10 text.AddLineBreak(); text.AddContent("Das Langzeitmittel stellt die Nulllinie dar."); text.AddLineBreak(); text.AddLineBreak(); text.AddContent("Negativer Prozentwert (Balken zeigt nach unten): in dem jeweiligen Monat des Vorjahres / aktuellen Jahres war es kälter als im gleichen Monat des Langzeitmittels."); text.AddLineBreak(); text.AddLineBreak(); text.AddContent("Positiver Prozentwert (Balken zeigt nach oben): in dem jeweiligen Monat des Vorjahres / aktuellen Jahres war es wärmer als im gleichen Monat des Langzeitmittels."); text.AddLineBreak(); text.AddLineBreak(); text.AddContent(string.Format("Für die gewählte Region war es - bezogen auf das Langzeitmittel im Monat {0}", monat)); IQuickList list = gridCell.AddQuickList(); list.Margins.Bottom = 0; list.Font = this.pdfFonts[PdfFont.DefaultNormalReg]; list.Interval = 1; list.AddItem(string.Format("des Vorjahres ca. {0}% {1}", Math.Abs(Math.Round(VorjahrBedarf, 2)), (VorjahrBedarf > 0 ? "wärmer" : "kälter"))); list.AddItem(string.Format("des aktuellen Jahres ca. {0}% {1}", Math.Abs(Math.Round(aktuellJqahr, 2)), (aktuellJqahr > 0 ? "wärmer" : "kälter"))); //gridCell.AddStretcher(); } catch (Exception ex) { } this.currentBand.AddStretcher(); }
public void AddTagesmitteltemperaturen(object chartData, List<Zeitraum> zeitraums ) { var periods = zeitraums.OrderByDescending(p => p.Start).GetFormatted(true); this.CreateHeading("3. Tagesmitteltemperaturen³ des gewählten Abrechnungszeitraumes und des Vorjahres"); ICanvas legendCanvas = default(ICanvas); IText text = default(IText); // Add grid IGrid grid = this.currentBand.AddGrid(); GridCellPattern cellPattern = new GridCellPattern(); cellPattern.Alignment = new ContentAlignment(Alignment.Left, Alignment.Middle); // Grid pattern for borders around block GridPattern gridPattern = new GridPattern(); gridPattern.Borders = new Borders(new Pen(new Color(0, 0, 0))); gridPattern.Paddings.All = 10; gridPattern.Apply(grid); IGridColumn column = grid.AddColumn(); IGridRow gridRow = grid.AddRow(); IGridCell gridCell = gridRow.AddCell(); //Add Legend gridCell.Alignment = new ContentAlignment(Alignment.Center, Alignment.Middle); IGrid legendGrid = gridCell.AddGrid(); IGridCell legendCell; legendGrid.Width = new FixedWidth(450); column = legendGrid.AddColumn(); column.Width = new FixedWidth(7); column = legendGrid.AddColumn(); column = legendGrid.AddColumn(); column.Width = new FixedWidth(7); column = legendGrid.AddColumn(); column = legendGrid.AddColumn(); column.Width = new FixedWidth(7); column = legendGrid.AddColumn(); gridRow = legendGrid.AddRow(); //1 Period legendCell = gridRow.AddCell(); cellPattern.Apply(legendCell); legendCanvas = legendCell.AddCanvas(); legendCanvas.Width = new FixedWidth(5); legendCanvas.Paddings.All = 0; legendCanvas.Margins.All = 0; legendCanvas.Height = new FixedHeight(5); legendCanvas.Pen = new Pen(new Color(65, 69, 120), 2); legendCanvas.DrawLine(0, 2.5f, 5, 2.5f); legendCell = gridRow.AddCell(); cellPattern.Apply(legendCell); text = legendCell.AddText(); text.Style.Font = this.pdfFonts[PdfFont.DefaultNormalReg]; text.AddContent(periods[0]); //2 Period legendCell = gridRow.AddCell(); cellPattern.Apply(legendCell); legendCanvas = legendCell.AddCanvas(); legendCanvas.Width = new FixedWidth(5); legendCanvas.Height = new FixedHeight(5); legendCanvas.Pen = new Pen(new Color(204, 76, 24), 2); legendCanvas.DrawLine(0, 2.5f, 5, 2.5f); legendCell = gridRow.AddCell(); cellPattern.Apply(legendCell); text = legendCell.AddText(); text.Style.Font = this.pdfFonts[PdfFont.DefaultNormalReg]; text.AddContent(periods[1]); //Ausgangbasis legendCell = gridRow.AddCell(); cellPattern.Apply(legendCell); legendCanvas = legendCell.AddCanvas(); legendCanvas.Width = new FixedWidth(5); legendCanvas.Height = new FixedHeight(5); legendCanvas.Pen = new Pen(Colors.Green, 2); legendCanvas.DrawLine(0, 2.5f, 5, 2.5f); legendCell = gridRow.AddCell(); cellPattern.Apply(legendCell); text = legendCell.AddText(); text.Style.Font = this.pdfFonts[PdfFont.DefaultNormalReg]; text.AddContent("Heizgrenztemperatur"); //text.AddContent("Heizgrenztemperatur⁴"); //Add Chart //chartData.Columns("Heizgrenztemperatur").ColumnName = "Heizgrenztemperatur³" gridRow = grid.AddRow(); gridCell = gridRow.AddCell(); ICanvas canvas = gridCell.AddCanvas(); //Me.currentBand.AddCanvas() canvas.Width = new FixedWidth(530); canvas.Height = new FixedHeight(300); using (System.Drawing.Graphics g = canvas.CreateGraphics()) { using (UltraChart myChart = new UltraChart()) { TemperaturChart.GetChart(myChart, chartData, 530, 300); myChart.Legend.Visible = false; myChart.RenderPdfFriendlyGraphics(g); } } //this.currentBand.AddStretcher(); }
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); }