update 20250224

master
Stefan Hutter 10 months ago
parent 794e577f22
commit 0f76b2b376

Binary file not shown.

Binary file not shown.

@ -5494,3 +5494,25 @@ Mit folgendem Link kann OnDoc direkt gestartet werden<br>
2025-02-21 10:27:15.8300|DEBUG|OnDoc|
2025-02-21 10:27:15.8923|DEBUG|OnDoc|
2025-02-21 10:27:41.1719|INFO|OnDoc|Dokumentarchivierung via EDKB02_DMS ausgelöstOFFEDK0082025002490021
2025-02-23 09:05:35.5338|DEBUG|OnDoc|
2025-02-23 09:05:35.5799|DEBUG|OnDoc|
2025-02-23 09:05:35.6075|DEBUG|OnDoc|Start GetUnterschriftAsBase64 TGNummer: Stefan Hutter lokal
2025-02-23 09:05:35.6115|INFO|OnDoc|Unterschrift-Bezug: Stefan Hutter lokal
2025-02-23 09:06:02.3220|DEBUG|OnDoc|
2025-02-23 09:06:02.3220|DEBUG|OnDoc|
2025-02-23 09:06:02.3497|DEBUG|OnDoc|Start GetUnterschriftAsBase64 TGNummer: Stefan Hutter lokal
2025-02-23 09:06:02.3497|INFO|OnDoc|Unterschrift-Bezug: Stefan Hutter lokal
2025-02-23 09:06:02.4026|DEBUG|OnDoc|
2025-02-23 09:06:02.4076|DEBUG|OnDoc|
2025-02-23 09:06:02.4306|DEBUG|OnDoc|TGNummer für Mitarbeiter nicht vorhanden Mitarbeiternr: -1
2025-02-23 17:00:33.2173|DEBUG|OnDoc|
2025-02-23 17:00:33.2486|DEBUG|OnDoc|
2025-02-23 17:00:33.2737|DEBUG|OnDoc|Start GetUnterschriftAsBase64 TGNummer: Stefan Hutter lokal
2025-02-23 17:00:33.2737|INFO|OnDoc|Unterschrift-Bezug: Stefan Hutter lokal
2025-02-23 17:00:46.7857|DEBUG|OnDoc|
2025-02-23 17:00:46.8211|DEBUG|OnDoc|
2025-02-23 17:00:46.8377|DEBUG|OnDoc|TGNummer für Mitarbeiter nicht vorhanden Mitarbeiternr: -1
2025-02-23 17:02:00.4145|DEBUG|OnDoc|
2025-02-23 17:02:00.4145|DEBUG|OnDoc|
2025-02-23 17:02:00.4426|DEBUG|OnDoc|Start GetUnterschriftAsBase64 TGNummer: Stefan Hutter lokal
2025-02-23 17:02:00.4426|INFO|OnDoc|Unterschrift-Bezug: Stefan Hutter lokal

@ -64,7 +64,7 @@
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(177, 26);
this.label2.TabIndex = 2;
this.label2.Text = "20. Februar 2025";
this.label2.Text = "23. Februar 2025";
//
// SplashScreen
//

