Projektdateien hinzufügen.

This commit is contained in:
Jonathan Jenne 2023-03-08 09:33:11 +01:00
parent 2e55515b38
commit d1c9aa7383
17 changed files with 2209 additions and 0 deletions

View File

@ -0,0 +1,28 @@
namespace ReportViewer.Test
{
[TestClass]
public class GetLoadingType
{
[TestMethod]
public void TestGetLoadingType()
{
List<string> list1 = new List<string>() { "123", "EP" };
Assert.AreEqual("EP", ReportDataLoader.GetLoadingType(list1));
}
[TestMethod]
public void TestGetLoadingTypeWithColliNull()
{
List<string> list2 = new List<string>() { "123", null };
Assert.AreEqual("", ReportDataLoader.GetLoadingType(list2));
}
[TestMethod]
public void TestGetLoadingTypeWithRedundandColli()
{
List<string> list3 = new List<string>() { "123", "1 EP" };
Assert.AreEqual("EP", ReportDataLoader.GetLoadingType(list3));
}
}
}

View File

@ -0,0 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
<PackageReference Include="MSTest.TestAdapter" Version="2.2.10" />
<PackageReference Include="MSTest.TestFramework" Version="2.2.10" />
<PackageReference Include="coverlet.collector" Version="3.1.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ReportViewer\ReportViewer.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1 @@
global using Microsoft.VisualStudio.TestTools.UnitTesting;

65
ReportViewer/Config.cs Normal file
View File

@ -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<ServiceProvider> 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; }
}
}
}

View File

@ -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<string>? 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();
}
}
}

17
ReportViewer/Program.cs Normal file
View File

@ -0,0 +1,17 @@
namespace ReportViewer
{
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[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());
}
}
}

105
ReportViewer/ReportData.cs Normal file
View File

@ -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<Order> 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;
}
}
}
}
}

View File

@ -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<PackagingInfo> ParsePackagingInfo(string packagingInfo)
{
if (packagingInfo == null)
return new List<PackagingInfo>();
var lines = packagingInfo.Split("\n");
var result = new List<PackagingInfo>();
// 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<string> 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<ReportData.Order> LoadFromDatabase(DateTime? date, Config.ServiceProvider provider)
{
var orders = new List<ReportData.Order>();
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<string>("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<DateTime>("c029"),
OrderNumber = row.ItemEx<string>("c044", ""),
WeightAmount = row.ItemEx<double>("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<string>("c010", ""),
Street = row.ItemEx<string>("c012", ""),
City = row.ItemEx<string>("c014", ""),
Zip = row.ItemEx<string>("c013", ""),
Country = row.ItemEx<string>("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<ReportData.Order>()
//{
// 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"
// }
// }
//};
}
}
}

743
ReportViewer/ReportTemplate.Designer.cs generated Normal file
View File

@ -0,0 +1,743 @@
namespace ReportViewer
{
partial class ReportTemplate
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
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;
}
}

View File

@ -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();
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,35 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
<Company>Digital Data</Company>
<Product>Report Viewer</Product>
<StartupObject>ReportViewer.Program</StartupObject>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DevExpress.Win.Design" Version="22.1.4" />
<PackageReference Include="NLog" Version="5.1.2" />
<PackageReference Include="System.Data.SqlClient" Version="4.8.5" />
</ItemGroup>
<ItemGroup>
<Reference Include="DigitalData.Modules.Config">
<HintPath>..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Database">
<HintPath>..\..\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Language">
<HintPath>..\..\DDModules\Interfaces\bin\Debug\DigitalData.Modules.Language.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Logging">
<HintPath>..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference>
</ItemGroup>
</Project>

24
ReportViewer/UILoader.cs Normal file
View File

@ -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;
}
}
}

316
ReportViewer/frmMain.Designer.cs generated Normal file
View File

@ -0,0 +1,316 @@
namespace ReportViewer
{
partial class FrmMain
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
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;
}
}

177
ReportViewer/frmMain.cs Normal file
View File

@ -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<Config>? 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<Config>(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);
}
}
}
}

252
ReportViewer/frmMain.resx Normal file
View File

