update 20241214

This commit is contained in:
Stefan Hutter
2024-12-14 12:45:19 +01:00
parent 608fc730f0
commit 8f74cec1ab
111 changed files with 1397024 additions and 44 deletions

View File

@@ -15,6 +15,7 @@ using System.Windows.Forms;
using Database;
using System.Linq.Expressions;
using System.Web.Security;
using Syncfusion.Windows.Forms.PdfViewer;
namespace OnDoc.UIControls
{
@@ -61,6 +62,7 @@ namespace OnDoc.UIControls
{
this.pdfViewerControl1.Load(stream);
this.pdfViewerControl1.Visible = true;
pdfViewerControl1.ZoomMode = ZoomMode.FitWidth;
}
else
{
@@ -68,6 +70,20 @@ namespace OnDoc.UIControls
}
}
public void show_base64(string image)
{
var stream = new MemoryStream(Convert.FromBase64String(image));
if (stream.Length > 0)
{
this.pdfViewerControl1.Load(stream);
this.pdfViewerControl1.Visible = true;
pdfViewerControl1.ZoomMode = ZoomMode.FitWidth;
}
else
{
}
}
public void clear_viewer()
{
pdfViewerControl1.Visible= false;
@@ -84,6 +100,8 @@ namespace OnDoc.UIControls
{
this.pdfViewerControl1.Load(stream);
this.pdfViewerControl1.Visible = true;
pdfViewerControl1.ZoomMode = ZoomMode.FitWidth;
}
else
{
@@ -253,17 +271,13 @@ namespace OnDoc.UIControls
private void FitPage_Click(object sender, EventArgs e)
{
pdfViewerControl1.ZoomTo(57);
ZoomPercentage = 57;
zoomComboBox.Text = ZoomPercentage.ToString() + "%";
pdfViewerControl1.ZoomMode = ZoomMode.FitPage;
}
private void FitWidth_Click(object sender, EventArgs e)
{
pdfViewerControl1.ZoomTo(169);
ZoomPercentage = 169;
zoomComboBox.Text = ZoomPercentage.ToString() + "%";
pdfViewerControl1.ZoomMode = ZoomMode.FitWidth;
}
private void toolStripButton1_Click(object sender, EventArgs e)

View File

@@ -132,10 +132,10 @@
<value>
iVBORw0KGgoAAAANSUhEUgAAABIAAAAPCAYAAADphp8SAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADVSURBVDhPY3CLL/8Pw65x5Q8YSATOsRXCrvGlGygyyC2u
1NEtvuwJSC9ZBtnb17MA1bfZh+b+hekl2SDnxAoloCtOIOsDYZIMcksoi3KJKP+ErAeGiTLIL6mUFyi3
1NEtvuwJSC9ZBtnb17MA1bfZh+T8hekl2SDnxAoloCtOIOsDYZIMcksoi3KJKP+ErAeGiTLIL6mUFyi3
CFktOiZokEdChalrfPkdZHXYMF6DXGLL5XB5BR0TdlFipZZbbMklZHXYMFFhZB9fzwH03mRkteiYKINg
wC221Aeo7jWyHhgmySAQcEkqlXKLLd+DrA+ESTYIBOrr65nc4srL3eJzf1NkEAwgJw2KDAIBSGItXwQA
IEsz79EkZgAAAAAASUVORK5CYII=
wC221Aeo7jWyHhgmySAQcEkqlXKLLd+DrA+ESTYIBOrr65nc4srL3eJzflNkEAwgJw2KDAIBSGItXwQA
GMIz7JVlXvUAAAAASUVORK5CYII=
</value>
</data>
<data name="btnPrevious.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -143,8 +143,8 @@
iVBORw0KGgoAAAANSUhEUgAAAA0AAAASCAYAAACAa1QyAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACzSURBVDhPYyAFeMWXSLjFlW2FcgkDt/jyYLf4ojdA+j9U
CDdwSSvnd40rXwRSDMNQKezALa7U0TGm7BGyBpya7OPrOdziy/qACv6hawBhqDIEcI4tN3SNK7uKTTEM
Q5UyMISGhjK7xJVXucXn/samEBmDNbjFVKi4xpcdw6YAG2YAOiUdyPiCLoEPk6eJLOfBAMkBgQxICnJk
QHLkIgOSkhEyIDnBIgOgYuKzBjKAZMKyrQCgdQ6kWu3sLwAAAABJRU5ErkJggg==
Q5UyMISGhjK7xJVXucXn/MamEBmDNbjFVKi4xpcdw6YAG2YAOiUdyPiCLoEPk6eJLOfBAMkBgQxICnJk
QHLkIgOSkhEyIDnBIgOgYuKzBjKAZMKyrQCcrA6iqOeJxwAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnNext.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -152,39 +152,39 @@
iVBORw0KGgoAAAANSUhEUgAAAA0AAAASCAYAAACAa1QyAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACeSURBVDhPY3CNLd3iFV8iwUAKcIsv/w/Er90TyoKgQoQB
VBMYu8aXLfSIrueDSuEGyJoguOihe3y5A1QaO8DUBMb/gLjXPr6eA6oMFaApRsEu8eVXXONLDKBKEQCb
YhQcWv7LNa6sMjQ0lBmqhQhNUOwSV37UI65EmSRNUPzFLb4ijbaaSHMeqQFBapCTGrkkJiNSEyxpWYP0
TMjAAAADTw6q3g6ecAAAAABJRU5ErkJggg==
YhQcUv7LNa6sMjQ0lBmqhQhNUOwSV37UI65EmSRNUPzFLb4ijbaaSHMeqQFBapCTGrkkJiNSEyxpWYP0
TMjAAAD/lQ6oXnCEngAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnLast.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABIAAAAPCAYAAADphp8SAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADaSURBVDhPY3CNK1/kl1TKy0AiAOp74BZf/h+GGUCEa3z5
HY+EClOoGqIAVoMgOPe3W1x5eX19PRNULV6AxyAIdo0v2+2SVCoFVY8TEDQIil+7xZb6QPVgBcQaBMbA
HY+EClOoGqIAVoMgOOe3W1x5eX19PRNULV6AxyAIdo0v2+2SVCoFVY8TEDQIil+7xZb6QPVgBcQaBMbA
sJtsH1/PAdWLAkgyCIxjSy55JFZqQfXDAekGAbFLRPknl9hyOagZYECyQbiSBmlhhCexEmUQyCtuCWVR
UD1YAREGlZ1wTqxQgqrHCXAaZB+a+xdIt9nb17NA1eIFOAwqe+IWV+oIVUMUwDDINb50g3NshTBUnmiA
alD5fwDplDPuaUZeUwAAAABJRU5ErkJggg==
UD1YAREGlZ1wTqxQgqrHCXAaZB+S8xdIt9nb17NA1eIFOAwqe+IWV+oIVUMUwDDINb50g3NshTBUnmiA
alD5fwDkSTPrWOLPygAAAABJRU5ErkJggg==
</value>
</data>
<data name="zoomIn.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABIAAAARCAYAAADQWvz5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADPSURBVDhPY0AH9vb1LC5xFZFucWWrXOLLH7vF5/4GYTAb
JAaUA6mBKscO3BLKXF3jy++4xZf/x4ed40tuu8dWuEC1oQKgbZn2obl/sWnEhsFqgXqg2iHANa48EJti
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADPSURBVDhPY0AH9vb1LC5xFZFucWWrXOLLH7vF5/wGYTAb
JAaUA6mBKscO3BLKXF3jy++4xZf/x4ed40tuu8dWuEC1oQKgbZn2ITl/sWnEhsFqgXqg2iHANa48EJti
YjBIL9gQ+/h8Aafo4lfYFBGDQXpBZjAAObnokmTgXAaXuPJDWCRIwiAzQC76hizoHl/uQAxG1gPE30AG
IQv8BwccEQBDH5BAcZFrfIkBMRhZDxB/o2oYUSfWqJaOQIAqKRsGqJLXYIAquR8GyCuPGBgA4VXxUAJa
VPcAAAAASUVORK5CYII=
IQv8BwccEQBDH5BAcZFrfIkBMRhZDxB/o2oYUSfWqJaOQIAqKRsGqJLXYIAquR8GyCuPGBgAxEHxRFxe
mgMAAAAASUVORK5CYII=
</value>
</data>
<data name="zoomOut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABIAAAARCAYAAADQWvz5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEdSURBVDhPY0AH9vb1LC5xFZFucWWrXOLLH7vF5/4GYTAb
JAaUA6mBKscO3GMrXFzjy++4xZf/x4ed40tug9RCtaECoG2Z9qG5f7FpxIbBaoF6oNohwDWuPBCr4viy
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEdSURBVDhPY0AH9vb1LC5xFZFucWWrXOLLH7vF5/wGYTAb
JAaUA6mBKscO3GMrXFzjy++4xZf/x4ed40tug9RCtaECoG2Z9iE5f7FpxIbBaoF6oNohwDWuPBCr4viy
j85xJRdAGMTGpgakF2yIfXy+gFN08SusiuJLN4AVAQGIjU0NSC/IDAYgJxddEoaJMQiKcxlc4soPYZEA
Y2INApkBctE3ZEH3+HIHGHaNqdSBmsMAYiPLIesB4m8gg5AF/kP1EQQY+oAEiotc40sM4DimWBGqD+ii
YkVkOWQ9QPyNqmFEnVijWjoCK8KRst3ii94A6QMQDGZjqIGnbBigSl6DAbeEMldicj9IDc7cDwPw8ii+
fLVbfNkT4sojBgYAvsPNWp0R0zgAAAAASUVORK5CYII=
fLVbfNkT4sojBgYAoa/NTk4o61kAAAAASUVORK5CYII=
</value>
</data>
<data name="FitPage.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@@ -171,7 +171,7 @@ namespace OnDoc.UICintrols
this.sfDataGrid1.Location = new System.Drawing.Point(0, 0);
this.sfDataGrid1.Name = "sfDataGrid1";
this.sfDataGrid1.RowHeight = 30;
this.sfDataGrid1.SelectionMode = Syncfusion.WinForms.DataGrid.Enums.GridSelectionMode.Multiple;
this.sfDataGrid1.SelectionMode = Syncfusion.WinForms.DataGrid.Enums.GridSelectionMode.Extended;
this.sfDataGrid1.ShowGroupDropArea = true;
this.sfDataGrid1.ShowToolTip = true;
this.sfDataGrid1.Size = new System.Drawing.Size(1709, 343);

View File

@@ -0,0 +1,75 @@
namespace OnDoc.UIControls
{
partial class DokTypDetail
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Vom Komponenten-Designer generierter Code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
this.sfDataGrid1 = new Syncfusion.WinForms.DataGrid.SfDataGrid();
this.docPreview1 = new OnDoc.UIControls.DocPreview();
((System.ComponentModel.ISupportInitialize)(this.sfDataGrid1)).BeginInit();
this.SuspendLayout();
//
// sfDataGrid1
//
this.sfDataGrid1.AccessibleName = "Table";
this.sfDataGrid1.AutoSizeColumnsMode = Syncfusion.WinForms.DataGrid.Enums.AutoSizeColumnsMode.LastColumnFill;
this.sfDataGrid1.Dock = System.Windows.Forms.DockStyle.Left;
this.sfDataGrid1.Location = new System.Drawing.Point(0, 0);
this.sfDataGrid1.Name = "sfDataGrid1";
this.sfDataGrid1.Size = new System.Drawing.Size(406, 720);
this.sfDataGrid1.Style.HeaderStyle.FilterIconColor = System.Drawing.Color.FromArgb(((int)(((byte)(29)))), ((int)(((byte)(29)))), ((int)(((byte)(29)))));
this.sfDataGrid1.TabIndex = 1;
this.sfDataGrid1.Text = "sfDataGrid1";
//
// docPreview1
//
this.docPreview1.Dock = System.Windows.Forms.DockStyle.Fill;
this.docPreview1.Location = new System.Drawing.Point(406, 0);
this.docPreview1.Name = "docPreview1";
this.docPreview1.Size = new System.Drawing.Size(606, 720);
this.docPreview1.TabIndex = 0;
this.docPreview1.ZoomPercentage = 0;
//
// DokTypDetail
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.docPreview1);
this.Controls.Add(this.sfDataGrid1);
this.Name = "DokTypDetail";
this.Size = new System.Drawing.Size(1012, 720);
((System.ComponentModel.ISupportInitialize)(this.sfDataGrid1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DocPreview docPreview1;
private Syncfusion.WinForms.DataGrid.SfDataGrid sfDataGrid1;
}
}

View File

@@ -0,0 +1,86 @@
using Database;
using DOCGEN;
using Model;
using OnDoc.Klassen;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI.WebControls.Expressions;
using System.Windows.Forms;
namespace OnDoc.UIControls
{
public partial class DokTypDetail : UserControl
{
public int dokumenttypnr { get; set; } = 0;
public DokTypDetail()
{
InitializeComponent();
}
public DokTypDetail(int dokumenttypnr)
{
InitializeComponent();
this.dokumenttypnr = dokumenttypnr;
Refresh_Details();
}
public void Refresh_Details()
{
DB dB = new DB(AppParams.connectionstring);
dB.Get_Tabledata("Select * from view_ondoc_doctypdetail where nr=" + dokumenttypnr.ToString(), false, true);
DataTable details = new DataTable();
details.Columns.Add("Element");
details.Columns.Add("Inhalt");
foreach (DataColumn dc in dB.dsdaten.Tables[0].Columns)
{
if (dc.ColumnName != "Image")
{
DataRow dr = details.NewRow();
dr[0] = dc.ColumnName.ToString().Replace("_", "");
dr[1] = dB.dsdaten.Tables[0].Rows[0][dc.ColumnName].ToString();
if (dc.ColumnName.ToString().Replace("_", "") == "Vertrag")
{
if (Convert.ToBoolean(dB.dsdaten.Tables[0].Rows[0][dc.ColumnName]) == false)
{
dr[1] = "Nein";
}
else
{ dr[1] = "Ja"; }
}
details.Rows.Add(dr);
}
else
{
DocGet dg = new DocGet(AppParams.connectionstring);
clsdok dok = new clsdok(dB.dsdaten.Tables[0].Rows[0][dc.ColumnName].ToString(), dB.dsdaten.Tables[0].Rows[0]["Applikation"].ToString(), "");
string PDF = "";
switch (dB.dsdaten.Tables[0].Rows[0]["Applikation"].ToString().ToUpper())
{
case "WORD":
PDF = dg.Convert_Word_To_PDF(dB.dsdaten.Tables[0].Rows[0][dc.ColumnName].ToString());
break;
case "EXCEL":
PDF = dg.Convert_Excel_To_PDF(dB.dsdaten.Tables[0].Rows[0][dc.ColumnName].ToString());
break;
case "PDF":
PDF = dB.dsdaten.Tables[0].Rows[0][dc.ColumnName].ToString();
break;
default:
break;
}
docPreview1.show_base64(PDF);
}
}
sfDataGrid1.DataSource = details;
dB = null;
}
}
}

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>