@ -102,6 +102,7 @@ namespace OnDoc.Klassen
{
if (p.MainWindowTitle.IndexOf(fc.dokumentid) > -1 || p.MainWindowTitle.Trim() == "")
{
if (p.MainWindowTitle.Trim() != "") { fc.Lastfound = DateTime.Now; }
found = true;
save_to_db(fc);
}

@ -458,6 +458,7 @@ namespace OnDoc.UICintrols
private void dokumentAnzeigenToolStripMenuItem_Click(object sender, EventArgs e)
{
Logging.DocLog.Info("Dokument-Anzeige",selected_dokumentid.ToString(),"","","");
clsdok dok = GetDoc(false);
OpenDoc(dok, false);

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -213,7 +213,7 @@ namespace DOCGEN.Klassen
signature.LineFormat.Color= Color.White;
signature.WrapFormat.AllowOverlap = true;
signature.VerticalPosition = signature.VerticalPosition - 55;
signature.VerticalPosition = signature.VerticalPosition - 58;
//signature.HorizontalPosition = signature.HorizontalPosition + 200;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -129,10 +129,10 @@ namespace DOCGEN
db1.Get_Tabledata("Select * from dokument where dokumentid = '" + dokumentid + "'", false, true);
string unterschriftlinks = db1.dsdaten.Tables[0].Rows[0]["unterschriftlinks"].ToString();
string unterschriftrechts = db1.dsdaten.Tables[0].Rows[0]["unterschriftrechts"].ToString();
string dokumenttypnr = db1.dsdaten.Tables[0].Rows[0]["dokumenttypnr"].ToString();
OnDocOffice.clsWordEdit we = new OnDocOffice.clsWordEdit(connectionstring, "", "", resturi, apikey);
//gaga
if (we.insert_signature(dokumentid, unterschriftlinks, unterschriftrechts, tempdir,""))
if (we.insert_signature(dokumentid, unterschriftlinks, unterschriftrechts, tempdir,dokumenttypnr))
{
return true;

Binary file not shown.

Binary file not shown.

@ -71,6 +71,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tools_Base64Decoder", "Tool
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OfficeToPDFConverter", "OfficeToPDFConverter\OfficeToPDFConverter.csproj", "{17CA2501-B872-41CC-8029-8FF4CAD425FB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ToolsDoksImportExport", "ToolsDoksImportExport\ToolsDoksImportExport.csproj", "{F8366139-D081-45C5-B9FC-DDDDA64E38D7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -201,6 +203,10 @@ Global
{17CA2501-B872-41CC-8029-8FF4CAD425FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{17CA2501-B872-41CC-8029-8FF4CAD425FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{17CA2501-B872-41CC-8029-8FF4CAD425FB}.Release|Any CPU.Build.0 = Release|Any CPU
{F8366139-D081-45C5-B9FC-DDDDA64E38D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F8366139-D081-45C5-B9FC-DDDDA64E38D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F8366139-D081-45C5-B9FC-DDDDA64E38D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F8366139-D081-45C5-B9FC-DDDDA64E38D7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

@ -1616,13 +1616,15 @@ namespace OnDocOffice
}
bool is_protected = false;
Microsoft.Office.Interop.Word.Document docWord;
Microsoft.Office.Interop.Word.Application word;
public bool sign_doc(ref Microsoft.Office.Interop.Word.Application word, string imagepath_ul, string imagepath_ur, string dokumentid, string dokumenttypnr)
{
Logging.Logging.Debug("Sign_Doc", "OnDoc", dokumentid);
docWord = word.ActiveDocument;
this.word = word;
DB db = new DB(this.ConnectionString);
db.Get_Tabledata("Select * from OnDocSignaturePosition where dokumenttypnr=1089");
db.Get_Tabledata("Select * from OnDocSignaturePosition where dokumenttypnr=" + dokumenttypnr+" order by id",false,true);
System.Data.DataTable position = db.dsdaten.Tables[0];
db = null;
Thread.Sleep(1000);
@ -1636,37 +1638,48 @@ namespace OnDocOffice
int h = 0;
int l = 0;
int t = 0;
int type = 1;
try
{
List<string> list = new List<string>();
foreach (Microsoft.Office.Interop.Word.Bookmark bm in docWord.Bookmarks)
{
if (bm.Name.Contains("VornameNameLinks") || bm.Name.Contains("UnterschriftLinks"))
if (bm.Name.Contains("VornameNameLinks") || bm.Name.Contains("UnterschriftLinks") || bm.Name == "TGEDKVornameNameL") { list.Add(bm.Name); }
if (bm.Name.Contains("VornameNameRechts") || bm.Name.Contains("UnterschriftRechts") || bm.Name == "TGEDKVornameNameR") { list.Add(bm.Name); }
}
list.Sort();
foreach (string bm in list)
{
if (bm.Contains("VornameNameLinks") || bm.Contains("UnterschriftLinks") || bm=="TGEDKVornameNameL")
{
foreach (System.Data.DataRow dr in position.Rows)
{
if (bm.Name.ToUpper() == dr["bookmark"].ToString().ToUpper())
if (bm.ToUpper() == dr["bookmark"].ToString().ToUpper())
{
l = Convert.ToInt32("posleft");
t = Convert.ToInt32("postop");
w = Convert.ToInt32("width");
h = Convert.ToInt32("height");
l = Convert.ToInt32(dr["posleft"]);
t = Convert.ToInt32(dr["postop"]);
w = Convert.ToInt32(dr["width"]);
h = Convert.ToInt32(dr["height"]);
type = Convert.ToInt32(dr["type"]);
}
}
insert_unterschrift(bm.Name, imagepath_ul,l,t,w,h);
insert_unterschrift(bm, imagepath_ul,l,t,w,h,type);
}
if (bm.Name.Contains("VornameNameRechts") || bm.Name.Contains("UnterschriftRechts"))
if (bm.Contains("VornameNameRechts") || bm.Contains("UnterschriftRechts") || bm == "TGEDKVornameNameR")
{
foreach (System.Data.DataRow dr in position.Rows)
{
if (bm.Name.ToUpper() == dr["bookmark"].ToString().ToUpper())
if (bm.ToUpper() == dr["bookmark"].ToString().ToUpper())
{
l = Convert.ToInt32("posleft");
t = Convert.ToInt32("postop");
w = Convert.ToInt32("width");
h = Convert.ToInt32("height");
l = Convert.ToInt32(dr["posleft"]);
t = Convert.ToInt32(dr["postop"]);
w = Convert.ToInt32(dr["width"]);
h = Convert.ToInt32(dr["height"]);
type = Convert.ToInt32(dr["type"]);
}
}
insert_unterschrift(bm.Name, imagepath_ur,l,t,w,h);
insert_unterschrift(bm, imagepath_ur,l,t,w,h,type);
}
}
@ -1691,65 +1704,51 @@ namespace OnDocOffice
}
}
public void insert_unterschrift(string bookmark, string imagepath, int l, int t, int w, int h)
public void insert_unterschrift(string bookmark, string imagepath, int l, int t, int w, int h, int type)
{
if (imagepath == "") return;
object missing = Type.Missing;
Microsoft.Office.Interop.Word.Range myRange = docWord.Bookmarks[bookmark].Range;
///
Microsoft.Office.Interop.Word.Bookmark bm = docWord.Bookmarks[bookmark];
bm.Range.GoTo();
bm.Select();
Microsoft.Office.Interop.Word.Shape myShape1 = docWord.Shapes.AddPicture(imagepath, false, true, 0, 0, 120, 50, missing);
//myShape1.Top = myShape1.Top - myShape1.Height;
myShape1.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapBehind;
return;
///
// Microsoft.Office.Interop.Word.InlineShape myinlineshape = myRange.InlineShapes.AddPicture(imagepath, false, false, missing);
float vertical = bm.Range.Information[Microsoft.Office.Interop.Word.WdInformation.wdVerticalPositionRelativeToPage];
float horizontal = bm.Range.Information[Microsoft.Office.Interop.Word.WdInformation.wdHorizontalPositionRelativeToPage];
float marigntop = docWord.PageSetup.TopMargin;
float marginleft = docWord.PageSetup.LeftMargin;
docWord.Activate();
//Microsoft.Office.Interop.Word.Range myRange3 = bm.Range;
//Microsoft.Office.Interop.Word.Range myRange4 = bm.Range.GoTo();
//Microsoft.Office.Interop.Word.Shape myShape = docWord.Shapes.AddPicture( imagepath, false, true, 0, 0, 120, 50, myRange4);
Microsoft.Office.Interop.Word.Shape myShape = docWord.Shapes.AddPicture(imagepath, false, true, 0, 0, 120, 50, missing);
//myShape.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapTight;
myShape.RelativeHorizontalPosition = Microsoft.Office.Interop.Word.WdRelativeHorizontalPosition.wdRelativeHorizontalPositionPage;
myShape.RelativeVerticalPosition = Microsoft.Office.Interop.Word.WdRelativeVerticalPosition.wdRelativeVerticalPositionPage;
if (bookmark.Contains("Rechts"))
if (type == 1)
{
myShape.Left = horizontal-marginleft ;
Microsoft.Office.Interop.Word.Range myRange = docWord.Bookmarks[bookmark].Range;
Microsoft.Office.Interop.Word.Bookmark bm = docWord.Bookmarks[bookmark];
bm.Range.GoTo();
bm.Select();
Thread.Sleep(500);
System.Windows.Forms.Application.DoEvents();
Microsoft.Office.Interop.Word.Shape myShape1 = docWord.Shapes.AddPicture(imagepath, false, true, 0, 0, 120, 50, missing);
//myShape1.Top = myShape1.Top - myShape1.Height;
myShape1.Top = myShape1.Top + t;
myShape1.Left = myShape1.Left + l;
myShape1.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapBehind;
}
else
if (type == 2)
{
//myShape.Left = horizontal - marginleft;
myShape.Left = horizontal;
Microsoft.Office.Interop.Word.Bookmark bm = docWord.Bookmarks[bookmark];
float vertical = bm.Range.Information[Microsoft.Office.Interop.Word.WdInformation.wdVerticalPositionRelativeToPage];
float horizontal = bm.Range.Information[Microsoft.Office.Interop.Word.WdInformation.wdHorizontalPositionRelativeToPage];
float marigntop = docWord.PageSetup.TopMargin;
float marginleft = docWord.PageSetup.LeftMargin;
docWord.Activate();
bm.Range.GoTo();
bm.Select();
Microsoft.Office.Interop.Word.Shape myShape = docWord.Shapes.AddPicture(imagepath, false, true, 0, 0, 120, 50, missing);
myShape.RelativeHorizontalPosition = Microsoft.Office.Interop.Word.WdRelativeHorizontalPosition.wdRelativeHorizontalPositionPage;
myShape.RelativeVerticalPosition = Microsoft.Office.Interop.Word.WdRelativeVerticalPosition.wdRelativeVerticalPositionPage;
myShape.Left = horizontal + l;
myShape.Top = vertical + t;
myShape.Name = "Unterschrift_" + bookmark;
Logging.Logging.Debug(horizontal.ToString() + "/" + vertical.ToString() + "/" + marginleft.ToString() + "/" + marigntop.ToString() + "/" + myShape.Top.ToString() + "/" + myShape.Left.ToString(), "OnDoc", "");
myShape.LockAspectRatio = Microsoft.Office.Core.MsoTriState.msoTrue;
myShape.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapBehind;
}
myShape.Name = "Unterschrift_" + bookmark;
myShape.Top = vertical - (myShape.Height + marigntop + 7);
Logging.Logging.Debug(horizontal.ToString() + "/" + vertical.ToString() + "/" + marginleft.ToString() + "/" + marigntop.ToString()+"/"+myShape.Top.ToString()+"/"+myShape.Left.ToString(), "OnDoc", "");
myShape.LockAspectRatio = Microsoft.Office.Core.MsoTriState.msoTrue;
myShape.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapBehind;
//myShape.ZOrder(Microsoft.Office.Core.MsoZOrderCmd.msoSendBackward);
//myShape.Select();
return;

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("OnDocWPF")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+986e225bd96fd080cbd237234f0450c095bb3ae8")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+794e577f2200d010a3113d6e7d3fe084a0b4d81e")]
[assembly: System.Reflection.AssemblyProductAttribute("OnDocWPF")]
[assembly: System.Reflection.AssemblyTitleAttribute("OnDocWPF")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
494304275bd9916ec60b61117c448ef56d87dc6aaf14d7060b09848aea2b5c9f
9614961e6331b72fe4c4846ef708866de389b95e890112cfa8185deec828955e

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
</startup>
</configuration>

@ -0,0 +1,141 @@
namespace ToolsDoksImportExport
{
partial class Form1
{
/// <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 Windows Form-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.label1 = new System.Windows.Forms.Label();
this.txtConnctionstring = new System.Windows.Forms.TextBox();
this.txtDokumentID = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.txtFilename = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.btnExport = new System.Windows.Forms.Button();
this.btnImport = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(34, 32);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(88, 13);
this.label1.TabIndex = 0;
this.label1.Text = "ConnectionString";
//
// txtConnctionstring
//
this.txtConnctionstring.Location = new System.Drawing.Point(137, 32);
this.txtConnctionstring.Name = "txtConnctionstring";
this.txtConnctionstring.Size = new System.Drawing.Size(492, 20);
this.txtConnctionstring.TabIndex = 1;
//
// txtDokumentID
//
this.txtDokumentID.Location = new System.Drawing.Point(137, 59);
this.txtDokumentID.Name = "txtDokumentID";
this.txtDokumentID.Size = new System.Drawing.Size(185, 20);
this.txtDokumentID.TabIndex = 3;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(34, 59);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(73, 13);
this.label2.TabIndex = 2;
this.label2.Text = "Dokument-ID:";
//
// txtFilename
//
this.txtFilename.Location = new System.Drawing.Point(137, 94);
this.txtFilename.Name = "txtFilename";
this.txtFilename.Size = new System.Drawing.Size(492, 20);
this.txtFilename.TabIndex = 5;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(34, 94);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(54, 13);
this.label3.TabIndex = 4;
this.label3.Text = "FileName:";
//
// btnExport
//
this.btnExport.Location = new System.Drawing.Point(37, 163);
this.btnExport.Name = "btnExport";
this.btnExport.Size = new System.Drawing.Size(75, 23);
this.btnExport.TabIndex = 6;
this.btnExport.Text = "Export";
this.btnExport.UseVisualStyleBackColor = true;
this.btnExport.Click += new System.EventHandler(this.btnExport_Click);
//
// btnImport
//
this.btnImport.Location = new System.Drawing.Point(137, 163);
this.btnImport.Name = "btnImport";
this.btnImport.Size = new System.Drawing.Size(75, 23);
this.btnImport.TabIndex = 7;
this.btnImport.Text = "Import";
this.btnImport.UseVisualStyleBackColor = true;
this.btnImport.Click += new System.EventHandler(this.btnImport_Click);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(989, 495);
this.Controls.Add(this.btnImport);
this.Controls.Add(this.btnExport);
this.Controls.Add(this.txtFilename);
this.Controls.Add(this.label3);
this.Controls.Add(this.txtDokumentID);
this.Controls.Add(this.label2);
this.Controls.Add(this.txtConnctionstring);
this.Controls.Add(this.label1);
this.Name = "Form1";
this.Text = "Import / Export from Doks";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox txtConnctionstring;
private System.Windows.Forms.TextBox txtDokumentID;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox txtFilename;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Button btnExport;
private System.Windows.Forms.Button btnImport;
}
}

@ -0,0 +1,50 @@
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.Windows.Forms;
using Database;
using Model;
namespace ToolsDoksImportExport
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnExport_Click(object sender, EventArgs e)
{
try
{
DB db = new DB(txtConnctionstring.Text);
clsdok d = new clsdok("", "", "");
d = db.GetDocumentAsBase64(this.txtDokumentID.Text);
System.IO.File.WriteAllBytes(this.txtFilename.Text, Convert.FromBase64String(d.dokument));
db = null;
MessageBox.Show("Export erfolgreich");
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
}
private void btnImport_Click(object sender, EventArgs e)
{
try
{
Byte[] bytes = System.IO.File.ReadAllBytes(this.txtFilename.Text);
string b64 = Convert.ToBase64String(bytes);
DB db = new DB(txtConnctionstring.Text);
db.Save_To_DB(this.txtDokumentID.Text, this.txtFilename.Text);
db = null;
MessageBox.Show("Import erfolgreich");
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
}
}
}

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

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ToolsDoksImportExport
{
internal static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("ToolsDoksImportExport")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("HP Inc.")]
[assembly: AssemblyProduct("ToolsDoksImportExport")]
[assembly: AssemblyCopyright("Copyright © HP Inc. 2025")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("f8366139-d081-45c5-b9fc-dddda64e38d7")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ToolsDoksImportExport.Properties {
using System;
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ToolsDoksImportExport.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

@ -0,0 +1,117 @@
<?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.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: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" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</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" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ToolsDoksImportExport.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.10.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{F8366139-D081-45C5-B9FC-DDDDA64E38D7}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>ToolsDoksImportExport</RootNamespace>
<AssemblyName>ToolsDoksImportExport</AssemblyName>
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Database">
<HintPath>..\OnDocOffice\bin\Debug\Database.dll</HintPath>
</Reference>
<Reference Include="Model">
<HintPath>..\Model\bin\Debug\Model.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

@ -0,0 +1,461 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>NLog.Database</name>
</assembly>
<members>
<member name="T:NLog.Targets.DatabaseCommandInfo">
<summary>
Information about database command + parameters.
</summary>
</member>
<member name="P:NLog.Targets.DatabaseCommandInfo.CommandType">
<summary>
Gets or sets the type of the command.
</summary>
<value>The type of the command.</value>
<docgen category='Command Options' order='10' />
</member>
<member name="P:NLog.Targets.DatabaseCommandInfo.ConnectionString">
<summary>
Gets or sets the connection string to run the command against. If not provided, connection string from the target is used.
</summary>
<docgen category='Command Options' order='10' />
</member>
<member name="P:NLog.Targets.DatabaseCommandInfo.Text">
<summary>
Gets or sets the command text.
</summary>
<docgen category='Command Options' order='10' />
</member>
<member name="P:NLog.Targets.DatabaseCommandInfo.IgnoreFailures">
<summary>
Gets or sets a value indicating whether to ignore failures.
</summary>
<docgen category='Command Options' order='10' />
</member>
<member name="P:NLog.Targets.DatabaseCommandInfo.Parameters">
<summary>
Gets the collection of parameters. Each parameter contains a mapping
between NLog layout and a database named or positional parameter.
</summary>
<docgen category='Command Options' order='10' />
</member>
<member name="T:NLog.Targets.DatabaseObjectPropertyInfo">
<summary>
Information about object-property for the database-connection-object
</summary>
</member>
<member name="M:NLog.Targets.DatabaseObjectPropertyInfo.#ctor">
<summary>
Initializes a new instance of the <see cref="T:NLog.Targets.DatabaseObjectPropertyInfo"/> class.
</summary>
</member>
<member name="P:NLog.Targets.DatabaseObjectPropertyInfo.Name">
<summary>
Gets or sets the name for the object-property
</summary>
<docgen category='Connection Options' order='10' />
</member>
<member name="P:NLog.Targets.DatabaseObjectPropertyInfo.Layout">
<summary>
Gets or sets the value to assign on the object-property
</summary>
<docgen category='Connection Options' order='10' />
</member>
<member name="P:NLog.Targets.DatabaseObjectPropertyInfo.PropertyType">
<summary>
Gets or sets the type of the object-property
</summary>
<docgen category='Connection Options' order='10' />
</member>
<member name="P:NLog.Targets.DatabaseObjectPropertyInfo.Format">
<summary>
Gets or sets convert format of the property value
</summary>
<docgen category='Connection Options' order='8' />
</member>
<member name="P:NLog.Targets.DatabaseObjectPropertyInfo.Culture">
<summary>
Gets or sets the culture used for parsing property string-value for type-conversion
</summary>
<docgen category='Connection Options' order='9' />
</member>
<member name="M:NLog.Targets.DatabaseObjectPropertyInfo.RenderValue(NLog.LogEventInfo)">
<summary>
Render Result Value
</summary>
<param name="logEvent">Log event for rendering</param>
<returns>Result value when available, else fallback to defaultValue</returns>
</member>
<member name="T:NLog.Targets.DatabaseParameterInfo">
<summary>
Represents a parameter to a Database target.
</summary>
</member>
<member name="M:NLog.Targets.DatabaseParameterInfo.#ctor">
<summary>
Initializes a new instance of the <see cref="T:NLog.Targets.DatabaseParameterInfo" /> class.
</summary>
</member>
<member name="M:NLog.Targets.DatabaseParameterInfo.#ctor(System.String,NLog.Layouts.Layout)">
<summary>
Initializes a new instance of the <see cref="T:NLog.Targets.DatabaseParameterInfo" /> class.
</summary>
<param name="parameterName">Name of the parameter.</param>
<param name="parameterLayout">The parameter layout.</param>
</member>
<member name="P:NLog.Targets.DatabaseParameterInfo.Name">
<summary>
Gets or sets the database parameter name.
</summary>
<docgen category='Parameter Options' order='0' />
</member>
<member name="P:NLog.Targets.DatabaseParameterInfo.Layout">
<summary>
Gets or sets the layout that should be use to calculate the value for the parameter.
</summary>
<docgen category='Parameter Options' order='1' />
</member>
<member name="P:NLog.Targets.DatabaseParameterInfo.DbType">
<summary>
Gets or sets the database parameter DbType.
</summary>
<docgen category='Parameter Options' order='2' />
</member>
<member name="P:NLog.Targets.DatabaseParameterInfo.Size">
<summary>
Gets or sets the database parameter size.
</summary>
<docgen category='Parameter Options' order='3' />
</member>
<member name="P:NLog.Targets.DatabaseParameterInfo.Precision">
<summary>
Gets or sets the database parameter precision.
</summary>
<docgen category='Parameter Options' order='4' />
</member>
<member name="P:NLog.Targets.DatabaseParameterInfo.Scale">
<summary>
Gets or sets the database parameter scale.
</summary>
<docgen category='Parameter Options' order='5' />
</member>
<member name="P:NLog.Targets.DatabaseParameterInfo.ParameterType">
<summary>
Gets or sets the type of the parameter.
</summary>
<docgen category='Parameter Options' order='6' />
</member>
<member name="P:NLog.Targets.DatabaseParameterInfo.DefaultValue">
<summary>
Gets or sets the fallback value when result value is not available
</summary>
<docgen category='Parameter Options' order='7' />
</member>
<member name="P:NLog.Targets.DatabaseParameterInfo.Format">
<summary>
Gets or sets convert format of the database parameter value.
</summary>
<docgen category='Parameter Options' order='8' />
</member>
<member name="P:NLog.Targets.DatabaseParameterInfo.Culture">
<summary>
Gets or sets the culture used for parsing parameter string-value for type-conversion
</summary>
<docgen category='Parameter Options' order='9' />
</member>
<member name="P:NLog.Targets.DatabaseParameterInfo.AllowDbNull">
<summary>
Gets or sets whether empty value should translate into DbNull. Requires database column to allow NULL values.
</summary>
<docgen category='Parameter Options' order='10' />
</member>
<member name="M:NLog.Targets.DatabaseParameterInfo.RenderValue(NLog.LogEventInfo)">
<summary>
Render Result Value
</summary>
<param name="logEvent">Log event for rendering</param>
<returns>Result value when available, else fallback to defaultValue</returns>
</member>
<member name="T:NLog.Targets.DatabaseTarget">
<summary>
Writes log messages to the database using an ADO.NET provider.
</summary>
<remarks>
<para>
Note .NET Core application cannot load connectionstrings from app.config / web.config. Instead use ${configsetting}
</para>
<a href="https://github.com/nlog/nlog/wiki/Database-target">See NLog Wiki</a>
</remarks>
<seealso href="https://github.com/nlog/nlog/wiki/Database-target">Documentation on NLog Wiki</seealso>
<example>
<para>
The configuration is dependent on the database type, because
there are different methods of specifying connection string, SQL
command and command parameters.
</para>
<para>MS SQL Server using System.Data.SqlClient:</para>
<code lang="XML" source="examples/targets/Configuration File/Database/MSSQL/NLog.config" height="450" />
<para>Oracle using System.Data.OracleClient:</para>
<code lang="XML" source="examples/targets/Configuration File/Database/Oracle.Native/NLog.config" height="350" />
<para>Oracle using System.Data.OleDBClient:</para>
<code lang="XML" source="examples/targets/Configuration File/Database/Oracle.OleDB/NLog.config" height="350" />
<para>To set up the log target programmatically use code like this (an equivalent of MSSQL configuration):</para>
<code lang="C#" source="examples/targets/Configuration API/Database/MSSQL/Example.cs" height="630" />
</example>
</member>
<member name="M:NLog.Targets.DatabaseTarget.#ctor">
<summary>
Initializes a new instance of the <see cref="T:NLog.Targets.DatabaseTarget" /> class.
</summary>
</member>
<member name="M:NLog.Targets.DatabaseTarget.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:NLog.Targets.DatabaseTarget" /> class.
</summary>
<param name="name">Name of the target.</param>
</member>
<member name="P:NLog.Targets.DatabaseTarget.DBProvider">
<summary>
Gets or sets the name of the database provider.
</summary>
<remarks>
<para>
The parameter name should be a provider invariant name as registered in machine.config or app.config. Common values are:
</para>
<ul>
<li><c>System.Data.SqlClient</c> - <see href="https://msdn.microsoft.com/en-us/library/system.data.sqlclient.aspx">SQL Sever Client</see></li>
<li><c>System.Data.SqlServerCe.3.5</c> - <see href="https://www.microsoft.com/sqlserver/2005/en/us/compact.aspx">SQL Sever Compact 3.5</see></li>
<li><c>System.Data.OracleClient</c> - <see href="https://msdn.microsoft.com/en-us/library/system.data.oracleclient.aspx">Oracle Client from Microsoft</see> (deprecated in .NET Framework 4)</li>
<li><c>Oracle.DataAccess.Client</c> - <see href="https://www.oracle.com/technology/tech/windows/odpnet/index.html">ODP.NET provider from Oracle</see></li>
<li><c>System.Data.SQLite</c> - <see href="http://sqlite.phxsoftware.com/">System.Data.SQLite driver for SQLite</see></li>
<li><c>Npgsql</c> - <see href="https://www.npgsql.org/">Npgsql driver for PostgreSQL</see></li>
<li><c>MySql.Data.MySqlClient</c> - <see href="https://www.mysql.com/downloads/connector/net/">MySQL Connector/Net</see></li>
</ul>
<para>(Note that provider invariant names are not supported on .NET Compact Framework).</para>
<para>
Alternatively the parameter value can be be a fully qualified name of the provider
connection type (class implementing <see cref="T:System.Data.IDbConnection" />) or one of the following tokens:
</para>
<ul>
<li><c>sqlserver</c>, <c>mssql</c>, <c>microsoft</c> or <c>msde</c> - SQL Server Data Provider</li>
<li><c>oledb</c> - OLEDB Data Provider</li>
<li><c>odbc</c> - ODBC Data Provider</li>
</ul>
</remarks>
<docgen category='Connection Options' order='10' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.ConnectionStringName">
<summary>
Gets or sets the name of the connection string (as specified in <see href="https://msdn.microsoft.com/en-us/library/bf7sd233.aspx">&lt;connectionStrings&gt; configuration section</see>.
</summary>
<docgen category='Connection Options' order='50' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.ConnectionString">
<summary>
Gets or sets the connection string. When provided, it overrides the values
specified in DBHost, DBUserName, DBPassword, DBDatabase.
</summary>
<docgen category='Connection Options' order='10' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.InstallConnectionString">
<summary>
Gets or sets the connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used.
</summary>
<docgen category='Installation Options' order='100' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.InstallDdlCommands">
<summary>
Gets the installation DDL commands.
</summary>
<docgen category='Installation Options' order='100' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.UninstallDdlCommands">
<summary>
Gets the uninstallation DDL commands.
</summary>
<docgen category='Installation Options' order='100' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.KeepConnection">
<summary>
Gets or sets a value indicating whether to keep the
database connection open between the log events.
</summary>
<docgen category='Connection Options' order='10' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.DBHost">
<summary>
Gets or sets the database host name. If the ConnectionString is not provided
this value will be used to construct the "Server=" part of the
connection string.
</summary>
<docgen category='Connection Options' order='50' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.DBUserName">
<summary>
Gets or sets the database user name. If the ConnectionString is not provided
this value will be used to construct the "User ID=" part of the
connection string.
</summary>
<docgen category='Connection Options' order='50' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.DBPassword">
<summary>
Gets or sets the database password. If the ConnectionString is not provided
this value will be used to construct the "Password=" part of the
connection string.
</summary>
<docgen category='Connection Options' order='50' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.DBDatabase">
<summary>
Gets or sets the database name. If the ConnectionString is not provided
this value will be used to construct the "Database=" part of the
connection string.
</summary>
<docgen category='Connection Options' order='50' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.CommandText">
<summary>
Gets or sets the text of the SQL command to be run on each log level.
</summary>
<remarks>
Typically this is a SQL INSERT statement or a stored procedure call.
It should use the database-specific parameters (marked as <c>@parameter</c>
for SQL server or <c>:parameter</c> for Oracle, other data providers
have their own notation) and not the layout renderers,
because the latter is prone to SQL injection attacks.
The layout renderers should be specified as &lt;parameter /&gt; elements instead.
</remarks>
<docgen category='SQL Statement' order='10' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.CommandType">
<summary>
Gets or sets the type of the SQL command to be run on each log level.
</summary>
<remarks>
This specifies how the command text is interpreted, as "Text" (default) or as "StoredProcedure".
When using the value StoredProcedure, the commandText-property would
normally be the name of the stored procedure. TableDirect method is not supported in this context.
</remarks>
<docgen category='SQL Statement' order='11' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.Parameters">
<summary>
Gets the collection of parameters. Each item contains a mapping
between NLog layout and a database named or positional parameter.
</summary>
<docgen category='SQL Statement' order='14' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.ConnectionProperties">
<summary>
Gets the collection of properties. Each item contains a mapping
between NLog layout and a property on the DbConnection instance
</summary>
<docgen category='Connection Options' order='50' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.CommandProperties">
<summary>
Gets the collection of properties. Each item contains a mapping
between NLog layout and a property on the DbCommand instance
</summary>
<docgen category='Connection Options' order='50' />
</member>
<member name="P:NLog.Targets.DatabaseTarget.IsolationLevel">
<summary>
Configures isolated transaction batch writing. If supported by the database, then it will improve insert performance.
</summary>
<docgen category='Performance Tuning Options' order='10' />
</member>
<member name="M:NLog.Targets.DatabaseTarget.Install(NLog.Config.InstallationContext)">
<summary>
Performs installation which requires administrative permissions.
</summary>
<param name="installationContext">The installation context.</param>
</member>
<member name="M:NLog.Targets.DatabaseTarget.Uninstall(NLog.Config.InstallationContext)">
<summary>
Performs uninstallation which requires administrative permissions.
</summary>
<param name="installationContext">The installation context.</param>
</member>
<member name="M:NLog.Targets.DatabaseTarget.IsInstalled(NLog.Config.InstallationContext)">
<summary>
Determines whether the item is installed.
</summary>
<param name="installationContext">The installation context.</param>
<returns>
Value indicating whether the item is installed or null if it is not possible to determine.
</returns>
</member>
<member name="M:NLog.Targets.DatabaseTarget.InitializeTarget">
<inheritdoc/>
</member>
<member name="M:NLog.Targets.DatabaseTarget.SetConnectionType">
<summary>
Set the <see cref="P:NLog.Targets.DatabaseTarget.ConnectionType"/> to use it for opening connections to the database.
</summary>
</member>
<member name="M:NLog.Targets.DatabaseTarget.CloseTarget">
<inheritdoc/>
</member>
<member name="M:NLog.Targets.DatabaseTarget.Write(NLog.LogEventInfo)">
<summary>
Writes the specified logging event to the database. It creates
a new database command, prepares parameters for it by calculating
layouts and executes the command.
</summary>
<param name="logEvent">The logging event.</param>
</member>
<member name="M:NLog.Targets.DatabaseTarget.Write(System.Collections.Generic.IList{NLog.Common.AsyncLogEventInfo})">
<summary>
Writes an array of logging events to the log target. By default it iterates on all
events and passes them to "Write" method. Inheriting classes can use this method to
optimize batch writes.
</summary>
<param name="logEvents">Logging events to be written out.</param>
</member>
<member name="M:NLog.Targets.DatabaseTarget.ExecuteDbCommandWithParameters(NLog.LogEventInfo,System.Data.IDbConnection,System.Data.IDbTransaction)">
<summary>
Write logEvent to database
</summary>
</member>
<member name="M:NLog.Targets.DatabaseTarget.BuildConnectionString(NLog.LogEventInfo)">
<summary>
Build the connectionstring from the properties.
</summary>
<remarks>
Using <see cref="P:NLog.Targets.DatabaseTarget.ConnectionString"/> at first, and falls back to the properties <see cref="P:NLog.Targets.DatabaseTarget.DBHost"/>,
<see cref="P:NLog.Targets.DatabaseTarget.DBUserName"/>, <see cref="P:NLog.Targets.DatabaseTarget.DBPassword"/> and <see cref="P:NLog.Targets.DatabaseTarget.DBDatabase"/>
</remarks>
<param name="logEvent">Event to render the layout inside the properties.</param>
<returns></returns>
</member>
<member name="M:NLog.Targets.DatabaseTarget.EscapeValueForConnectionString(System.String)">
<summary>
Escape quotes and semicolons.
See https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms722656(v=vs.85)#setting-values-that-use-reserved-characters
</summary>
</member>
<member name="M:NLog.Targets.DatabaseTarget.CreateDatabaseParameter(System.Data.IDbCommand,NLog.Targets.DatabaseParameterInfo)">
<summary>
Create database parameter
</summary>
<param name="command">Current command.</param>
<param name="parameterInfo">Parameter configuration info.</param>
</member>
<member name="M:NLog.Targets.DatabaseTarget.GetDatabaseParameterValue(NLog.LogEventInfo,NLog.Targets.DatabaseParameterInfo)">
<summary>
Extract parameter value from the logevent
</summary>
<param name="logEvent">Current logevent.</param>
<param name="parameterInfo">Parameter configuration info.</param>
</member>
<member name="T:NLog.Internal.ReflectionHelpers">
<summary>
Reflection helpers.
</summary>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
</startup>
</configuration>

@ -0,0 +1,26 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
VBFileManagement
</name>
</assembly>
<members>
<member name="T:VBFileManagement.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:VBFileManagement.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:VBFileManagement.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
</members>
</doc>

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6", FrameworkDisplayName = ".NET Framework 4.6")]

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]

@ -0,0 +1 @@
10c7087e2fb2a293ca13be5eb2c063ae4d6f8a3668d1fe623d4c2b4f1bd61a16

@ -0,0 +1,26 @@
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\ToolsDoksImportExport.exe.config
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\ToolsDoksImportExport.exe
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\ToolsDoksImportExport.pdb
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\Database.dll
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\Model.dll
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\VBFileManagement.dll
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\Helper.dll
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\Logging.dll
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\NLog.dll
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\NLog.Database.dll
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\Database.pdb
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\Model.pdb
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\VBFileManagement.pdb
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\VBFileManagement.xml
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\Helper.pdb
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\Logging.pdb
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\NLog.xml
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\bin\Debug\NLog.Database.xml
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\obj\Debug\ToolsDoksImportExport.csproj.AssemblyReference.cache
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\obj\Debug\ToolsDoksImportExport.Form1.resources
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\obj\Debug\ToolsDoksImportExport.Properties.Resources.resources
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\obj\Debug\ToolsDoksImportExport.csproj.GenerateResource.cache
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\obj\Debug\ToolsDoksImportExport.csproj.CoreCompileInputs.cache
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\obj\Debug\ToolsDok.60F7CB03.Up2Date
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\obj\Debug\ToolsDoksImportExport.exe
E:\Software-Projekte\OnDoc\OnDoc\ToolsDoksImportExport\obj\Debug\ToolsDoksImportExport.pdb

@ -43,4 +43,3 @@ E:\Software-Projekte\OnDoc\OnDoc\ZZ_BarcpdeFromFont\bin\Debug\Syncfusion.OfficeC
E:\Software-Projekte\OnDoc\OnDoc\ZZ_BarcpdeFromFont\bin\Debug\Syncfusion.DocIO.Base.xml
E:\Software-Projekte\OnDoc\OnDoc\ZZ_BarcpdeFromFont\bin\Debug\Syncfusion.Compression.Base.xml
E:\Software-Projekte\OnDoc\OnDoc\ZZ_BarcpdeFromFont\bin\Debug\Syncfusion.OfficeChart.Base.xml
E:\Software-Projekte\OnDoc\OnDoc\ZZ_BarcpdeFromFont\bin\Debug\vbBarcodes.xml

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save