@ -0,0 +1,252 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="DevExpress.Data.v22.1" name="DevExpress.Data.v22.1, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="barButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKMCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl
Pg0KICA8ZyBpZD0iQ2hlY2tCb3giPg0KICAgIDxwYXRoIGQ9Ik0yNyw0SDVDNC41LDQsNCw0LjUsNCw1
djIyYzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcuNSw0LDI3LDR6
IE0xNCwyMmwtNi02bDItMmw0LDQgICBsOC04bDIsMkwxNCwyMnoiIGNsYXNzPSJHcmVlbiIgLz4NCiAg
PC9nPg0KPC9zdmc+Cw==
</value>
</data>
<data name="checkHP.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIADAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLlJlZHtmaWxsOiNEMTFD
MUM7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7Zmls
bDojNzI3MjcyO30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuNzU7fQo8L3N0eWxl
Pg0KICA8ZyBpZD0iU2hpcG1lbnQiPg0KICAgIDxwYXRoIGQ9Ik0yOS40LDE1LjRMMjIsOFY3YzAtMC41
LTAuNS0xLTEtMUgzQzIuNSw2LDIsNi41LDIsN3YxNGMwLDAuNSwwLjUsMSwxLDFoMWMwLDIuMiwxLjgs
NCw0LDRzNC0xLjgsNC00aDRoNCAgIGMwLDIuMiwxLjgsNCw0LDRzNC0xLjgsNC00aDJ2LTJ2LTJ2LTEu
MkMzMCwxNi4zLDI5LjgsMTUuOCwyOS40LDE1LjR6IE04LDI0Yy0xLjEsMC0yLTAuOS0yLTJjMC0xLjEs
MC45LTIsMi0yczIsMC45LDIsMiAgIEMxMCwyMy4xLDkuMSwyNCw4LDI0eiBNMjQsMjRjLTEuMSwwLTIt
MC45LTItMmMwLTEuMSwwLjktMiwyLTJzMiwwLjksMiwyQzI2LDIzLjEsMjUuMSwyNCwyNCwyNHogTTIy
LDE2di01LjJsNS4yLDUuMkgyMnoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value>
</data>
<data name="checkGLS.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIADAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLlJlZHtmaWxsOiNEMTFD
MUM7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7Zmls
bDojNzI3MjcyO30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuNzU7fQo8L3N0eWxl
Pg0KICA8ZyBpZD0iU2hpcG1lbnQiPg0KICAgIDxwYXRoIGQ9Ik0yOS40LDE1LjRMMjIsOFY3YzAtMC41
LTAuNS0xLTEtMUgzQzIuNSw2LDIsNi41LDIsN3YxNGMwLDAuNSwwLjUsMSwxLDFoMWMwLDIuMiwxLjgs
NCw0LDRzNC0xLjgsNC00aDRoNCAgIGMwLDIuMiwxLjgsNCw0LDRzNC0xLjgsNC00aDJ2LTJ2LTJ2LTEu
MkMzMCwxNi4zLDI5LjgsMTUuOCwyOS40LDE1LjR6IE04LDI0Yy0xLjEsMC0yLTAuOS0yLTJjMC0xLjEs
MC45LTIsMi0yczIsMC45LDIsMiAgIEMxMCwyMy4xLDkuMSwyNCw4LDI0eiBNMjQsMjRjLTEuMSwwLTIt
MC45LTItMmMwLTEuMSwwLjktMiwyLTJzMiwwLjksMiwyQzI2LDIzLjEsMjUuMSwyNCwyNCwyNHogTTIy
LDE2di01LjJsNS4yLDUuMkgyMnoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value>
</data>
<data name="checkSample.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIADAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLlJlZHtmaWxsOiNEMTFD
MUM7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7Zmls
bDojNzI3MjcyO30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuNzU7fQo8L3N0eWxl
Pg0KICA8ZyBpZD0iU2hpcG1lbnQiPg0KICAgIDxwYXRoIGQ9Ik0yOS40LDE1LjRMMjIsOFY3YzAtMC41
LTAuNS0xLTEtMUgzQzIuNSw2LDIsNi41LDIsN3YxNGMwLDAuNSwwLjUsMSwxLDFoMWMwLDIuMiwxLjgs
NCw0LDRzNC0xLjgsNC00aDRoNCAgIGMwLDIuMiwxLjgsNCw0LDRzNC0xLjgsNC00aDJ2LTJ2LTJ2LTEu
MkMzMCwxNi4zLDI5LjgsMTUuOCwyOS40LDE1LjR6IE04LDI0Yy0xLjEsMC0yLTAuOS0yLTJjMC0xLjEs
MC45LTIsMi0yczIsMC45LDIsMiAgIEMxMCwyMy4xLDkuMSwyNCw4LDI0eiBNMjQsMjRjLTEuMSwwLTIt
MC45LTItMmMwLTEuMSwwLjktMiwyLTJzMiwwLjksMiwyQzI2LDIzLjEsMjUuMSwyNCwyNCwyNHogTTIy
LDE2di01LjJsNS4yLDUuMkgyMnoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value>
</data>
<data name="barButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAEcCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iUXVpY2tfUHJpbnQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcg
MCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbGFja3tmaWxsOiM3MjcyNzI7
fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMTAsMmgxMnY4aDJWMEg4djEwaDJWMnogTTI4LDhoLTJ2M2Mw
LDAuNi0wLjQsMS0xLDFIN2MtMC42LDAtMS0wLjQtMS0xVjhINGMtMS4xLDAtMiwwLjktMiwydjEyICBj
MCwxLjEsMC45LDIsMiwyaDR2NmgxNnYtNmg0YzEuMSwwLDItMC45LDItMlYxMEMzMCw4LjksMjkuMSw4
LDI4LDh6IE0yMiwyMnYydjRIMTB2LTR2LTJ2LTRoMTJWMjJ6IE0yMCwyNGgtOHYyaDhWMjR6IE0yMCwy
MGgtOHYyICBoOFYyMHoiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs=
</value>
</data>
<data name="btnOpenLogDirectory.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAMDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iT3BlbjIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMy
IDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5HcmVlbntmaWxsOiMwMzlDMjM7fQoJLlll
bGxvd3tmaWxsOiNGRkIxMTU7fQoJLnN0MHtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBjbGFz
cz0ic3QwIj4NCiAgICA8cGF0aCBkPSJNMTkuMiwxMEgxMlY3YzAtMC42LTAuNC0xLTEtMUgzQzIuNCw2
LDIsNi41LDIsN3YxOGMwLDAuMiwwLDAuMywwLjEsMC40YzAsMCwwLjEtMC4xLDAuMS0wLjJsNS41LTEw
ICAgQzgsMTQuNSw4LjcsMTQsOS41LDE0aDEzLjdMMTkuMiwxMHoiIGNsYXNzPSJZZWxsb3ciIC8+DQog
IDwvZz4NCiAgPHBhdGggZD0iTTI5LjMsMTZIOS42TDQsMjZoMTkuOGMwLjUsMCwxLjEtMC4yLDEuMy0w
LjZsNC45LTguOUMzMC4xLDE2LjIsMjkuOCwxNiwyOS4zLDE2eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAg
PHBhdGggZD0iTTI4LDhjMC0zLjMtMi43LTYtNi02cy02LDIuNy02LDZjMC0yLjIsMS44LTQsNC00czQs
MS44LDQsNGgtNGw2LDZsNi02SDI4eiIgY2xhc3M9IkdyZWVuIiAvPg0KPC9zdmc+Cw==
</value>
</data>
<data name="checkDebug.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="barButtonItem3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAMDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iT3BlbjIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMy
IDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5HcmVlbntmaWxsOiMwMzlDMjM7fQoJLlll
bGxvd3tmaWxsOiNGRkIxMTU7fQoJLnN0MHtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBjbGFz
cz0ic3QwIj4NCiAgICA8cGF0aCBkPSJNMTkuMiwxMEgxMlY3YzAtMC42LTAuNC0xLTEtMUgzQzIuNCw2
LDIsNi41LDIsN3YxOGMwLDAuMiwwLDAuMywwLjEsMC40YzAsMCwwLjEtMC4xLDAuMS0wLjJsNS41LTEw
ICAgQzgsMTQuNSw4LjcsMTQsOS41LDE0aDEzLjdMMTkuMiwxMHoiIGNsYXNzPSJZZWxsb3ciIC8+DQog
IDwvZz4NCiAgPHBhdGggZD0iTTI5LjMsMTZIOS42TDQsMjZoMTkuOGMwLjUsMCwxLjEtMC4yLDEuMy0w
LjZsNC45LTguOUMzMC4xLDE2LjIsMjkuOCwxNiwyOS4zLDE2eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAg
PHBhdGggZD0iTTI4LDhjMC0zLjMtMi43LTYtNi02cy02LDIuNy02LDZjMC0yLjIsMS44LTQsNC00czQs
MS44LDQsNGgtNGw2LDZsNi02SDI4eiIgY2xhc3M9IkdyZWVuIiAvPg0KPC9zdmc+Cw==
</value>
</data>
<data name="FrmMain.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjEsIFZlcnNpb249MjIuMS40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABIDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iUHJpbnRMYXlvdXRWaWV3XzFfIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91
bmQ6bmV3IDAgMCAzMiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmx1ZXtmaWxsOiMx
MTc3RDc7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik02LDZoMTR2
Mkg2VjZ6IE0xMiwyNEgyVjJoMjJ2MTBoMlYxYzAtMC41LTAuNS0xLTEtMUgxQzAuNSwwLDAsMC41LDAs
MXYyNGMwLDAuNSwwLjUsMSwxLDFoMTFWMjR6IE02LDEyaDEwICBoNHYtMkg2VjEyeiBNNiwyMGg2YzAt
MC43LDAuMi0xLjQsMC42LTJINlYyMHogTTYsMTZoMTB2LTJINlYxNnoiIGNsYXNzPSJCbGFjayIgLz4N
CiAgPHBhdGggZD0iTTI4LDIwdi02SDE4djZoMnYtNGg2djRIMjh6IE0zMCwxOEwzMCwxOHYzYzAsMC42
LTAuNCwxLTEsMUgxN2MtMC42LDAtMS0wLjQtMS0xdi0zbDAsMCAgYy0xLjEsMC0yLDAuOS0yLDJ2OGMw
LDEuMSwwLjksMiwyLDJoMnYyaDEwdi0yaDJjMS4xLDAsMi0wLjksMi0ydi04QzMyLDE4LjksMzEuMSwx
OCwzMCwxOHogTTI2LDMwaC02di00aDZWMzB6IiBpZD0iUHJpbnQiIGNsYXNzPSJCbHVlIiAvPg0KPC9z
dmc+Cw==
</value>
</data>
</root>

31
SchaumReportViewer.sln Normal file
View File

@ -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