diff --git a/ReportViewer.Test/GetLoadingType.cs b/ReportViewer.Test/GetLoadingType.cs new file mode 100644 index 0000000..cf39010 --- /dev/null +++ b/ReportViewer.Test/GetLoadingType.cs @@ -0,0 +1,28 @@ + +namespace ReportViewer.Test +{ + [TestClass] + public class GetLoadingType + { + [TestMethod] + public void TestGetLoadingType() + { + List list1 = new List() { "123", "EP" }; + Assert.AreEqual("EP", ReportDataLoader.GetLoadingType(list1)); + } + + [TestMethod] + public void TestGetLoadingTypeWithColliNull() + { + List list2 = new List() { "123", null }; + Assert.AreEqual("", ReportDataLoader.GetLoadingType(list2)); + } + + [TestMethod] + public void TestGetLoadingTypeWithRedundandColli() + { + List list3 = new List() { "123", "1 EP" }; + Assert.AreEqual("EP", ReportDataLoader.GetLoadingType(list3)); + } + } +} \ No newline at end of file diff --git a/ReportViewer.Test/ReportViewer.Test.csproj b/ReportViewer.Test/ReportViewer.Test.csproj new file mode 100644 index 0000000..6828982 --- /dev/null +++ b/ReportViewer.Test/ReportViewer.Test.csproj @@ -0,0 +1,22 @@ + + + + net6.0-windows + enable + enable + + false + + + + + + + + + + + + + + diff --git a/ReportViewer.Test/Usings.cs b/ReportViewer.Test/Usings.cs new file mode 100644 index 0000000..ab67c7e --- /dev/null +++ b/ReportViewer.Test/Usings.cs @@ -0,0 +1 @@ +global using Microsoft.VisualStudio.TestTools.UnitTesting; \ No newline at end of file diff --git a/ReportViewer/Config.cs b/ReportViewer/Config.cs new file mode 100644 index 0000000..4606a7e --- /dev/null +++ b/ReportViewer/Config.cs @@ -0,0 +1,65 @@ +using DevExpress.XtraCharts; +using System; +using System.Collections.Generic; +using System.Data.Common; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ReportViewer +{ + public class Config + { + public string ConnectionString { get; set; } + public bool Debug { get; set; } + public List Providers { get; set; } = new() + { + new ServiceProvider() + { + Type = ServiceProviderType.Sample, + Title = "Sample Document", + Name = "Sample Provider GmbH", + Street = "Sample Street 123", + ZipCode = "12345", + City = "Sample City" + }, + new ServiceProvider() + { + Type = ServiceProviderType.GLS, + Title = "GLS Tagesprotokoll", + Name = "GLS Germany", + Street = "", + ZipCode = "", + City = "" + }, + new ServiceProvider() + { + Type = ServiceProviderType.HellmoldPlank, + Title = "Übernahmebestätigung", + Name = "Hellmold & Plank GmbH & Co KG", + Street = "Europastr. 9-11", + ZipCode = "35394", + City = "Gießen" + }, + }; + + public enum ServiceProviderType + { + None = 0, + HellmoldPlank = 1, + GLS = 2, + Sample = 3 + } + + public class ServiceProvider + { + public ServiceProviderType Type { get; set; } + public string Title { get; set; } + public string Identifier { get; set; } + public string Name { get; set; } + public string Street { get; set; } + public string ZipCode { get; set; } + public string City { get; set; } + } + } +} diff --git a/ReportViewer/Extensions.cs b/ReportViewer/Extensions.cs new file mode 100644 index 0000000..8cf3040 --- /dev/null +++ b/ReportViewer/Extensions.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ReportViewer +{ + public static class Extensions + { + public static string JoinString(this IEnumerable? list, string separator = ",") + { + if (list == null) + throw new ArgumentNullException(nameof(list)); + return list.Aggregate(new StringBuilder(), (current, next) => + current.Append(current.Length == 0 ? string.Empty : separator).Append(next)).ToString(); + } + } +} diff --git a/ReportViewer/Program.cs b/ReportViewer/Program.cs new file mode 100644 index 0000000..27a7826 --- /dev/null +++ b/ReportViewer/Program.cs @@ -0,0 +1,17 @@ +namespace ReportViewer +{ + internal static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + // To customize application configuration such as set high DPI settings or default font, + // see https://aka.ms/applicationconfiguration. + ApplicationConfiguration.Initialize(); + Application.Run(new FrmMain()); + } + } +} \ No newline at end of file diff --git a/ReportViewer/ReportData.cs b/ReportViewer/ReportData.cs new file mode 100644 index 0000000..3fc0f28 --- /dev/null +++ b/ReportViewer/ReportData.cs @@ -0,0 +1,105 @@ +using DevExpress.Map.Native; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ReportViewer +{ + public class ReportData + { + public List Orders { get; set; } + + public class Order + { + public int Id { get; set; } + public string OrderNumber { get; set; } + public DateTime OrderDate { get; set; } + public string ShipmentIdentifiers { get; set; } + + public string Loadings { get; set; } + public double WeightAmount { get; set; } + public string WeightUnit { get; set; } + + public string InformationForDriver { get; set; } + public string InformationForDeliveryNotice { get; set; } + public string InformationForDevlieryAdditional { get; set; } + + public string InformationForDelivery + { + get + { + return $"{InformationForDeliveryNotice} {InformationForDevlieryAdditional}"; + } + } + + public string Weight + { + get + { + return $"{WeightAmount:n2} {WeightUnit}"; + } + } + + public int ShipmentIdentifiersAmount + { + get + { + return ShipmentIdentifiers != null ? ShipmentIdentifiers.Split(Environment.NewLine).Length : 0; + } + } + + public string Address + { + get + { + return Receiver.Complete; + } + } + + public Address Receiver { get; set; } + public HeadData Head { get; set; } + } + + public class HeadData + { + public string Title { get; set; } + public Address Sender { get; set; } + public Address Receiver { get; set; } + } + + public class Address + { + public string Name { get; set; } = ""; + public string Street { get; set; } = ""; + public string Zip { get; set; } = ""; + public string City { get; set; } = ""; + public string Country { get; set; } = "D"; + + public string ZipCodeCountryCity + { + get + { + if (City.Length > 0 && Zip.Length > 0) + return $"{Country}-{Zip} {City}"; + return ""; + } + } + + public string Complete + { + get + { + return Name + Environment.NewLine + + Street + Environment.NewLine + + ZipCodeCountryCity; + } + } + } + } + + + + +} diff --git a/ReportViewer/ReportDataLoader.cs b/ReportViewer/ReportDataLoader.cs new file mode 100644 index 0000000..eb39eb8 --- /dev/null +++ b/ReportViewer/ReportDataLoader.cs @@ -0,0 +1,238 @@ +using DevExpress.Mvvm.Native; +using DevExpress.PivotGrid.DataCalculation; +using DevExpress.XtraPrinting.Preview; +using DevExpress.XtraReports.UI; +using DigitalData.Modules.Database; +using DigitalData.Modules.Language; +using DigitalData.Modules.Logging; +using System.Data; +using System.Data.SqlClient; +using System.Text; + +namespace ReportViewer +{ + public class ReportDataLoader + { + private LogConfig _logConfig; + private Logger _logger; + private Config _config; + private DocumentViewer _documentViewer; + private MSSQLServer _database; + + public ReportDataLoader(LogConfig logConfig, Config config, MSSQLServer database, DocumentViewer documentViewer) + { + _logConfig = logConfig; + _logger = logConfig.GetLogger(); + _config = config; + _documentViewer = documentViewer; + _database = database; + } + + public void Load(DateTime? date, Config.ServiceProvider provider) + { + var orders = LoadFromDatabase(date, provider).Where(o => o.ShipmentIdentifiers.Length > 0).ToList(); + var data = new ReportData { Orders = orders }; + + LoadIntoViewer(data); + } + + public void Print() + { + if (_documentViewer.DocumentSource == null) + return; + + ReportTemplate report = (ReportTemplate)_documentViewer.DocumentSource; + ReportPrintTool printTool = new ReportPrintTool(report); + + printTool.PreviewRibbonForm.PrintControl.UseDirectXPaint = DevExpress.Utils.DefaultBoolean.True; + printTool.PrintDialog(); + } + + private void LoadIntoViewer(ReportData data) + { + var report = new ReportTemplate() { DataSource = data, DataMember = "Orders" }; + report.CreateDocument(false); + + _documentViewer.DocumentSource = report; + } + + public class PackagingInfo + { + public string Identifier = ""; + public int? LoadingAmount; + public string? LoadingType; + + public string Loading + { + get + { + return $"{LoadingAmount} {LoadingType}"; + } + } + } + + + public static List ParsePackagingInfo(string packagingInfo) + { + if (packagingInfo == null) + return new List(); + + var lines = packagingInfo.Split("\n"); + var result = new List(); + + // Example: + // 310055680000000387 | EP + // 310055680000000394 | GP + // 310055680000000400 | KW + // 310055680000000417 | HP + + foreach (var line in lines) + { + var list = line.Split("|").Select(s => s.Trim()).ToList(); + + if (list.Count == 0) + continue; + + var identifier = list[0]; + + result.Add(new PackagingInfo() + { + Identifier = identifier, + LoadingType = GetLoadingType(list), + LoadingAmount = 1 + }); + }; + + return result; + } + + public static string GetLoadingType(List list) + { + var colliOnlyRegex = new System.Text.RegularExpressions.Regex("\\d{0,2}\\s?(\\w+)"); + + if (list.Count == 0) + { + return ""; + } + else + { + var value = (list[1] ?? "").Trim(); + + if (colliOnlyRegex.IsMatch(value)) + { + var match = colliOnlyRegex.Match(value); + return match.Groups[1].Value; + } + else + { + return value; + } + } + } + + private List LoadFromDatabase(DateTime? date, Config.ServiceProvider provider) + { + var orders = new List(); + + try + { + var sqlCommand = new SqlCommand("SELECT * FROM t025 WHERE c044 IS NOT NULL AND c045 IS NOT NULL AND U047 IS NOT NULL"); + + if (date != null) + { + sqlCommand = new SqlCommand("SELECT * FROM t025 WHERE c044 IS NOT NULL AND c045 IS NOT NULL WHERE c029 = '@DATE'"); + sqlCommand.Parameters.Add("DATE", SqlDbType.DateTime).Value = date; + } + + var table = _database.GetDatatable(sqlCommand); + var position = 1; + + foreach (DataRow row in table.Rows) + { + var trackingNumber = row.ItemEx("U047", ""); + var list = ParsePackagingInfo(trackingNumber); + var identifiers = list.Select(i => i.Identifier).JoinString(Environment.NewLine); + var loadings = list.Select(i => i.Loading).JoinString(Environment.NewLine); + + orders.Add(new ReportData.Order() + { + Id = position++, + OrderDate = row.ItemEx("c029"), + OrderNumber = row.ItemEx("c044", ""), + WeightAmount = row.ItemEx("c154"), + WeightUnit = "kg", + ShipmentIdentifiers = identifiers, + Loadings = loadings, + InformationForDriver = row.ItemEx("u046", ""), + InformationForDeliveryNotice = row.ItemEx("u048", ""), + InformationForDevlieryAdditional = row.ItemEx("u049", ""), + Receiver = new ReportData.Address() + { + Name = row.ItemEx("c010", ""), + Street = row.ItemEx("c012", ""), + City = row.ItemEx("c014", ""), + Zip = row.ItemEx("c013", ""), + Country = row.ItemEx("c017", "") + }, + Head = new ReportData.HeadData() + { + Title = provider.Title, + Receiver = new ReportData.Address() + { + Name = provider.Name, + Street = provider.Street, + Zip = provider.ZipCode, + City = provider.City + } + } + }); + + } + } + catch (Exception e) + { + _logger.Error(e); + } + + return orders; + + //return new List() + //{ + // new ReportData.Order() + // { + // Id = 1, + // OrderDate = DateTime.Now, + // OrderNumber = "SchaumGLS37564", + // WeightAmount = 17.4, + // WeightUnit = "kg", + // ShipmentIdentifiers = "9378556904370895740985", + // Receiver = new ReportData.Receiver() + // { + // Name = "Ernst Stein GmbH & Co. KG", + // Street = "Herrbert von Ingenhausenweg 21", + // City = "Hemer - Westig", + // Zip = "12345", + // Country = "D" + // } + // }, + // new ReportData.Order() + // { + // Id = 1, + // OrderDate = DateTime.Now, + // OrderNumber = "SchaumGLS37564", + // WeightAmount = 17.4, + // WeightUnit = "kg", + // ShipmentIdentifiers = "9378556904370895740985", + // Receiver = new ReportData.Receiver() + // { + // Name = "Ernst Stein GmbH & Co. KG", + // Street = "Herrbert von Ingenhausenweg 21", + // City = "Hemer - Westig", + // Zip = "12345", + // Country = "D" + // } + // } + //}; + } + } +} diff --git a/ReportViewer/ReportTemplate.Designer.cs b/ReportViewer/ReportTemplate.Designer.cs new file mode 100644 index 0000000..bfa6606 --- /dev/null +++ b/ReportViewer/ReportTemplate.Designer.cs @@ -0,0 +1,743 @@ +namespace ReportViewer +{ + partial class ReportTemplate + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + DevExpress.XtraPrinting.Shape.ShapeRectangle shapeRectangle1 = new DevExpress.XtraPrinting.Shape.ShapeRectangle(); + DevExpress.XtraPrinting.Shape.ShapeRectangle shapeRectangle2 = new DevExpress.XtraPrinting.Shape.ShapeRectangle(); + DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary(); + DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary(); + this.Detail = new DevExpress.XtraReports.UI.DetailBand(); + this.xrLine4 = new DevExpress.XtraReports.UI.XRLine(); + this.xrLabel31 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel(); + this.XrLabel12 = new DevExpress.XtraReports.UI.XRLabel(); + this.XrLabel11 = new DevExpress.XtraReports.UI.XRLabel(); + this.XrLabel13 = new DevExpress.XtraReports.UI.XRLabel(); + this.XrLabel14 = new DevExpress.XtraReports.UI.XRLabel(); + this.XrLabel19 = new DevExpress.XtraReports.UI.XRLabel(); + this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand(); + this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLine3 = new DevExpress.XtraReports.UI.XRLine(); + this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLine1 = new DevExpress.XtraReports.UI.XRLine(); + this.XrLabel18 = new DevExpress.XtraReports.UI.XRLabel(); + this.XrLabel1 = new DevExpress.XtraReports.UI.XRLabel(); + this.XrLabel2 = new DevExpress.XtraReports.UI.XRLabel(); + this.XrLabel3 = new DevExpress.XtraReports.UI.XRLabel(); + this.XrLabel4 = new DevExpress.XtraReports.UI.XRLabel(); + this.XrLabel9 = new DevExpress.XtraReports.UI.XRLabel(); + this.XrLabel10 = new DevExpress.XtraReports.UI.XRLabel(); + this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand(); + this.xrLabel21 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel20 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrShape2 = new DevExpress.XtraReports.UI.XRShape(); + this.xrShape1 = new DevExpress.XtraReports.UI.XRShape(); + this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLine2 = new DevExpress.XtraReports.UI.XRLine(); + this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components); + this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand(); + this.xrLabel35 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel34 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel33 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel32 = new DevExpress.XtraReports.UI.XRLabel(); + this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); + this.xrLabel30 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel29 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel28 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel26 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel27 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel25 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel24 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel23 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel22 = new DevExpress.XtraReports.UI.XRLabel(); + this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand(); + ((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); + // + // Detail + // + this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLine4, + this.xrLabel31, + this.xrLabel8, + this.xrLabel16, + this.xrLabel5, + this.XrLabel12, + this.XrLabel11, + this.XrLabel13, + this.XrLabel14, + this.XrLabel19}); + this.Detail.HeightF = 125F; + this.Detail.Name = "Detail"; + this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F); + this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + // + // xrLine4 + // + this.xrLine4.BorderColor = System.Drawing.Color.DimGray; + this.xrLine4.BorderWidth = 1F; + this.xrLine4.ForeColor = System.Drawing.Color.Gray; + this.xrLine4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrLine4.Name = "xrLine4"; + this.xrLine4.SizeF = new System.Drawing.SizeF(1000F, 3F); + this.xrLine4.StylePriority.UseBorderColor = false; + this.xrLine4.StylePriority.UseBorderWidth = false; + this.xrLine4.StylePriority.UseForeColor = false; + // + // xrLabel31 + // + this.xrLabel31.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[InformationForDelivery]")}); + this.xrLabel31.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel31.KeepTogether = true; + this.xrLabel31.LocationFloat = new DevExpress.Utils.PointFloat(0.0001271566F, 102F); + this.xrLabel31.Name = "xrLabel31"; + this.xrLabel31.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel31.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrLabel31.SizeF = new System.Drawing.SizeF(1000F, 23F); + this.xrLabel31.StylePriority.UseFont = false; + this.xrLabel31.Text = "XrLabel14"; + // + // xrLabel8 + // + this.xrLabel8.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[InformationForDriver]")}); + this.xrLabel8.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel8.KeepTogether = true; + this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(0F, 78.99996F); + this.xrLabel8.Name = "xrLabel8"; + this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel8.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrLabel8.SizeF = new System.Drawing.SizeF(1000F, 23F); + this.xrLabel8.StylePriority.UseFont = false; + this.xrLabel8.Text = "XrLabel14"; + // + // xrLabel16 + // + this.xrLabel16.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Loadings]")}); + this.xrLabel16.Font = new System.Drawing.Font("Lucida Console", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(188.5417F, 3F); + this.xrLabel16.Multiline = true; + this.xrLabel16.Name = "xrLabel16"; + this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel16.SizeF = new System.Drawing.SizeF(54.16666F, 68.99995F); + this.xrLabel16.StylePriority.UseFont = false; + this.xrLabel16.StylePriority.UseTextAlignment = false; + this.xrLabel16.Text = "XrLabel12"; + this.xrLabel16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + // + // xrLabel5 + // + this.xrLabel5.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[OrderDate]")}); + this.xrLabel5.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(826.0416F, 3F); + this.xrLabel5.Multiline = true; + this.xrLabel5.Name = "xrLabel5"; + this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel5.SizeF = new System.Drawing.SizeF(100F, 23F); + this.xrLabel5.StylePriority.UseFont = false; + this.xrLabel5.StylePriority.UseTextAlignment = false; + this.xrLabel5.Text = "xrLabel5"; + this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrLabel5.TextFormatString = "{0:d}"; + // + // XrLabel12 + // + this.XrLabel12.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Id]")}); + this.XrLabel12.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.XrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 3F); + this.XrLabel12.Multiline = true; + this.XrLabel12.Name = "XrLabel12"; + this.XrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.XrLabel12.SizeF = new System.Drawing.SizeF(39.58333F, 23F); + this.XrLabel12.StylePriority.UseFont = false; + this.XrLabel12.StylePriority.UseTextAlignment = false; + this.XrLabel12.Text = "XrLabel12"; + this.XrLabel12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + // + // XrLabel11 + // + this.XrLabel11.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[OrderNumber]")}); + this.XrLabel11.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.XrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(39.58333F, 3F); + this.XrLabel11.Multiline = true; + this.XrLabel11.Name = "XrLabel11"; + this.XrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.XrLabel11.SizeF = new System.Drawing.SizeF(133.3333F, 23F); + this.XrLabel11.StylePriority.UseFont = false; + this.XrLabel11.Text = "XrLabel11"; + // + // XrLabel13 + // + this.XrLabel13.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ShipmentIdentifiers]")}); + this.XrLabel13.Font = new System.Drawing.Font("Lucida Console", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.XrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(242.7084F, 3F); + this.XrLabel13.Multiline = true; + this.XrLabel13.Name = "XrLabel13"; + this.XrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.XrLabel13.SizeF = new System.Drawing.SizeF(195.8333F, 68.99997F); + this.XrLabel13.StylePriority.UseFont = false; + this.XrLabel13.Text = "XrLabel13"; + // + // XrLabel14 + // + this.XrLabel14.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Address]")}); + this.XrLabel14.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.XrLabel14.KeepTogether = true; + this.XrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(438.5417F, 3F); + this.XrLabel14.Multiline = true; + this.XrLabel14.Name = "XrLabel14"; + this.XrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.XrLabel14.SizeF = new System.Drawing.SizeF(270.6247F, 68.99997F); + this.XrLabel14.StylePriority.UseFont = false; + this.XrLabel14.Text = "XrLabel14"; + // + // XrLabel19 + // + this.XrLabel19.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Weight]")}); + this.XrLabel19.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.XrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(926.0416F, 3F); + this.XrLabel19.Multiline = true; + this.XrLabel19.Name = "XrLabel19"; + this.XrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.XrLabel19.SizeF = new System.Drawing.SizeF(73.95831F, 23F); + this.XrLabel19.StylePriority.UseFont = false; + this.XrLabel19.StylePriority.UseTextAlignment = false; + this.XrLabel19.Text = "XrLabel19"; + this.XrLabel19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.XrLabel19.TextFormatString = "{0:n}"; + // + // TopMargin + // + this.TopMargin.HeightF = 0F; + this.TopMargin.Name = "TopMargin"; + this.TopMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F); + this.TopMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + // + // xrLabel15 + // + this.xrLabel15.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(188.5417F, 7.291702F); + this.xrLabel15.Multiline = true; + this.xrLabel15.Name = "xrLabel15"; + this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel15.SizeF = new System.Drawing.SizeF(54.16666F, 19.79166F); + this.xrLabel15.StylePriority.UseFont = false; + this.xrLabel15.Text = "ME"; + // + // xrLine3 + // + this.xrLine3.BorderWidth = 1F; + this.xrLine3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrLine3.Name = "xrLine3"; + this.xrLine3.SizeF = new System.Drawing.SizeF(999.9999F, 7.291656F); + this.xrLine3.StylePriority.UseBorderWidth = false; + // + // xrLabel6 + // + this.xrLabel6.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(826.0411F, 7.291702F); + this.xrLabel6.Multiline = true; + this.xrLabel6.Name = "xrLabel6"; + this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel6.SizeF = new System.Drawing.SizeF(99.99988F, 19.79166F); + this.xrLabel6.StylePriority.UseFont = false; + this.xrLabel6.StylePriority.UseTextAlignment = false; + this.xrLabel6.Text = "Datum"; + this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + // + // xrLine1 + // + this.xrLine1.BorderWidth = 1F; + this.xrLine1.LineWidth = 2F; + this.xrLine1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 27.08336F); + this.xrLine1.Name = "xrLine1"; + this.xrLine1.SizeF = new System.Drawing.SizeF(1000F, 2.083333F); + this.xrLine1.StylePriority.UseBorderWidth = false; + // + // XrLabel18 + // + this.XrLabel18.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.XrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(926.0417F, 7.291702F); + this.XrLabel18.Multiline = true; + this.XrLabel18.Name = "XrLabel18"; + this.XrLabel18.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.XrLabel18.SizeF = new System.Drawing.SizeF(73.95837F, 19.79166F); + this.XrLabel18.StylePriority.UseFont = false; + this.XrLabel18.StylePriority.UseTextAlignment = false; + this.XrLabel18.Text = "Gewicht"; + this.XrLabel18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + // + // XrLabel1 + // + this.XrLabel1.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.XrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 7.291702F); + this.XrLabel1.Multiline = true; + this.XrLabel1.Name = "XrLabel1"; + this.XrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.XrLabel1.SizeF = new System.Drawing.SizeF(39.58332F, 19.79166F); + this.XrLabel1.StylePriority.UseFont = false; + this.XrLabel1.Text = "Pos"; + // + // XrLabel2 + // + this.XrLabel2.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.XrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(39.58333F, 7.291702F); + this.XrLabel2.Multiline = true; + this.XrLabel2.Name = "XrLabel2"; + this.XrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.XrLabel2.SizeF = new System.Drawing.SizeF(133.3334F, 19.79166F); + this.XrLabel2.StylePriority.UseFont = false; + this.XrLabel2.Text = "Auftrag Nr"; + // + // XrLabel3 + // + this.XrLabel3.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.XrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(242.7083F, 7.291702F); + this.XrLabel3.Multiline = true; + this.XrLabel3.Name = "XrLabel3"; + this.XrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.XrLabel3.SizeF = new System.Drawing.SizeF(195.8333F, 19.79166F); + this.XrLabel3.StylePriority.UseFont = false; + this.XrLabel3.Text = "Trackingnummer / NVE"; + // + // XrLabel4 + // + this.XrLabel4.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.XrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(438.5417F, 7.291702F); + this.XrLabel4.Multiline = true; + this.XrLabel4.Name = "XrLabel4"; + this.XrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.XrLabel4.SizeF = new System.Drawing.SizeF(270.6247F, 19.79166F); + this.XrLabel4.StylePriority.UseFont = false; + this.XrLabel4.Text = "Empfänger"; + // + // XrLabel9 + // + this.XrLabel9.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.XrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(809.3745F, 10.00001F); + this.XrLabel9.Multiline = true; + this.XrLabel9.Name = "XrLabel9"; + this.XrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.XrLabel9.SizeF = new System.Drawing.SizeF(73.95831F, 19.79166F); + this.XrLabel9.StylePriority.UseFont = false; + this.XrLabel9.Text = "Datum:"; + // + // XrLabel10 + // + this.XrLabel10.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.XrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(902.4996F, 10.00001F); + this.XrLabel10.Multiline = true; + this.XrLabel10.Name = "XrLabel10"; + this.XrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.XrLabel10.SizeF = new System.Drawing.SizeF(87.50024F, 19.79166F); + this.XrLabel10.StylePriority.UseFont = false; + this.XrLabel10.StylePriority.UseTextAlignment = false; + this.XrLabel10.Text = "01.01.2023"; + this.XrLabel10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + // + // BottomMargin + // + this.BottomMargin.HeightF = 79.62481F; + this.BottomMargin.Name = "BottomMargin"; + this.BottomMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F); + this.BottomMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + // + // xrLabel21 + // + this.xrLabel21.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[DataSource.RowCount]")}); + this.xrLabel21.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel21.LocationFloat = new DevExpress.Utils.PointFloat(147.4998F, 8.416684F); + this.xrLabel21.Multiline = true; + this.xrLabel21.Name = "xrLabel21"; + this.xrLabel21.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel21.SizeF = new System.Drawing.SizeF(62.49988F, 19.79166F); + this.xrLabel21.StylePriority.UseFont = false; + this.xrLabel21.Text = "0"; + // + // xrLabel20 + // + this.xrLabel20.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel20.LocationFloat = new DevExpress.Utils.PointFloat(9.999974F, 8.416748F); + this.xrLabel20.Multiline = true; + this.xrLabel20.Name = "xrLabel20"; + this.xrLabel20.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel20.SizeF = new System.Drawing.SizeF(137.4999F, 19.79166F); + this.xrLabel20.StylePriority.UseFont = false; + this.xrLabel20.Text = "Anzahl Sendungen"; + // + // xrLabel17 + // + this.xrLabel17.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(499.7915F, 58.41675F); + this.xrLabel17.Multiline = true; + this.xrLabel17.Name = "xrLabel17"; + this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel17.SizeF = new System.Drawing.SizeF(240F, 19.79F); + this.xrLabel17.StylePriority.UseFont = false; + this.xrLabel17.Text = "Tour-Nr. Abholfahrer:"; + // + // xrShape2 + // + this.xrShape2.FillColor = System.Drawing.Color.Gainsboro; + this.xrShape2.LocationFloat = new DevExpress.Utils.PointFloat(499.7915F, 78.20841F); + this.xrShape2.Name = "xrShape2"; + this.xrShape2.Shape = shapeRectangle1; + this.xrShape2.SizeF = new System.Drawing.SizeF(240F, 48.25F); + // + // xrShape1 + // + this.xrShape1.FillColor = System.Drawing.Color.Gainsboro; + this.xrShape1.LocationFloat = new DevExpress.Utils.PointFloat(750F, 78.20841F); + this.xrShape1.Name = "xrShape1"; + this.xrShape1.Shape = shapeRectangle2; + this.xrShape1.SizeF = new System.Drawing.SizeF(240F, 48.25F); + // + // xrLabel7 + // + this.xrLabel7.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(750F, 58.41675F); + this.xrLabel7.Multiline = true; + this.xrLabel7.Name = "xrLabel7"; + this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel7.SizeF = new System.Drawing.SizeF(240F, 19.79F); + this.xrLabel7.StylePriority.UseFont = false; + this.xrLabel7.Text = "Unterschrift Abholfahrer:"; + // + // xrLine2 + // + this.xrLine2.BorderWidth = 1F; + this.xrLine2.LineWidth = 2F; + this.xrLine2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 1.12505F); + this.xrLine2.Name = "xrLine2"; + this.xrLine2.SizeF = new System.Drawing.SizeF(1000F, 7.291664F); + this.xrLine2.StylePriority.UseBorderWidth = false; + // + // objectDataSource1 + // + this.objectDataSource1.DataMember = "Orders"; + this.objectDataSource1.DataSource = typeof(ReportViewer.ReportData); + this.objectDataSource1.Name = "objectDataSource1"; + // + // ReportFooter + // + this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLabel35, + this.xrLabel34, + this.xrLabel33, + this.xrLabel32, + this.xrLine2, + this.xrLabel21, + this.xrLabel20, + this.xrLabel17, + this.xrShape2, + this.xrLabel7, + this.xrShape1}); + this.ReportFooter.HeightF = 136.4584F; + this.ReportFooter.KeepTogether = true; + this.ReportFooter.Name = "ReportFooter"; + this.ReportFooter.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBandExceptLastEntry; + this.ReportFooter.PrintAtBottom = true; + // + // xrLabel35 + // + this.xrLabel35.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "Round(sumSum([WeightAmount]), 2) + \' kg\'")}); + this.xrLabel35.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel35.LocationFloat = new DevExpress.Utils.PointFloat(926.0417F, 8.416684F); + this.xrLabel35.Multiline = true; + this.xrLabel35.Name = "xrLabel35"; + this.xrLabel35.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel35.SizeF = new System.Drawing.SizeF(73.95819F, 19.79166F); + this.xrLabel35.StylePriority.UseFont = false; + xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Report; + this.xrLabel35.Summary = xrSummary1; + this.xrLabel35.Text = "0"; + // + // xrLabel34 + // + this.xrLabel34.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel34.LocationFloat = new DevExpress.Utils.PointFloat(794.7909F, 8.416684F); + this.xrLabel34.Multiline = true; + this.xrLabel34.Name = "xrLabel34"; + this.xrLabel34.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel34.SizeF = new System.Drawing.SizeF(131.2501F, 19.79166F); + this.xrLabel34.StylePriority.UseFont = false; + this.xrLabel34.Text = "Summe Gewicht:"; + // + // xrLabel33 + // + this.xrLabel33.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "sumSum([ShipmentIdentifiersAmount])")}); + this.xrLabel33.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel33.LocationFloat = new DevExpress.Utils.PointFloat(358.3333F, 8.416684F); + this.xrLabel33.Multiline = true; + this.xrLabel33.Name = "xrLabel33"; + this.xrLabel33.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel33.SizeF = new System.Drawing.SizeF(62.49988F, 19.79166F); + this.xrLabel33.StylePriority.UseFont = false; + xrSummary2.Running = DevExpress.XtraReports.UI.SummaryRunning.Report; + this.xrLabel33.Summary = xrSummary2; + this.xrLabel33.Text = "0"; + // + // xrLabel32 + // + this.xrLabel32.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel32.LocationFloat = new DevExpress.Utils.PointFloat(242.7084F, 8.416684F); + this.xrLabel32.Multiline = true; + this.xrLabel32.Name = "xrLabel32"; + this.xrLabel32.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel32.SizeF = new System.Drawing.SizeF(115.6249F, 19.79166F); + this.xrLabel32.StylePriority.UseFont = false; + this.xrLabel32.Text = "Summe Kolli:"; + // + // ReportHeader + // + this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLabel30, + this.xrLabel29, + this.xrLabel28, + this.xrLabel26, + this.xrLabel27, + this.xrLabel25, + this.xrLabel24, + this.xrLabel23, + this.xrLabel22, + this.XrLabel9, + this.XrLabel10}); + this.ReportHeader.HeightF = 171.7083F; + this.ReportHeader.Name = "ReportHeader"; + // + // xrLabel30 + // + this.xrLabel30.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Head].[Title]")}); + this.xrLabel30.Font = new System.Drawing.Font("Arial", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel30.KeepTogether = true; + this.xrLabel30.LocationFloat = new DevExpress.Utils.PointFloat(9.999974F, 10.00001F); + this.xrLabel30.Multiline = true; + this.xrLabel30.Name = "xrLabel30"; + this.xrLabel30.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel30.SizeF = new System.Drawing.SizeF(591.8748F, 39.58332F); + this.xrLabel30.StylePriority.UseFont = false; + this.xrLabel30.Text = "XrLabel14"; + // + // xrLabel29 + // + this.xrLabel29.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel29.LocationFloat = new DevExpress.Utils.PointFloat(719.3753F, 82.91664F); + this.xrLabel29.Name = "xrLabel29"; + this.xrLabel29.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel29.SizeF = new System.Drawing.SizeF(270.6246F, 19.79166F); + this.xrLabel29.StylePriority.UseFont = false; + this.xrLabel29.Text = "Empfänger:"; + // + // xrLabel28 + // + this.xrLabel28.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Head].[Receiver].[Complete]")}); + this.xrLabel28.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel28.KeepTogether = true; + this.xrLabel28.LocationFloat = new DevExpress.Utils.PointFloat(719.3753F, 102.7083F); + this.xrLabel28.Multiline = true; + this.xrLabel28.Name = "xrLabel28"; + this.xrLabel28.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel28.SizeF = new System.Drawing.SizeF(270.6247F, 68.99997F); + this.xrLabel28.StylePriority.UseFont = false; + this.xrLabel28.Text = "XrLabel14"; + // + // xrLabel26 + // + this.xrLabel26.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel26.LocationFloat = new DevExpress.Utils.PointFloat(809.3745F, 49.58332F); + this.xrLabel26.Multiline = true; + this.xrLabel26.Name = "xrLabel26"; + this.xrLabel26.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel26.SizeF = new System.Drawing.SizeF(73.95831F, 19.79166F); + this.xrLabel26.StylePriority.UseFont = false; + this.xrLabel26.Text = "Lfd Nr.:"; + // + // xrLabel27 + // + this.xrLabel27.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel27.LocationFloat = new DevExpress.Utils.PointFloat(902.4996F, 49.58333F); + this.xrLabel27.Multiline = true; + this.xrLabel27.Name = "xrLabel27"; + this.xrLabel27.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel27.SizeF = new System.Drawing.SizeF(87.50024F, 19.79166F); + this.xrLabel27.StylePriority.UseFont = false; + this.xrLabel27.StylePriority.UseTextAlignment = false; + this.xrLabel27.Text = "101743380"; + this.xrLabel27.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + // + // xrLabel25 + // + this.xrLabel25.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel25.LocationFloat = new DevExpress.Utils.PointFloat(9.999974F, 102.7083F); + this.xrLabel25.Multiline = true; + this.xrLabel25.Name = "xrLabel25"; + this.xrLabel25.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel25.SizeF = new System.Drawing.SizeF(295.8333F, 68.75001F); + this.xrLabel25.StylePriority.UseFont = false; + this.xrLabel25.Text = "Reinhard Schaum\r\nRheinstraße 8\r\nD-35625 Hüttenberg - Hochelheim"; + // + // xrLabel24 + // + this.xrLabel24.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel24.LocationFloat = new DevExpress.Utils.PointFloat(10.00001F, 82.91664F); + this.xrLabel24.Name = "xrLabel24"; + this.xrLabel24.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel24.SizeF = new System.Drawing.SizeF(295.8333F, 19.79166F); + this.xrLabel24.StylePriority.UseFont = false; + this.xrLabel24.Text = "Absender:"; + // + // xrLabel23 + // + this.xrLabel23.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel23.LocationFloat = new DevExpress.Utils.PointFloat(902.4996F, 29.79167F); + this.xrLabel23.Multiline = true; + this.xrLabel23.Name = "xrLabel23"; + this.xrLabel23.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel23.SizeF = new System.Drawing.SizeF(87.50024F, 19.79166F); + this.xrLabel23.StylePriority.UseFont = false; + this.xrLabel23.StylePriority.UseTextAlignment = false; + this.xrLabel23.Text = "15:05:23"; + this.xrLabel23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + // + // xrLabel22 + // + this.xrLabel22.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel22.LocationFloat = new DevExpress.Utils.PointFloat(809.3745F, 29.79167F); + this.xrLabel22.Multiline = true; + this.xrLabel22.Name = "xrLabel22"; + this.xrLabel22.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel22.SizeF = new System.Drawing.SizeF(73.95831F, 19.79166F); + this.xrLabel22.StylePriority.UseFont = false; + this.xrLabel22.Text = "Uhrzeit:"; + // + // PageHeader + // + this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLine1, + this.xrLabel15, + this.XrLabel4, + this.xrLabel6, + this.XrLabel18, + this.XrLabel1, + this.XrLabel2, + this.XrLabel3, + this.xrLine3}); + this.PageHeader.HeightF = 29.08339F; + this.PageHeader.Name = "PageHeader"; + // + // ReportTemplate + // + this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail, + this.TopMargin, + this.BottomMargin, + this.ReportFooter, + this.ReportHeader, + this.PageHeader}); + this.ComponentStorage.AddRange(new System.ComponentModel.IComponent[] { + this.objectDataSource1}); + this.Landscape = true; + this.Margins = new System.Drawing.Printing.Margins(50, 50, 0, 80); + this.PageHeight = 850; + this.PageWidth = 1100; + this.Version = "22.1"; + ((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); + + } + + #endregion + + private DevExpress.XtraReports.UI.DetailBand Detail; + private DevExpress.XtraReports.UI.TopMarginBand TopMargin; + private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin; + private DevExpress.XtraReports.UI.XRLabel XrLabel12; + private DevExpress.XtraReports.UI.XRLabel XrLabel11; + private DevExpress.XtraReports.UI.XRLabel XrLabel13; + private DevExpress.XtraReports.UI.XRLabel XrLabel19; + private DevExpress.XtraReports.UI.XRLabel XrLabel9; + private DevExpress.XtraReports.UI.XRLabel XrLabel10; + private DevExpress.XtraReports.UI.XRLabel XrLabel1; + private DevExpress.XtraReports.UI.XRLabel XrLabel2; + private DevExpress.XtraReports.UI.XRLabel XrLabel3; + private DevExpress.XtraReports.UI.XRLabel XrLabel4; + private DevExpress.XtraReports.UI.XRLabel XrLabel18; + private DevExpress.DataAccess.ObjectBinding.ObjectDataSource objectDataSource1; + private DevExpress.XtraReports.UI.XRLine xrLine1; + private DevExpress.XtraReports.UI.XRLabel xrLabel5; + private DevExpress.XtraReports.UI.XRLabel xrLabel6; + private DevExpress.XtraReports.UI.XRLabel xrLabel7; + private DevExpress.XtraReports.UI.XRLine xrLine2; + private DevExpress.XtraReports.UI.XRLine xrLine3; + private DevExpress.XtraReports.UI.XRLabel xrLabel21; + private DevExpress.XtraReports.UI.XRLabel xrLabel20; + private DevExpress.XtraReports.UI.XRLabel xrLabel17; + private DevExpress.XtraReports.UI.XRShape xrShape2; + private DevExpress.XtraReports.UI.XRShape xrShape1; + private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter; + private DevExpress.XtraReports.UI.XRLabel XrLabel14; + private DevExpress.XtraReports.UI.XRLabel xrLabel16; + private DevExpress.XtraReports.UI.XRLabel xrLabel15; + private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader; + private DevExpress.XtraReports.UI.PageHeaderBand PageHeader; + private DevExpress.XtraReports.UI.XRLabel xrLabel23; + private DevExpress.XtraReports.UI.XRLabel xrLabel22; + private DevExpress.XtraReports.UI.XRLabel xrLabel26; + private DevExpress.XtraReports.UI.XRLabel xrLabel27; + private DevExpress.XtraReports.UI.XRLabel xrLabel25; + private DevExpress.XtraReports.UI.XRLabel xrLabel24; + private DevExpress.XtraReports.UI.XRLabel xrLabel29; + private DevExpress.XtraReports.UI.XRLabel xrLabel28; + private DevExpress.XtraReports.UI.XRLabel xrLabel30; + private DevExpress.XtraReports.UI.XRLabel xrLabel8; + private DevExpress.XtraReports.UI.XRLabel xrLabel31; + private DevExpress.XtraReports.UI.XRLine xrLine4; + private DevExpress.XtraReports.UI.XRLabel xrLabel33; + private DevExpress.XtraReports.UI.XRLabel xrLabel32; + private DevExpress.XtraReports.UI.XRLabel xrLabel35; + private DevExpress.XtraReports.UI.XRLabel xrLabel34; + } +} diff --git a/ReportViewer/ReportTemplate.cs b/ReportViewer/ReportTemplate.cs new file mode 100644 index 0000000..ebba26c --- /dev/null +++ b/ReportViewer/ReportTemplate.cs @@ -0,0 +1,16 @@ +using DevExpress.XtraReports.UI; +using System; +using System.Collections; +using System.ComponentModel; +using System.Drawing; + +namespace ReportViewer +{ + public partial class ReportTemplate : DevExpress.XtraReports.UI.XtraReport + { + public ReportTemplate() + { + InitializeComponent(); + } + } +} diff --git a/ReportViewer/ReportTemplate.resx b/ReportViewer/ReportTemplate.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/ReportViewer/ReportTemplate.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ReportViewer/ReportViewer.csproj b/ReportViewer/ReportViewer.csproj new file mode 100644 index 0000000..5327198 --- /dev/null +++ b/ReportViewer/ReportViewer.csproj @@ -0,0 +1,35 @@ + + + + WinExe + net6.0-windows + enable + true + enable + Digital Data + Report Viewer + ReportViewer.Program + + + + + + + + + + + ..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll + + + ..\..\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll + + + ..\..\DDModules\Interfaces\bin\Debug\DigitalData.Modules.Language.dll + + + ..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll + + + + \ No newline at end of file diff --git a/ReportViewer/UILoader.cs b/ReportViewer/UILoader.cs new file mode 100644 index 0000000..1d66ede --- /dev/null +++ b/ReportViewer/UILoader.cs @@ -0,0 +1,24 @@ +using DigitalData.Modules.Logging; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ReportViewer +{ + internal class UILoader + { + public LogConfig LogConfig { get; } + public Config Config { get; } + + + public UILoader(LogConfig logConfig, Config config) + { + LogConfig = logConfig; + Config = config; + } + + + } +} diff --git a/ReportViewer/frmMain.Designer.cs b/ReportViewer/frmMain.Designer.cs new file mode 100644 index 0000000..c8f1fb7 --- /dev/null +++ b/ReportViewer/frmMain.Designer.cs @@ -0,0 +1,316 @@ +namespace ReportViewer +{ + partial class FrmMain + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain)); + ribbon = new DevExpress.XtraBars.Ribbon.RibbonControl(); + barButtonItem1 = new DevExpress.XtraBars.BarButtonItem(); + checkHP = new DevExpress.XtraBars.BarCheckItem(); + checkGLS = new DevExpress.XtraBars.BarCheckItem(); + checkSample = new DevExpress.XtraBars.BarCheckItem(); + barButtonItem2 = new DevExpress.XtraBars.BarButtonItem(); + btnOpenLogDirectory = new DevExpress.XtraBars.BarButtonItem(); + checkDebug = new DevExpress.XtraBars.BarCheckItem(); + ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage(); + ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); + ribbonPageGroup2 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); + ribbonPageGroup3 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); + ribbonPage2 = new DevExpress.XtraBars.Ribbon.RibbonPage(); + ribbonPageGroup4 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); + ribbonPageGroup5 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); + ribbonStatusBar = new DevExpress.XtraBars.Ribbon.RibbonStatusBar(); + sidePanel1 = new DevExpress.XtraEditors.SidePanel(); + layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + dateEdit1 = new DevExpress.XtraEditors.DateEdit(); + Root = new DevExpress.XtraLayout.LayoutControlGroup(); + layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + documentViewer1 = new DevExpress.XtraPrinting.Preview.DocumentViewer(); + barButtonItem3 = new DevExpress.XtraBars.BarButtonItem(); + ((System.ComponentModel.ISupportInitialize)ribbon).BeginInit(); + sidePanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)layoutControl1).BeginInit(); + layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dateEdit1.Properties.CalendarTimeProperties).BeginInit(); + ((System.ComponentModel.ISupportInitialize)dateEdit1.Properties).BeginInit(); + ((System.ComponentModel.ISupportInitialize)Root).BeginInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem1).BeginInit(); + SuspendLayout(); + // + // ribbon + // + ribbon.ExpandCollapseItem.Id = 0; + ribbon.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbon.ExpandCollapseItem, ribbon.SearchEditItem, barButtonItem1, checkHP, checkGLS, checkSample, barButtonItem2, btnOpenLogDirectory, checkDebug, barButtonItem3 }); + ribbon.Location = new Point(0, 0); + ribbon.MaxItemId = 9; + ribbon.Name = "ribbon"; + ribbon.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage1, ribbonPage2 }); + ribbon.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False; + ribbon.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Show; + ribbon.ShowToolbarCustomizeItem = false; + ribbon.Size = new Size(990, 158); + ribbon.StatusBar = ribbonStatusBar; + ribbon.Toolbar.ShowCustomizeItem = false; + ribbon.Click += ribbon_Click; + // + // barButtonItem1 + // + barButtonItem1.Caption = "Protokoll erstellen"; + barButtonItem1.Id = 1; + barButtonItem1.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barButtonItem1.ImageOptions.SvgImage"); + barButtonItem1.Name = "barButtonItem1"; + barButtonItem1.ItemClick += BarButtonItem1_ItemClick; + // + // checkHP + // + checkHP.BindableChecked = true; + checkHP.Caption = "Hellmold + Plank"; + checkHP.Checked = true; + checkHP.GroupIndex = 1; + checkHP.Id = 2; + checkHP.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("checkHP.ImageOptions.SvgImage"); + checkHP.Name = "checkHP"; + // + // checkGLS + // + checkGLS.Caption = "GLS"; + checkGLS.GroupIndex = 1; + checkGLS.Id = 3; + checkGLS.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("checkGLS.ImageOptions.SvgImage"); + checkGLS.Name = "checkGLS"; + // + // checkSample + // + checkSample.Caption = "Sample Provider"; + checkSample.GroupIndex = 1; + checkSample.Id = 4; + checkSample.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("checkSample.ImageOptions.SvgImage"); + checkSample.Name = "checkSample"; + checkSample.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; + // + // barButtonItem2 + // + barButtonItem2.Caption = "Protokoll drucken"; + barButtonItem2.Enabled = false; + barButtonItem2.Id = 5; + barButtonItem2.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barButtonItem2.ImageOptions.SvgImage"); + barButtonItem2.Name = "barButtonItem2"; + barButtonItem2.ItemClick += barButtonItem2_ItemClick; + // + // btnOpenLogDirectory + // + btnOpenLogDirectory.Caption = "Logverzeichnis öffnen"; + btnOpenLogDirectory.Id = 6; + btnOpenLogDirectory.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnOpenLogDirectory.ImageOptions.SvgImage"); + btnOpenLogDirectory.Name = "btnOpenLogDirectory"; + btnOpenLogDirectory.ItemClick += btnOpenLogDirectory_ItemClick; + // + // checkDebug + // + checkDebug.Caption = "Debug aktivieren"; + checkDebug.Id = 7; + checkDebug.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("checkDebug.ImageOptions.SvgImage"); + checkDebug.Name = "checkDebug"; + checkDebug.CheckedChanged += checkDebug_CheckedChanged; + // + // ribbonPage1 + // + ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribbonPageGroup1, ribbonPageGroup2, ribbonPageGroup3 }); + ribbonPage1.Name = "ribbonPage1"; + ribbonPage1.Text = "Start"; + // + // ribbonPageGroup1 + // + ribbonPageGroup1.ItemLinks.Add(barButtonItem1); + ribbonPageGroup1.Name = "ribbonPageGroup1"; + ribbonPageGroup1.Text = "Start"; + // + // ribbonPageGroup2 + // + ribbonPageGroup2.ItemLinks.Add(checkHP); + ribbonPageGroup2.ItemLinks.Add(checkGLS); + ribbonPageGroup2.ItemLinks.Add(checkSample); + ribbonPageGroup2.Name = "ribbonPageGroup2"; + ribbonPageGroup2.Text = "Dienstleister"; + // + // ribbonPageGroup3 + // + ribbonPageGroup3.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far; + ribbonPageGroup3.ItemLinks.Add(barButtonItem2, true); + ribbonPageGroup3.Name = "ribbonPageGroup3"; + ribbonPageGroup3.Text = "Ausgabe"; + // + // ribbonPage2 + // + ribbonPage2.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribbonPageGroup4, ribbonPageGroup5 }); + ribbonPage2.Name = "ribbonPage2"; + ribbonPage2.Text = "Erweitert"; + // + // ribbonPageGroup4 + // + ribbonPageGroup4.ItemLinks.Add(btnOpenLogDirectory); + ribbonPageGroup4.ItemLinks.Add(barButtonItem3); + ribbonPageGroup4.Name = "ribbonPageGroup4"; + ribbonPageGroup4.Text = "Verzeichnisse"; + // + // ribbonPageGroup5 + // + ribbonPageGroup5.ItemLinks.Add(checkDebug); + ribbonPageGroup5.Name = "ribbonPageGroup5"; + ribbonPageGroup5.Text = "Debug"; + // + // ribbonStatusBar + // + ribbonStatusBar.Location = new Point(0, 529); + ribbonStatusBar.Name = "ribbonStatusBar"; + ribbonStatusBar.Ribbon = ribbon; + ribbonStatusBar.Size = new Size(990, 24); + // + // sidePanel1 + // + sidePanel1.Controls.Add(layoutControl1); + sidePanel1.Dock = DockStyle.Left; + sidePanel1.Location = new Point(0, 158); + sidePanel1.Name = "sidePanel1"; + sidePanel1.Size = new Size(198, 371); + sidePanel1.TabIndex = 2; + sidePanel1.Text = "sidePanel1"; + // + // layoutControl1 + // + layoutControl1.Controls.Add(dateEdit1); + layoutControl1.Dock = DockStyle.Fill; + layoutControl1.Location = new Point(0, 0); + layoutControl1.Name = "layoutControl1"; + layoutControl1.Root = Root; + layoutControl1.Size = new Size(197, 371); + layoutControl1.TabIndex = 0; + layoutControl1.Text = "layoutControl1"; + // + // dateEdit1 + // + dateEdit1.EditValue = null; + dateEdit1.Location = new Point(12, 28); + dateEdit1.MenuManager = ribbon; + dateEdit1.Name = "dateEdit1"; + dateEdit1.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) }); + dateEdit1.Properties.CalendarTimeProperties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) }); + dateEdit1.Size = new Size(173, 20); + dateEdit1.StyleController = layoutControl1; + dateEdit1.TabIndex = 4; + // + // Root + // + Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + Root.GroupBordersVisible = false; + Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1 }); + Root.Name = "Root"; + Root.Size = new Size(197, 371); + Root.TextVisible = false; + // + // layoutControlItem1 + // + layoutControlItem1.Control = dateEdit1; + layoutControlItem1.Location = new Point(0, 0); + layoutControlItem1.Name = "layoutControlItem1"; + layoutControlItem1.Size = new Size(177, 351); + layoutControlItem1.Text = "Datum"; + layoutControlItem1.TextLocation = DevExpress.Utils.Locations.Top; + layoutControlItem1.TextSize = new Size(31, 13); + // + // documentViewer1 + // + documentViewer1.Dock = DockStyle.Fill; + documentViewer1.IsMetric = true; + documentViewer1.Location = new Point(198, 158); + documentViewer1.Name = "documentViewer1"; + documentViewer1.Size = new Size(792, 371); + documentViewer1.TabIndex = 3; + // + // barButtonItem3 + // + barButtonItem3.Caption = "Konfigurations Verzeichnis öffnen"; + barButtonItem3.Id = 8; + barButtonItem3.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barButtonItem3.ImageOptions.SvgImage"); + barButtonItem3.Name = "barButtonItem3"; + barButtonItem3.ItemClick += barButtonItem3_ItemClick; + // + // FrmMain + // + AutoScaleDimensions = new SizeF(6F, 13F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(990, 553); + Controls.Add(documentViewer1); + Controls.Add(sidePanel1); + Controls.Add(ribbonStatusBar); + Controls.Add(ribbon); + IconOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("FrmMain.IconOptions.SvgImage"); + Name = "FrmMain"; + Ribbon = ribbon; + StatusBar = ribbonStatusBar; + Text = "ReportViewer"; + Load += FrmMain_Load; + ((System.ComponentModel.ISupportInitialize)ribbon).EndInit(); + sidePanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)layoutControl1).EndInit(); + layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dateEdit1.Properties.CalendarTimeProperties).EndInit(); + ((System.ComponentModel.ISupportInitialize)dateEdit1.Properties).EndInit(); + ((System.ComponentModel.ISupportInitialize)Root).EndInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem1).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private DevExpress.XtraBars.Ribbon.RibbonControl ribbon; + private DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage1; + private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup1; + private DevExpress.XtraBars.Ribbon.RibbonStatusBar ribbonStatusBar; + private DevExpress.XtraEditors.SidePanel sidePanel1; + private DevExpress.XtraPrinting.Preview.DocumentViewer documentViewer1; + private DevExpress.XtraBars.BarButtonItem barButtonItem1; + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraEditors.DateEdit dateEdit1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraBars.BarCheckItem checkHP; + private DevExpress.XtraBars.BarCheckItem checkGLS; + private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup2; + private DevExpress.XtraBars.BarCheckItem checkSample; + private DevExpress.XtraBars.BarButtonItem barButtonItem2; + private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup3; + private DevExpress.XtraBars.BarButtonItem btnOpenLogDirectory; + private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup4; + private DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage2; + private DevExpress.XtraBars.BarCheckItem checkDebug; + private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup5; + private DevExpress.XtraBars.BarButtonItem barButtonItem3; + } +} \ No newline at end of file diff --git a/ReportViewer/frmMain.cs b/ReportViewer/frmMain.cs new file mode 100644 index 0000000..3b04a1d --- /dev/null +++ b/ReportViewer/frmMain.cs @@ -0,0 +1,177 @@ +using DigitalData.Modules.Logging; +using DigitalData.Modules.Config; +using DigitalData.Modules.Database; + +namespace ReportViewer +{ + public partial class FrmMain : DevExpress.XtraBars.Ribbon.RibbonForm + { + private readonly LogConfig logConfig; + private readonly Logger logger; + private ConfigManager? configManager; + private MSSQLServer? database; + private ReportDataLoader? loader; + private bool formLoading = false; + + public FrmMain() + { + InitializeComponent(); + + logConfig = new LogConfig(new LogOptions() + { + LogPath = LogConfig.PathType.AppData, + CustomLogPath = Application.LocalUserAppDataPath, + CompanyName = Application.CompanyName, + ProductName = Application.ProductName + }); + logger = logConfig.GetLogger(); + } + + + private void FrmMain_Load(object sender, EventArgs e) + { + try + { + formLoading = true; + + configManager = new ConfigManager(logConfig, Application.UserAppDataPath); + database = new MSSQLServer(logConfig, configManager.Config.ConnectionString); + loader = new ReportDataLoader(logConfig, configManager.Config, database, documentViewer1); + + configManager.Config.Providers = configManager.Config.Providers.DistinctBy(p => p.Type).ToList(); + configManager.Save(); + + var debug = configManager.Config.Debug; + logConfig.Debug = debug; + checkDebug.Checked = debug; + DebugChanged(debug); + } + catch (Exception ex) + { + logger.Error(ex); + } + finally + { + formLoading = false; + } + } + + private void BarButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + try + { + Config.ServiceProvider provider = null; + + if (loader == null) + return; + + if (checkHP.Checked) + provider = configManager.Config.Providers.Where(p => p.Type == Config.ServiceProviderType.HellmoldPlank).First(); + + if (checkGLS.Checked) + provider = configManager.Config.Providers.Where(p => p.Type == Config.ServiceProviderType.GLS).First(); + + if (checkSample.Checked) + provider = configManager.Config.Providers.Where(p => p.Type == Config.ServiceProviderType.Sample).First(); + + if (provider == null) + { + MessageBox.Show("Bitte wählen Sie einen Dienstleister aus!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + return; + } + + DateTime? date = null; + + if (dateEdit1.EditValue != null) + date = (DateTime)dateEdit1.EditValue; + + loader.Load(date, provider); + barButtonItem2.Enabled = true; + + } + catch (Exception ex) + { + logger.Error(ex); + } + } + + private void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + try + { + if (loader == null) + return; + + loader.Print(); + } + catch (Exception ex) + { + logger.Error(ex); + } + + } + + private void ribbon_Click(object sender, EventArgs e) + { + + } + + private void btnOpenLogDirectory_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + try + { + var path = logConfig.LogDirectory; + + if (System.IO.Directory.Exists(path)) + { + System.Diagnostics.Process.Start(path); + } + } + catch (Exception ex) + { + logger.Error(ex); + } + } + + private void checkDebug_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (formLoading) + return; + + logConfig.Debug = checkDebug.Checked; + DebugChanged(checkDebug.Checked); + + configManager?.Save(); + } + + private void DebugChanged(bool Debug) + { + if (Debug) + { + checkSample.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; + } + else + { + checkSample.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; + } + } + + private void barButtonItem3_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + try + { + var path = configManager?.UserConfigPath; + var directory = System.IO.Path.GetDirectoryName(path); + + if (System.IO.Directory.Exists(directory)) + { + System.Diagnostics.Process.Start(directory); + } + } + catch (Exception ex) + { + logger.Error(ex); + } + } + } +} \ No newline at end of file diff --git a/ReportViewer/frmMain.resx b/ReportViewer/frmMain.resx new file mode 100644 index 0000000..2eccc38 --- /dev/null +++ b/ReportViewer/frmMain.resx @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKMCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku + WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAz + OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl + Pg0KICA8ZyBpZD0iQ2hlY2tCb3giPg0KICAgIDxwYXRoIGQ9Ik0yNyw0SDVDNC41LDQsNCw0LjUsNCw1 + djIyYzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcuNSw0LDI3LDR6 + IE0xNCwyMmwtNi02bDItMmw0LDQgICBsOC04bDIsMkwxNCwyMnoiIGNsYXNzPSJHcmVlbiIgLz4NCiAg + PC9nPg0KPC9zdmc+Cw== + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIADAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku + WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLlJlZHtmaWxsOiNEMTFD + MUM7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7Zmls + bDojNzI3MjcyO30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuNzU7fQo8L3N0eWxl + Pg0KICA8ZyBpZD0iU2hpcG1lbnQiPg0KICAgIDxwYXRoIGQ9Ik0yOS40LDE1LjRMMjIsOFY3YzAtMC41 + LTAuNS0xLTEtMUgzQzIuNSw2LDIsNi41LDIsN3YxNGMwLDAuNSwwLjUsMSwxLDFoMWMwLDIuMiwxLjgs + NCw0LDRzNC0xLjgsNC00aDRoNCAgIGMwLDIuMiwxLjgsNCw0LDRzNC0xLjgsNC00aDJ2LTJ2LTJ2LTEu + MkMzMCwxNi4zLDI5LjgsMTUuOCwyOS40LDE1LjR6IE04LDI0Yy0xLjEsMC0yLTAuOS0yLTJjMC0xLjEs + MC45LTIsMi0yczIsMC45LDIsMiAgIEMxMCwyMy4xLDkuMSwyNCw4LDI0eiBNMjQsMjRjLTEuMSwwLTIt + MC45LTItMmMwLTEuMSwwLjktMiwyLTJzMiwwLjksMiwyQzI2LDIzLjEsMjUuMSwyNCwyNCwyNHogTTIy + LDE2di01LjJsNS4yLDUuMkgyMnoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIADAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku + WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLlJlZHtmaWxsOiNEMTFD + MUM7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7Zmls + bDojNzI3MjcyO30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuNzU7fQo8L3N0eWxl + Pg0KICA8ZyBpZD0iU2hpcG1lbnQiPg0KICAgIDxwYXRoIGQ9Ik0yOS40LDE1LjRMMjIsOFY3YzAtMC41 + LTAuNS0xLTEtMUgzQzIuNSw2LDIsNi41LDIsN3YxNGMwLDAuNSwwLjUsMSwxLDFoMWMwLDIuMiwxLjgs + NCw0LDRzNC0xLjgsNC00aDRoNCAgIGMwLDIuMiwxLjgsNCw0LDRzNC0xLjgsNC00aDJ2LTJ2LTJ2LTEu + MkMzMCwxNi4zLDI5LjgsMTUuOCwyOS40LDE1LjR6IE04LDI0Yy0xLjEsMC0yLTAuOS0yLTJjMC0xLjEs + MC45LTIsMi0yczIsMC45LDIsMiAgIEMxMCwyMy4xLDkuMSwyNCw4LDI0eiBNMjQsMjRjLTEuMSwwLTIt + MC45LTItMmMwLTEuMSwwLjktMiwyLTJzMiwwLjksMiwyQzI2LDIzLjEsMjUuMSwyNCwyNCwyNHogTTIy + LDE2di01LjJsNS4yLDUuMkgyMnoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIADAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku + WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLlJlZHtmaWxsOiNEMTFD + MUM7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7Zmls + bDojNzI3MjcyO30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuNzU7fQo8L3N0eWxl + Pg0KICA8ZyBpZD0iU2hpcG1lbnQiPg0KICAgIDxwYXRoIGQ9Ik0yOS40LDE1LjRMMjIsOFY3YzAtMC41 + LTAuNS0xLTEtMUgzQzIuNSw2LDIsNi41LDIsN3YxNGMwLDAuNSwwLjUsMSwxLDFoMWMwLDIuMiwxLjgs + NCw0LDRzNC0xLjgsNC00aDRoNCAgIGMwLDIuMiwxLjgsNCw0LDRzNC0xLjgsNC00aDJ2LTJ2LTJ2LTEu + MkMzMCwxNi4zLDI5LjgsMTUuOCwyOS40LDE1LjR6IE04LDI0Yy0xLjEsMC0yLTAuOS0yLTJjMC0xLjEs + MC45LTIsMi0yczIsMC45LDIsMiAgIEMxMCwyMy4xLDkuMSwyNCw4LDI0eiBNMjQsMjRjLTEuMSwwLTIt + MC45LTItMmMwLTEuMSwwLjktMiwyLTJzMiwwLjksMiwyQzI2LDIzLjEsMjUuMSwyNCwyNCwyNHogTTIy + LDE2di01LjJsNS4yLDUuMkgyMnoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAEcCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iUXVpY2tfUHJpbnQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcg + MCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbGFja3tmaWxsOiM3MjcyNzI7 + fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMTAsMmgxMnY4aDJWMEg4djEwaDJWMnogTTI4LDhoLTJ2M2Mw + LDAuNi0wLjQsMS0xLDFIN2MtMC42LDAtMS0wLjQtMS0xVjhINGMtMS4xLDAtMiwwLjktMiwydjEyICBj + MCwxLjEsMC45LDIsMiwyaDR2NmgxNnYtNmg0YzEuMSwwLDItMC45LDItMlYxMEMzMCw4LjksMjkuMSw4 + LDI4LDh6IE0yMiwyMnYydjRIMTB2LTR2LTJ2LTRoMTJWMjJ6IE0yMCwyNGgtOHYyaDhWMjR6IE0yMCwy + MGgtOHYyICBoOFYyMHoiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAMDAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iT3BlbjIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMy + IDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5HcmVlbntmaWxsOiMwMzlDMjM7fQoJLlll + bGxvd3tmaWxsOiNGRkIxMTU7fQoJLnN0MHtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBjbGFz + cz0ic3QwIj4NCiAgICA8cGF0aCBkPSJNMTkuMiwxMEgxMlY3YzAtMC42LTAuNC0xLTEtMUgzQzIuNCw2 + LDIsNi41LDIsN3YxOGMwLDAuMiwwLDAuMywwLjEsMC40YzAsMCwwLjEtMC4xLDAuMS0wLjJsNS41LTEw + ICAgQzgsMTQuNSw4LjcsMTQsOS41LDE0aDEzLjdMMTkuMiwxMHoiIGNsYXNzPSJZZWxsb3ciIC8+DQog + IDwvZz4NCiAgPHBhdGggZD0iTTI5LjMsMTZIOS42TDQsMjZoMTkuOGMwLjUsMCwxLjEtMC4yLDEuMy0w + LjZsNC45LTguOUMzMC4xLDE2LjIsMjkuOCwxNiwyOS4zLDE2eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAg + PHBhdGggZD0iTTI4LDhjMC0zLjMtMi43LTYtNi02cy02LDIuNy02LDZjMC0yLjIsMS44LTQsNC00czQs + MS44LDQsNGgtNGw2LDZsNi02SDI4eiIgY2xhc3M9IkdyZWVuIiAvPg0KPC9zdmc+Cw== + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALsEAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku + UmVke2ZpbGw6I0QxMUMxQzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuR3JlZW57ZmlsbDojMDM5 + QzIzO30KPC9zdHlsZT4NCiAgPGcgaWQ9IkJ1ZyI+DQogICAgPHBhdGggZD0iTTI3LDIwYzAuNiwwLDEt + MC40LDEtMWMwLTAuNi0wLjQtMS0xLTFoLTNjMC0wLjctMC4xLTEuNC0wLjMtMmgxLjdsMi4zLTIuM2Mw + LjQtMC40LDAuNC0xLDAtMS40ICAgcy0xLTAuNC0xLjQsMEwyNC42LDE0aC0xLjVjLTAuMy0wLjctMC42 + LTEuNC0wLjktMmgtMC4ySDE2aC01LjlIOS44Yy0wLjQsMC42LTAuNywxLjMtMC45LDJINy40bC0xLjct + MS43Yy0wLjQtMC40LTEtMC40LTEuNCwwICAgcy0wLjQsMSwwLDEuNEw2LjYsMTZoMS43Yy0wLjEsMC42 + LTAuMiwxLjMtMC4zLDJINWMtMC42LDAtMSwwLjQtMSwxYzAsMC42LDAuNCwxLDEsMWgzYzAsMC43LDAu + MSwxLjQsMC4zLDJINi42bC0yLjMsMi4zICAgYy0wLjQsMC40LTAuNCwxLDAsMS40czEsMC40LDEuNCww + TDcuNCwyNGgxLjVjMS4zLDMuNiw0LDYsNy4xLDZzNS44LTIuNCw3LjEtNmgxLjVsMS43LDEuN2MwLjQs + MC40LDEsMC40LDEuNCwwczAuNC0xLDAtMS40ICAgTDI1LjQsMjJoLTEuN2MwLjEtMC42LDAuMi0xLjMs + MC4zLTJIMjd6IiBjbGFzcz0iQmxhY2siIC8+DQogICAgPHBhdGggZD0iTTE5LjksNS41QzE5LjksNS41 + LDE5LjksNS41LDE5LjksNS41bDEuOC0xLjhjMC40LTAuNCwwLjQtMSwwLTEuNHMtMS0wLjQtMS40LDBs + LTIuMSwyLjEgICBDMTcuNSw0LjEsMTYuOCw0LDE2LDRzLTEuNSwwLjEtMi4yLDAuNGwtMi4xLTIuMWMt + MC40LTAuNC0xLTAuNC0xLjQsMHMtMC40LDEsMCwxLjRsMS44LDEuOEMxMC44LDYuNiwxMCw4LjIsMTAs + MTBoMTIgICBDMjIsOC4yLDIxLjIsNi42LDE5LjksNS41eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+ + DQo8L3N2Zz4L + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAMDAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iT3BlbjIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMy + IDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5HcmVlbntmaWxsOiMwMzlDMjM7fQoJLlll + bGxvd3tmaWxsOiNGRkIxMTU7fQoJLnN0MHtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBjbGFz + cz0ic3QwIj4NCiAgICA8cGF0aCBkPSJNMTkuMiwxMEgxMlY3YzAtMC42LTAuNC0xLTEtMUgzQzIuNCw2 + LDIsNi41LDIsN3YxOGMwLDAuMiwwLDAuMywwLjEsMC40YzAsMCwwLjEtMC4xLDAuMS0wLjJsNS41LTEw + ICAgQzgsMTQuNSw4LjcsMTQsOS41LDE0aDEzLjdMMTkuMiwxMHoiIGNsYXNzPSJZZWxsb3ciIC8+DQog + IDwvZz4NCiAgPHBhdGggZD0iTTI5LjMsMTZIOS42TDQsMjZoMTkuOGMwLjUsMCwxLjEtMC4yLDEuMy0w + LjZsNC45LTguOUMzMC4xLDE2LjIsMjkuOCwxNiwyOS4zLDE2eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAg + PHBhdGggZD0iTTI4LDhjMC0zLjMtMi43LTYtNi02cy02LDIuNy02LDZjMC0yLjIsMS44LTQsNC00czQs + MS44LDQsNGgtNGw2LDZsNi02SDI4eiIgY2xhc3M9IkdyZWVuIiAvPg0KPC9zdmc+Cw== + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABIDAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iUHJpbnRMYXlvdXRWaWV3XzFfIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91 + bmQ6bmV3IDAgMCAzMiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmx1ZXtmaWxsOiMx + MTc3RDc7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik02LDZoMTR2 + Mkg2VjZ6IE0xMiwyNEgyVjJoMjJ2MTBoMlYxYzAtMC41LTAuNS0xLTEtMUgxQzAuNSwwLDAsMC41LDAs + MXYyNGMwLDAuNSwwLjUsMSwxLDFoMTFWMjR6IE02LDEyaDEwICBoNHYtMkg2VjEyeiBNNiwyMGg2YzAt + MC43LDAuMi0xLjQsMC42LTJINlYyMHogTTYsMTZoMTB2LTJINlYxNnoiIGNsYXNzPSJCbGFjayIgLz4N + CiAgPHBhdGggZD0iTTI4LDIwdi02SDE4djZoMnYtNGg2djRIMjh6IE0zMCwxOEwzMCwxOHYzYzAsMC42 + LTAuNCwxLTEsMUgxN2MtMC42LDAtMS0wLjQtMS0xdi0zbDAsMCAgYy0xLjEsMC0yLDAuOS0yLDJ2OGMw + LDEuMSwwLjksMiwyLDJoMnYyaDEwdi0yaDJjMS4xLDAsMi0wLjksMi0ydi04QzMyLDE4LjksMzEuMSwx + OCwzMCwxOHogTTI2LDMwaC02di00aDZWMzB6IiBpZD0iUHJpbnQiIGNsYXNzPSJCbHVlIiAvPg0KPC9z + dmc+Cw== + + + \ No newline at end of file diff --git a/SchaumReportViewer.sln b/SchaumReportViewer.sln new file mode 100644 index 0000000..6f554fe --- /dev/null +++ b/SchaumReportViewer.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.4.33213.308 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReportViewer", "ReportViewer\ReportViewer.csproj", "{9C89087E-1129-4728-89EA-F6A7B50F63C3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReportViewer.Test", "ReportViewer.Test\ReportViewer.Test.csproj", "{621FE818-1DB5-4F3B-A40E-5CECE0EEA669}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9C89087E-1129-4728-89EA-F6A7B50F63C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9C89087E-1129-4728-89EA-F6A7B50F63C3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9C89087E-1129-4728-89EA-F6A7B50F63C3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9C89087E-1129-4728-89EA-F6A7B50F63C3}.Release|Any CPU.Build.0 = Release|Any CPU + {621FE818-1DB5-4F3B-A40E-5CECE0EEA669}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {621FE818-1DB5-4F3B-A40E-5CECE0EEA669}.Debug|Any CPU.Build.0 = Debug|Any CPU + {621FE818-1DB5-4F3B-A40E-5CECE0EEA669}.Release|Any CPU.ActiveCfg = Release|Any CPU + {621FE818-1DB5-4F3B-A40E-5CECE0EEA669}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {6745CA20-17D7-442F-BEB3-B0B05AE4E007} + EndGlobalSection +EndGlobal