567 lines
34 KiB
C#
567 lines
34 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Globalization;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using System.Drawing.Printing;
|
|
using System.Diagnostics;
|
|
using ZedGraph;
|
|
using PdfSharp;
|
|
using PdfSharp.Drawing;
|
|
using PdfSharp.Pdf.IO;
|
|
using PdfSharp.Pdf;
|
|
using PdfSharp.Drawing.Layout;
|
|
|
|
|
|
|
|
namespace GenesisDisplayTool
|
|
{
|
|
|
|
public class ReportPages
|
|
{
|
|
public static Int32 TitlePage(Int32 pagecounter, String introduction, String title, String date, String operatorName, String serialNo, PdfDocument report, XImage logo, CultureInfo culture)
|
|
{
|
|
try
|
|
{
|
|
#region Page "TITLEPAGE"
|
|
#region Prepare data
|
|
pagecounter++; // Pagenumber not on titlepage
|
|
report.Info.Title = title;
|
|
PdfPage pdfPage = report.AddPage();
|
|
XGraphics Titlepage = XGraphics.FromPdfPage(pdfPage);
|
|
var formatter = new XTextFormatter(Titlepage);
|
|
var layoutRectangle = new XRect(1, 1, 1, 1);
|
|
Titlepage.DrawImage(logo, new XRect(ReportParams.LogoXPos, ReportParams.LogoYPos, ReportParams.LogoXSize, ReportParams.LogoYSize));
|
|
Titlepage.DrawString($"{title}\n\n\n", ReportParams.font20, XBrushes.Black, new XRect(0, -200, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.Center);
|
|
Titlepage.DrawString(date, ReportParams.font14, XBrushes.Black, new XRect(0, -100, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.Center);
|
|
Titlepage.DrawString("by", ReportParams.font12, XBrushes.Black, new XRect(0, -50, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.Center);
|
|
Titlepage.DrawString(operatorName, ReportParams.font14, XBrushes.Black, new XRect(0, 0, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.Center);
|
|
Titlepage.DrawString($"Serial number: {serialNo}", ReportParams.font14, XBrushes.Black, new XRect(0, 100, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.Center);
|
|
formatter.DrawString(introduction, ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.IntroductionXPos, ReportParams.IntroductionYPos, 400, 200), XStringFormats.TopLeft);
|
|
#endregion
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
#region Error
|
|
ErrorLog.Log(LogErrReason.Exception(), "ReportPages.TitlePage() failed", $"0x{ex.HResult.ToString("X", culture)}", String.Empty);
|
|
#endregion
|
|
}
|
|
|
|
#region Return value
|
|
return pagecounter;
|
|
#endregion
|
|
}
|
|
|
|
public static Int32 Settings(Int32 pagecounter, String textSoftwareVersion, String[] columns, Boolean enable, PdfDocument report, XImage logo, CultureInfo culture)
|
|
{
|
|
try
|
|
{
|
|
#region Page "SETTINGS"
|
|
#region Generate page
|
|
pagecounter++;
|
|
PdfPage pdfPage = report.AddPage();
|
|
XGraphics Gp30Settings = XGraphics.FromPdfPage(pdfPage);
|
|
var formatterGp30Settings = new XTextFormatter(Gp30Settings);
|
|
var layoutRectangleGp30Settings = new XRect(1, 1, 1, 1);
|
|
#endregion
|
|
#region Set Image/ Logo
|
|
Gp30Settings.DrawImage(logo, new XRect(ReportParams.LogoXPos, ReportParams.LogoYPos, ReportParams.LogoXSize, ReportParams.LogoYSize));
|
|
#endregion
|
|
#region Headline1
|
|
Gp30Settings.DrawString("Settings", ReportParams.font20, XBrushes.Black, new XRect(ReportParams.HeadlineXPos, ReportParams.HeadlineYPos, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopCenter);
|
|
#endregion
|
|
#region Headline2 (first)
|
|
Gp30Settings.DrawString("Software Version", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos, ReportParams.Headline2YPos, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Data
|
|
formatterGp30Settings.DrawString(textSoftwareVersion, ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos, ReportParams.StandardTextYPos, 400, 200), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region GP30 settings
|
|
if (enable)
|
|
{
|
|
#region Headline2
|
|
Gp30Settings.DrawString("Values obtained from register readout", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos, ReportParams.Headline2YPos + 150, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Data/ text
|
|
formatterGp30Settings.DrawString(columns[ReportParams.Column1], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos, ReportParams.StandardTextYPos + 150, 400, 200), XStringFormats.TopLeft);
|
|
formatterGp30Settings.DrawString(columns[ReportParams.Column2], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + 140, ReportParams.StandardTextYPos + 150, 400, 200), XStringFormats.TopLeft);
|
|
formatterGp30Settings.DrawString(columns[ReportParams.Column3], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + 190, ReportParams.StandardTextYPos + 150, 400, 200), XStringFormats.TopLeft);
|
|
#endregion
|
|
}
|
|
#endregion
|
|
#region Set page number
|
|
Gp30Settings.DrawString($"Page {pagecounter.ToString(culture)}", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.PageNumberXPosition, ReportParams.PageNumberYPosition, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.BottomCenter);
|
|
#endregion
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
#region Error
|
|
ErrorLog.Log(LogErrReason.Exception(), "ReportPages.Settings() failed", $"0x{ex.HResult.ToString("X", culture)}", String.Empty);
|
|
#endregion
|
|
}
|
|
|
|
#region Return values
|
|
return pagecounter;
|
|
#endregion
|
|
}
|
|
|
|
public static Int32 DecodedData(Int32 pagecounter, String[] columns, Boolean enable, Boolean enableColumn2, Boolean enableColumn3, Boolean enableColumn4, PdfDocument report, XImage logo, CultureInfo culture)
|
|
{
|
|
try
|
|
{
|
|
#region Page "MEAN VALUES"
|
|
if ((enable) && ((enableColumn2) || (enableColumn3) || (enableColumn4)))
|
|
{
|
|
#region All PATHs
|
|
#region Prepare Data
|
|
pagecounter++;
|
|
PdfPage pdfPage = report.AddPage();
|
|
XGraphics XMean = XGraphics.FromPdfPage(pdfPage);
|
|
var formatterData = new XTextFormatter(XMean);
|
|
var layoutRectangleData = new XRect(1, 1, 1, 1);
|
|
Int32 Xoffset = -20;
|
|
#endregion
|
|
#region Headline1
|
|
XMean.DrawString("Decoded Data", ReportParams.font20, XBrushes.Black, new XRect(ReportParams.HeadlineXPos, ReportParams.HeadlineYPos, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopCenter);
|
|
#endregion
|
|
#region Set text (First column)
|
|
if (!enableColumn2)
|
|
Xoffset = Xoffset + 40;
|
|
if (!enableColumn3)
|
|
Xoffset = Xoffset + 40;
|
|
if (!enableColumn4)
|
|
Xoffset = Xoffset + 40;
|
|
formatterData.DrawString(columns[ReportParams.Column1], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + Xoffset, ReportParams.StandardTextYPos, 400, 200), XStringFormats.TopLeft);
|
|
Xoffset = Xoffset + 120;
|
|
#endregion
|
|
#region Set Image/Logo
|
|
XMean.DrawImage(logo, new XRect(ReportParams.LogoXPos, ReportParams.LogoYPos, ReportParams.LogoXSize, ReportParams.LogoYSize));
|
|
#endregion
|
|
#region Add pagenumber
|
|
XMean.DrawString($"Page {pagecounter.ToString(culture)}", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.PageNumberXPosition, ReportParams.PageNumberYPosition, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.BottomCenter);
|
|
#endregion
|
|
#endregion
|
|
#region PATH0
|
|
if (enableColumn2)
|
|
{
|
|
Misc.WaitNMilliseconds(100);
|
|
#region Headline2
|
|
XMean.DrawString("PATH1", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos + Xoffset, ReportParams.Headline2YPos + 20, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set text
|
|
formatterData.DrawString(columns[ReportParams.Column2], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + Xoffset, ReportParams.StandardTextYPos, 400, 200), XStringFormats.TopLeft);
|
|
Xoffset = Xoffset + 110;
|
|
#endregion
|
|
}
|
|
#endregion
|
|
#region PATH1
|
|
if (enableColumn3)
|
|
{
|
|
Misc.WaitNMilliseconds(100);
|
|
#region Headline2
|
|
XMean.DrawString("PATH2", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos + Xoffset, ReportParams.Headline2YPos + 20, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set text
|
|
formatterData.DrawString(columns[ReportParams.Column3], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + Xoffset, ReportParams.StandardTextYPos, 400, 200), XStringFormats.TopLeft);
|
|
Xoffset = Xoffset + 110;
|
|
#endregion
|
|
}
|
|
#endregion
|
|
#region PATH2
|
|
if (enableColumn4)
|
|
{
|
|
Misc.WaitNMilliseconds(100);
|
|
#region Headline2
|
|
XMean.DrawString("PATH3", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos + Xoffset, ReportParams.Headline2YPos + 20, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set text
|
|
formatterData.DrawString(columns[ReportParams.Column4], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + Xoffset, ReportParams.StandardTextYPos, 400, 200), XStringFormats.TopLeft);
|
|
#endregion
|
|
}
|
|
#endregion
|
|
}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
#region Error
|
|
ErrorLog.Log(LogErrReason.Exception(), "ReportPages.DecodedData() failed", $"0x{ex.HResult.ToString("X", culture)}", String.Empty);
|
|
#endregion
|
|
}
|
|
|
|
#region Return values
|
|
return pagecounter;
|
|
#endregion
|
|
}
|
|
public static Int32 DecodedData2(Int32 pagecounter, String[] columns, Boolean enable, Boolean enableColumn2, Boolean enableColumn3, Boolean enableColumn4, PdfDocument report, XImage logo, CultureInfo culture)
|
|
{
|
|
try
|
|
{
|
|
#region Page "F/H-Protocol"
|
|
if ((enable) && ((enableColumn2) || (enableColumn3) || (enableColumn4)))
|
|
{
|
|
#region All PATHs
|
|
#region Prepare Data
|
|
pagecounter++;
|
|
PdfPage pdfPage = report.AddPage();
|
|
XGraphics XMean = XGraphics.FromPdfPage(pdfPage);
|
|
var formatterData = new XTextFormatter(XMean);
|
|
var layoutRectangleData = new XRect(1, 1, 1, 1);
|
|
Int32 Xoffset = -20;
|
|
#endregion
|
|
#region Headline1
|
|
XMean.DrawString("Decoded Data", ReportParams.font20, XBrushes.Black, new XRect(ReportParams.HeadlineXPos, ReportParams.HeadlineYPos, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopCenter);
|
|
#endregion
|
|
#region Set text (First column)
|
|
if (!enableColumn2)
|
|
Xoffset = Xoffset + 40;
|
|
if (!enableColumn3)
|
|
Xoffset = Xoffset + 40;
|
|
if (!enableColumn4)
|
|
Xoffset = Xoffset + 40;
|
|
formatterData.DrawString(columns[ReportParams.Column1], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + Xoffset, ReportParams.StandardTextYPos, 400, 200), XStringFormats.TopLeft);
|
|
Xoffset = Xoffset + 120;
|
|
#endregion
|
|
#region Set Image/Logo
|
|
XMean.DrawImage(logo, new XRect(ReportParams.LogoXPos, ReportParams.LogoYPos, ReportParams.LogoXSize, ReportParams.LogoYSize));
|
|
#endregion
|
|
#region Add pagenumber
|
|
XMean.DrawString($"Page {pagecounter.ToString(culture)}", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.PageNumberXPosition, ReportParams.PageNumberYPosition, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.BottomCenter);
|
|
#endregion
|
|
#endregion
|
|
#region PATH0
|
|
if (enableColumn2)
|
|
{
|
|
Misc.WaitNMilliseconds(100);
|
|
#region Headline2
|
|
XMean.DrawString("PATH1", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos + Xoffset, ReportParams.Headline2YPos + 20, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set text
|
|
formatterData.DrawString(columns[ReportParams.Column2], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + Xoffset, ReportParams.StandardTextYPos, 400, 200), XStringFormats.TopLeft);
|
|
Xoffset = Xoffset + 110;
|
|
#endregion
|
|
}
|
|
#endregion
|
|
#region PATH1
|
|
if (enableColumn3)
|
|
{
|
|
Misc.WaitNMilliseconds(100);
|
|
#region Headline2
|
|
XMean.DrawString("PATH2", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos + Xoffset, ReportParams.Headline2YPos + 20, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set text
|
|
formatterData.DrawString(columns[ReportParams.Column3], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + Xoffset, ReportParams.StandardTextYPos, 400, 200), XStringFormats.TopLeft);
|
|
Xoffset = Xoffset + 110;
|
|
#endregion
|
|
}
|
|
#endregion
|
|
#region PATH2
|
|
if (enableColumn4)
|
|
{
|
|
Misc.WaitNMilliseconds(100);
|
|
#region Headline2
|
|
XMean.DrawString("PATH3", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos + Xoffset, ReportParams.Headline2YPos + 20, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set text
|
|
formatterData.DrawString(columns[ReportParams.Column4], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + Xoffset, ReportParams.StandardTextYPos, 400, 200), XStringFormats.TopLeft);
|
|
#endregion
|
|
}
|
|
#endregion
|
|
}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
#region Error
|
|
ErrorLog.Log(LogErrReason.Exception(), "ReportPages.DecodedData() failed", $"0x{ex.HResult.ToString("X", culture)}", String.Empty);
|
|
#endregion
|
|
}
|
|
|
|
#region Return values
|
|
return pagecounter;
|
|
#endregion
|
|
}
|
|
|
|
public static Int32 Maingraph(Int32 pagecounter, String mainGraphTitle, ZedGraphControl graph, Boolean enable, PdfDocument report, XImage logo, CultureInfo culture)
|
|
{
|
|
try
|
|
{
|
|
#region Page "MAIN GRAPH"
|
|
if (enable)
|
|
{
|
|
#region Prepare data
|
|
pagecounter++;
|
|
PdfPage pdfPage = report.AddPage();
|
|
XGraphics XDecodedDataMainGraph = XGraphics.FromPdfPage(pdfPage);
|
|
var formatterMainGraph = new XTextFormatter(XDecodedDataMainGraph);
|
|
var layoutRectangleMainGraph = new XRect(1, 1, 1, 1);
|
|
#endregion
|
|
#region Headline1
|
|
XDecodedDataMainGraph.DrawString("Main Graph", ReportParams.font20, XBrushes.Black, new XRect(ReportParams.HeadlineXPos, ReportParams.HeadlineYPos, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopCenter);
|
|
#endregion
|
|
#region Headline2
|
|
XDecodedDataMainGraph.DrawString(mainGraphTitle, ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos, ReportParams.Headline2YPos, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set Image/Logo
|
|
XImage Image0 = graph.MasterPane.GetImage();
|
|
XDecodedDataMainGraph.DrawImage(Image0, new XRect(ReportParams.ImageXPos, ReportParams.ImageYPos, ReportParams.ImageXSize, ReportParams.ImageYSize));
|
|
XDecodedDataMainGraph.DrawImage(logo, new XRect(ReportParams.LogoXPos, ReportParams.LogoYPos, ReportParams.LogoXSize, ReportParams.LogoYSize));
|
|
#endregion
|
|
#region Add pagenumber
|
|
XDecodedDataMainGraph.DrawString($"Page {pagecounter.ToString(culture)}", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.PageNumberXPosition, ReportParams.PageNumberYPosition, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.BottomCenter);
|
|
#endregion
|
|
}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
#region Error
|
|
ErrorLog.Log(LogErrReason.Exception(), "ReportPages.Maingraph() failed", $"0x{ex.HResult.ToString("X", culture)}", String.Empty);
|
|
#endregion
|
|
}
|
|
|
|
#region Return value
|
|
return pagecounter;
|
|
#endregion;
|
|
}
|
|
|
|
public static Int32 StdDeviationPath0(Int32 pagecounter, String[] columns, ZedGraphControl graphPath0, Boolean enable, PdfDocument report, XImage logo, CultureInfo culture)
|
|
{
|
|
try
|
|
{
|
|
if (enable)
|
|
{
|
|
#region Standard deviation PATH0
|
|
#region Prepare Page
|
|
pagecounter++;
|
|
PdfPage pdfPage = report.AddPage();
|
|
XGraphics StdDev0 = XGraphics.FromPdfPage(pdfPage);
|
|
var formatterStdDev0 = new XTextFormatter(StdDev0);
|
|
var layoutStdDev0 = new XRect(1, 1, 1, 1);
|
|
#endregion
|
|
#region Headline1
|
|
StdDev0.DrawString("Standard Deviation", ReportParams.font20, XBrushes.Black, new XRect(ReportParams.HeadlineXPos, ReportParams.HeadlineYPos, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopCenter);
|
|
#endregion
|
|
#region Headline2
|
|
StdDev0.DrawString("Standard Deviation PATH1", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos, ReportParams.Headline2YPos, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set image
|
|
XImage ImageStdDev0 = graphPath0.MasterPane.GetImage(1080, 640, 600, true);
|
|
StdDev0.DrawImage(logo, new XRect(ReportParams.LogoXPos, ReportParams.LogoYPos, ReportParams.LogoXSize, ReportParams.LogoYSize));
|
|
StdDev0.DrawImage(ImageStdDev0, new XRect(ReportParams.ImageXPos, ReportParams.ImageYPos, ReportParams.ImageXSize, ReportParams.ImageYSize));
|
|
#endregion
|
|
Misc.WaitNMilliseconds(100);
|
|
#region Add data
|
|
formatterStdDev0.DrawString(columns[ReportParams.Column1], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + 20, ReportParams.StandardTextYPos + 250, 400, 200), XStringFormats.TopLeft);
|
|
formatterStdDev0.DrawString(columns[ReportParams.Column2], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + 100, ReportParams.StandardTextYPos + 250, 400, 200), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set pagenumber
|
|
StdDev0.DrawString($"Page {pagecounter.ToString(culture)}", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.PageNumberXPosition, ReportParams.PageNumberYPosition, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.BottomCenter);
|
|
#endregion
|
|
#endregion
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
#region Error
|
|
ErrorLog.Log(LogErrReason.Exception(), "ReportPages.StdDeviationPath0() failed", $"0x{ex.HResult.ToString("X", culture)}", String.Empty);
|
|
#endregion
|
|
}
|
|
|
|
#region Return value
|
|
return pagecounter;
|
|
#endregion
|
|
}
|
|
|
|
public static Int32 StdDeviationPath1(Int32 pagecounter, String[] columns, ZedGraphControl graphPath1, Boolean enable, PdfDocument report, XImage logo, CultureInfo culture)
|
|
{
|
|
try
|
|
{
|
|
if (enable)
|
|
{
|
|
#region Standard deviation PATH0
|
|
#region Prepare Page
|
|
pagecounter++;
|
|
PdfPage pdfPage = report.AddPage();
|
|
XGraphics StdDev1 = XGraphics.FromPdfPage(pdfPage);
|
|
var formatterStdDev1 = new XTextFormatter(StdDev1);
|
|
var layoutStdDev1 = new XRect(1, 1, 1, 1);
|
|
#endregion
|
|
#region Headline1
|
|
StdDev1.DrawString("Standard Deviation", ReportParams.font20, XBrushes.Black, new XRect(ReportParams.HeadlineXPos, ReportParams.HeadlineYPos, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopCenter);
|
|
#endregion
|
|
#region Headline2
|
|
StdDev1.DrawString("Standard Deviation PATH2", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos, ReportParams.Headline2YPos, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set image
|
|
XImage ImageStdDev1 = graphPath1.MasterPane.GetImage(1080, 640, 600, true);
|
|
StdDev1.DrawImage(logo, new XRect(ReportParams.LogoXPos, ReportParams.LogoYPos, ReportParams.LogoXSize, ReportParams.LogoYSize));
|
|
StdDev1.DrawImage(ImageStdDev1, new XRect(ReportParams.ImageXPos, ReportParams.ImageYPos, ReportParams.ImageXSize, ReportParams.ImageYSize));
|
|
#endregion
|
|
Misc.WaitNMilliseconds(100);
|
|
#region Add data
|
|
formatterStdDev1.DrawString(columns[ReportParams.Column1], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + 20, ReportParams.StandardTextYPos + 250, 400, 200), XStringFormats.TopLeft);
|
|
formatterStdDev1.DrawString(columns[ReportParams.Column3], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + 100, ReportParams.StandardTextYPos + 250, 400, 200), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set pagenumber
|
|
StdDev1.DrawString($"Page {pagecounter.ToString(culture)}", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.PageNumberXPosition, ReportParams.PageNumberYPosition, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.BottomCenter);
|
|
#endregion
|
|
#endregion
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
#region Error
|
|
ErrorLog.Log(LogErrReason.Exception(), $"ReportPages.StdDeviationPath1() failed", $"0x{ex.HResult.ToString("X", culture)}", String.Empty);
|
|
#endregion
|
|
}
|
|
#region Return value
|
|
return pagecounter;
|
|
#endregion
|
|
}
|
|
|
|
public static Int32 StdDeviationPath2(Int32 pagecounter, String[] columns, ZedGraphControl graphPath2, Boolean enable, PdfDocument report, XImage logo, CultureInfo culture)
|
|
{
|
|
try
|
|
{
|
|
if (enable)
|
|
{
|
|
#region Standard deviation PATH2
|
|
#region Prepare Page
|
|
pagecounter++;
|
|
PdfPage pdfPage = report.AddPage();
|
|
XGraphics StdDev2 = XGraphics.FromPdfPage(pdfPage);
|
|
var formatterStdDev2 = new XTextFormatter(StdDev2);
|
|
var layoutStdDev2 = new XRect(1, 1, 1, 1);
|
|
#endregion
|
|
#region Headline1
|
|
StdDev2.DrawString("Standard Deviation", ReportParams.font20, XBrushes.Black, new XRect(ReportParams.HeadlineXPos, ReportParams.HeadlineYPos, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopCenter);
|
|
#endregion
|
|
#region Headline2
|
|
StdDev2.DrawString("Standard Deviation PATH3", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos, ReportParams.Headline2YPos, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set image
|
|
XImage ImageStdDev2 = graphPath2.MasterPane.GetImage(1080, 640, 600, true);
|
|
StdDev2.DrawImage(logo, new XRect(ReportParams.LogoXPos, ReportParams.LogoYPos, ReportParams.LogoXSize, ReportParams.LogoYSize));
|
|
StdDev2.DrawImage(ImageStdDev2, new XRect(ReportParams.ImageXPos, ReportParams.ImageYPos, ReportParams.ImageXSize, ReportParams.ImageYSize));
|
|
#endregion
|
|
Misc.WaitNMilliseconds(100);
|
|
#region Add data
|
|
formatterStdDev2.DrawString(columns[ReportParams.Column1], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + 20, ReportParams.StandardTextYPos + 250, 400, 200), XStringFormats.TopLeft);
|
|
formatterStdDev2.DrawString(columns[ReportParams.Column4], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + 100, ReportParams.StandardTextYPos + 250, 400, 200), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set pagenumber
|
|
StdDev2.DrawString($"Page {pagecounter.ToString(culture)}", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.PageNumberXPosition, ReportParams.PageNumberYPosition, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.BottomCenter);
|
|
#endregion
|
|
#endregion
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
#region Error
|
|
ErrorLog.Log(LogErrReason.Exception(), "ReportPages.StdDeviationPath2() failed", $"0x{ex.HResult.ToString("X", culture)}", String.Empty);
|
|
#endregion
|
|
}
|
|
|
|
#region Return value
|
|
return pagecounter;
|
|
#endregion
|
|
}
|
|
|
|
public static Int32 MeanValues(Int32 pagecounter, String[] columns, Boolean enable, Boolean enableColumn2, Boolean enableColumn3, Boolean enableColumn4, PdfDocument report, XImage logo, CultureInfo culture)
|
|
{
|
|
try
|
|
{
|
|
#region Page "MEAN VALUES"
|
|
if ((enable) && ((enableColumn2) || (enableColumn3) || (enableColumn4)))
|
|
{
|
|
#region All PATHs
|
|
#region Prepare Data
|
|
pagecounter++;
|
|
PdfPage pdfPage = report.AddPage();
|
|
XGraphics XMean = XGraphics.FromPdfPage(pdfPage);
|
|
var formatterData = new XTextFormatter(XMean);
|
|
var layoutRectangleData = new XRect(1, 1, 1, 1);
|
|
Int32 Xoffset = 0;
|
|
#endregion
|
|
#region Headline1
|
|
XMean.DrawString("Mean Values", ReportParams.font20, XBrushes.Black, new XRect(ReportParams.HeadlineXPos, ReportParams.HeadlineYPos, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopCenter);
|
|
#endregion
|
|
#region Set text (First column)
|
|
if (!enableColumn2)
|
|
Xoffset = Xoffset + 40;
|
|
if (!enableColumn3)
|
|
Xoffset = Xoffset + 40;
|
|
if (!enableColumn4)
|
|
Xoffset = Xoffset + 40;
|
|
formatterData.DrawString(columns[ReportParams.Column1], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + Xoffset, ReportParams.StandardTextYPos, 400, 200), XStringFormats.TopLeft);
|
|
Xoffset = Xoffset + 100;
|
|
#endregion
|
|
#region Set Image/Logo
|
|
XMean.DrawImage(logo, new XRect(ReportParams.LogoXPos, ReportParams.LogoYPos, ReportParams.LogoXSize, ReportParams.LogoYSize));
|
|
#endregion
|
|
#region Add pagenumber
|
|
XMean.DrawString($"Page {pagecounter.ToString()}", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.PageNumberXPosition, ReportParams.PageNumberYPosition, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.BottomCenter);
|
|
#endregion
|
|
#endregion
|
|
Misc.WaitNMilliseconds(100);
|
|
#region PATH0
|
|
if (enableColumn2)
|
|
{
|
|
#region Headline2
|
|
XMean.DrawString("PATH1", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos + Xoffset, ReportParams.Headline2YPos + 20, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set text
|
|
formatterData.DrawString(columns[ReportParams.Column2], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + Xoffset, ReportParams.StandardTextYPos, 400, 200), XStringFormats.TopLeft);
|
|
Xoffset = Xoffset + 100;
|
|
#endregion
|
|
}
|
|
#endregion
|
|
Misc.WaitNMilliseconds(100);
|
|
#region PATH1
|
|
if (enableColumn3)
|
|
{
|
|
#region Headline2
|
|
XMean.DrawString("PATH2", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos + Xoffset, ReportParams.Headline2YPos + 20, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set text
|
|
formatterData.DrawString(columns[ReportParams.Column3], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + Xoffset, ReportParams.StandardTextYPos, 400, 200), XStringFormats.TopLeft);
|
|
Xoffset = Xoffset + 100;
|
|
#endregion
|
|
}
|
|
#endregion
|
|
Misc.WaitNMilliseconds(100);
|
|
#region PATH2
|
|
if (enableColumn4)
|
|
{
|
|
#region Headline2
|
|
XMean.DrawString("PATH3", ReportParams.font12, XBrushes.Black, new XRect(ReportParams.Headline2XPos + Xoffset, ReportParams.Headline2YPos + 20, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
|
|
#endregion
|
|
#region Set text
|
|
formatterData.DrawString(columns[ReportParams.Column4], ReportParams.fontStandard, XBrushes.Black, new XRect(ReportParams.StandardTextXPos + Xoffset, ReportParams.StandardTextYPos, 400, 200), XStringFormats.TopLeft);
|
|
#endregion
|
|
}
|
|
#endregion
|
|
}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
#region Error
|
|
ErrorLog.Log(LogErrReason.Exception(), "ReportPages.MeanValues() failed", $"0x{ex.HResult.ToString("X")}", String.Empty);
|
|
#endregion
|
|
}
|
|
|
|
#region Return values
|
|
return pagecounter;
|
|
#endregion
|
|
}
|
|
}
|
|
} |