Initial Comit

main
Stefan Hutter 2 years ago
commit 50e9e06829

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

@ -0,0 +1,120 @@
{
"Version": 1,
"WorkspaceRootPath": "X:\\docdemo\\EDOKA_2024\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{9A58502E-AC8B-4103-AE5E-F4BAC4B65820}|EDOKA_Logging\\EDOKA_Logging.csproj|x:\\docdemo\\edoka_2024\\edoka_logging\\class1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9A58502E-AC8B-4103-AE5E-F4BAC4B65820}|EDOKA_Logging\\EDOKA_Logging.csproj|solutionrelative:edoka_logging\\class1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{98FFA7F4-2784-4815-A2EA-83DFC1ADBEA1}|Database\\EDOKA_Database.csproj|X:\\docdemo\\EDOKA_2024\\database\\classdiagram1.cd||{59B0B277-7DDF-4E36-A3ED-02DAC5B9E2FA}|",
"RelativeMoniker": "D:0:0:{98FFA7F4-2784-4815-A2EA-83DFC1ADBEA1}|Database\\EDOKA_Database.csproj|solutionrelative:database\\classdiagram1.cd||{59B0B277-7DDF-4E36-A3ED-02DAC5B9E2FA}|"
},
{
"AbsoluteMoniker": "D:0:0:{820F669A-5881-4145-B202-32B53A62989B}|DOCGEN\\DOCGEN.csproj|X:\\docdemo\\EDOKA_2024\\docgen\\klassendiagramm.cd||{59B0B277-7DDF-4E36-A3ED-02DAC5B9E2FA}|",
"RelativeMoniker": "D:0:0:{820F669A-5881-4145-B202-32B53A62989B}|DOCGEN\\DOCGEN.csproj|solutionrelative:docgen\\klassendiagramm.cd||{59B0B277-7DDF-4E36-A3ED-02DAC5B9E2FA}|"
},
{
"AbsoluteMoniker": "D:0:0:{820F669A-5881-4145-B202-32B53A62989B}|DOCGEN\\DOCGEN.csproj|X:\\docdemo\\EDOKA_2024\\docgen\\clsdocgen.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{820F669A-5881-4145-B202-32B53A62989B}|DOCGEN\\DOCGEN.csproj|solutionrelative:docgen\\clsdocgen.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{820F669A-5881-4145-B202-32B53A62989B}|DOCGEN\\DOCGEN.csproj|X:\\docdemo\\EDOKA_2024\\docgen\\klassen\\docgenerator_from_edoka.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{820F669A-5881-4145-B202-32B53A62989B}|DOCGEN\\DOCGEN.csproj|solutionrelative:docgen\\klassen\\docgenerator_from_edoka.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{820F669A-5881-4145-B202-32B53A62989B}|DOCGEN\\DOCGEN.csproj|X:\\docdemo\\EDOKA_2024\\docgen\\klassen\\synfword.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{820F669A-5881-4145-B202-32B53A62989B}|DOCGEN\\DOCGEN.csproj|solutionrelative:docgen\\klassen\\synfword.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 2,
"Children": [
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "clsDocGen.cs",
"DocumentMoniker": "X:\\docdemo\\EDOKA_2024\\DOCGEN\\clsDocGen.cs",
"RelativeDocumentMoniker": "DOCGEN\\clsDocGen.cs",
"ToolTip": "X:\\docdemo\\EDOKA_2024\\DOCGEN\\clsDocGen.cs",
"RelativeToolTip": "DOCGEN\\clsDocGen.cs",
"ViewState": "AQIAACMAAAAAAAAAAIA9wDAAAAAnAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-05-30T08:34:10.707Z",
"IsPinned": true
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "Class1.cs",
"DocumentMoniker": "X:\\docdemo\\EDOKA_2024\\EDOKA_Logging\\Class1.cs",
"RelativeDocumentMoniker": "EDOKA_Logging\\Class1.cs",
"ToolTip": "X:\\docdemo\\EDOKA_2024\\EDOKA_Logging\\Class1.cs",
"RelativeToolTip": "EDOKA_Logging\\Class1.cs",
"ViewState": "AQIAABEAAAAAAAAAAAAxwAAAAAAAAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-05-30T11:47:48.226Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "ClassDiagram1.cd",
"DocumentMoniker": "X:\\docdemo\\EDOKA_2024\\Database\\ClassDiagram1.cd",
"RelativeDocumentMoniker": "Database\\ClassDiagram1.cd",
"ToolTip": "X:\\docdemo\\EDOKA_2024\\Database\\ClassDiagram1.cd",
"RelativeToolTip": "Database\\ClassDiagram1.cd",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000463|",
"WhenOpened": "2024-05-30T11:46:08.477Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "DocGenerator_from_EDOKA.cs",
"DocumentMoniker": "X:\\docdemo\\EDOKA_2024\\DOCGEN\\Klassen\\DocGenerator_from_EDOKA.cs",
"RelativeDocumentMoniker": "DOCGEN\\Klassen\\DocGenerator_from_EDOKA.cs",
"ToolTip": "X:\\docdemo\\EDOKA_2024\\DOCGEN\\Klassen\\DocGenerator_from_EDOKA.cs",
"RelativeToolTip": "DOCGEN\\Klassen\\DocGenerator_from_EDOKA.cs",
"ViewState": "AQIAAAIAAAAAAAAAAAAMwBAAAAAEAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-05-30T10:27:09.078Z"
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "Klassendiagramm.cd",
"DocumentMoniker": "X:\\docdemo\\EDOKA_2024\\DOCGEN\\Klassendiagramm.cd",
"RelativeDocumentMoniker": "DOCGEN\\Klassendiagramm.cd",
"ToolTip": "X:\\docdemo\\EDOKA_2024\\DOCGEN\\Klassendiagramm.cd",
"RelativeToolTip": "DOCGEN\\Klassendiagramm.cd",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000463|",
"WhenOpened": "2024-05-30T10:23:11.894Z"
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "SynFWord.cs",
"DocumentMoniker": "X:\\docdemo\\EDOKA_2024\\DOCGEN\\Klassen\\SynFWord.cs",
"RelativeDocumentMoniker": "DOCGEN\\Klassen\\SynFWord.cs",
"ToolTip": "X:\\docdemo\\EDOKA_2024\\DOCGEN\\Klassen\\SynFWord.cs",
"RelativeToolTip": "DOCGEN\\Klassen\\SynFWord.cs",
"ViewState": "AQIAAAkAAAAAAAAAAIAwwBcAAAAEAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-05-30T10:22:36.448Z"
}
]
}
]
}
]
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<ClassDiagram />

@ -0,0 +1,102 @@
<?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>{820F669A-5881-4145-B202-32B53A62989B}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DOCGEN</RootNamespace>
<AssemblyName>DOCGEN</AssemblyName>
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<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' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.3.2\lib\net46\NLog.dll</HintPath>
</Reference>
<Reference Include="NLog.Database, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.Database.5.3.2\lib\net46\NLog.Database.dll</HintPath>
</Reference>
<Reference Include="Syncfusion.Compression.Base, Version=25.2462.5.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89, processorArchitecture=MSIL">
<HintPath>..\packages\Syncfusion.Compression.Base.25.2.5\lib\net462\Syncfusion.Compression.Base.dll</HintPath>
</Reference>
<Reference Include="Syncfusion.DocIO.Base, Version=25.2462.5.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89, processorArchitecture=MSIL">
<HintPath>..\packages\Syncfusion.DocIO.WinForms.25.2.5\lib\net462\Syncfusion.DocIO.Base.dll</HintPath>
</Reference>
<Reference Include="Syncfusion.DocToPdfConverter.Base, Version=25.2462.5.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89, processorArchitecture=MSIL">
<HintPath>..\packages\Syncfusion.DocToPDFConverter.WinForms.25.2.5\lib\net462\Syncfusion.DocToPdfConverter.Base.dll</HintPath>
</Reference>
<Reference Include="Syncfusion.Licensing, Version=25.2462.5.0, Culture=neutral, PublicKeyToken=632609b4d040f6b4, processorArchitecture=MSIL">
<HintPath>..\packages\Syncfusion.Licensing.25.2.5\lib\net462\Syncfusion.Licensing.dll</HintPath>
</Reference>
<Reference Include="Syncfusion.OfficeChart.Base, Version=25.2462.5.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89, processorArchitecture=MSIL">
<HintPath>..\packages\Syncfusion.OfficeChart.Base.25.2.5\lib\net462\Syncfusion.OfficeChart.Base.dll</HintPath>
</Reference>
<Reference Include="Syncfusion.Pdf.Base, Version=25.2462.5.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89, processorArchitecture=MSIL">
<HintPath>..\packages\Syncfusion.Pdf.WinForms.25.2.5\lib\net462\Syncfusion.Pdf.Base.dll</HintPath>
</Reference>
<Reference Include="Syncfusion.XlsIO.Base, Version=25.2462.5.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89, processorArchitecture=MSIL">
<HintPath>..\packages\Syncfusion.XlsIO.WinForms.25.2.5\lib\net462\Syncfusion.XlsIO.Base.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.Transactions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="clsDocGen.cs" />
<Compile Include="clsDocGet.cs" />
<Compile Include="Klassen\DocGenerator_from_EDOKA.cs" />
<Compile Include="Klassen\SyncFPDF.cs" />
<Compile Include="Klassen\SyndFExcel.cs" />
<Compile Include="Klassen\SynFWord.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="Klassendiagramm.cd" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Database\EDOKA_Database.csproj">
<Project>{98ffa7f4-2784-4815-a2ea-83dfc1adbea1}</Project>
<Name>EDOKA_Database</Name>
</ProjectReference>
<ProjectReference Include="..\Helper\Helper.csproj">
<Project>{216c1660-5ad5-4a5e-80e4-150ccf673cbc}</Project>
<Name>Helper</Name>
</ProjectReference>
<ProjectReference Include="..\Model\Model.csproj">
<Project>{a1fd0973-89a7-4588-877d-373835d6e00c}</Project>
<Name>Model</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

@ -0,0 +1,95 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using edoka_dms;
using DOCGEN.Klassen;
using EDOKA_Database;
using System.Data;
using Model;
using System.Diagnostics;
using NLog;
namespace DOCGEN.Generator
{
public class DocGenerator_from_EDOKA
{
public string connectionstring;
public string DokumentID;
public string tempdir;
private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();
public DocGenerator_from_EDOKA(string connectionstring)
{
this.connectionstring = connectionstring;
}
public DocGenerator_from_EDOKA(string connectionstring, string tempdir)
{
this.connectionstring = connectionstring;
this.tempdir = tempdir;
}
public string Generate_Doc_EDOKA(string dokumentid)
{
EDOKA_DB db = new EDOKA_DB(connectionstring);
DataTable dt = new DataTable();
string Apptype = "";
dt = db.Get_Vorlage_By_DokumentID(DokumentID);
db.dsdaten.Tables.Clear();
Apptype = db.Get_ApplicationType_from_Vorlage(Convert.ToInt32(dt.Rows[0]["nr"].ToString()));
switch(Apptype.ToUpper())
{
case "DOCX": case "DOCM": case "DOC": case "DOT": case "Word":
SynFWord sfword = new SynFWord();
clsDocData docdata = new clsDocData();
docdata.PartnerNr = "1234";
generate_docdata(dokumentid, ref docdata);
string doc = sfword.Generate_Word(dt.Rows[0][0].ToString(),docdata);
return doc;
//System.IO.File.WriteAllBytes(tempdir + @"\" + dokumentid + ".docx", Convert.FromBase64String(doc));
//Process.Start(tempdir + @"\" + dokumentid + ".docx");
//break;
case "XLSM": case "XLSX": case "XLST": case "XLS": case "XLT":
return "";
//break;
case "PDF": case "ACROBAT": case "FORMULAR": case "DOKUMENT":
string pdf = dt.Rows[0][0].ToString();
return pdf;
//break ;
default:
Logger.Info("DocGenerator_from_EDOKA: FileType unknown"+ Apptype);
return "";
//break;
}
//db.get_vorlage_to_file(db.dsdaten.Tables[0].Rows[0][1].ToString(),tempdir,dokumentid );
}
public void generate_docdata(string dokumentid, ref clsDocData docdata)
{
List<clsDocValue> docValues = new List<clsDocValue>();
EDOKA_Database.EDOKA_DB db = new EDOKA_Database.EDOKA_DB(connectionstring);
db.Get_Tabledata("exec sp_dokumentwerte '" + dokumentid + "',0", false, true);
foreach (DataRow r in db.dsdaten.Tables[0].Rows)
{
clsDocValue dv = new clsDocValue();
dv.TMBeginn = r["beginntextmarke"].ToString();
dv.TMEnd = r["endetextmarke"].ToString();
dv.FieldName = r["feldname"].ToString();
dv.Value = r["xvalue"].ToString();
docValues.Add(dv);
}
clsDocValue dv1 = new clsDocValue();
dv1.TMBeginn = "";
dv1.TMEnd = "";
dv1.FieldName = "Text1";
dv1.Value = "Das ist der Text, welcher automatisch in die Briefvorlage kopiert wird. " + "\r\n"+
"Mit einem Zeilenumbruch";
docValues.Add(dv1);
docdata.As_Faksimile = "True";
docdata.DocValues = docValues;
}
}
}

@ -0,0 +1,308 @@
using Syncfusion.DocIO.DLS;
using Syncfusion.DocIO;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Syncfusion.Calculate;
using Helper;
using System.Data;
using Model;
using System.Linq.Expressions;
using NLog;
using Syncfusion.XlsIO.Implementation.XmlSerialization;
using System.Security.Authentication.ExtendedProtection;
using System.Drawing;
using Syncfusion.XPS;
using System.Xml.Linq;
using System.Text.RegularExpressions;
namespace DOCGEN.Klassen
{
public class SynFWord
{
public string Generate_Word(string base64, clsDocData docdata)
{
string formattype = "";
MemoryStream ms = new MemoryStream(Helper.EncodeExtensions.DecodeBase642ByteArray(base64));
WordDocument document = new WordDocument(ms, FormatType.Doc);
formattype = document.ActualFormatType.ToString();
var formattype_original = document.ActualFormatType;
foreach (clsDocValue dv in docdata.DocValues)
{
if (dv.TMBeginn.ToString() != "" && dv.TMEnd.ToString() == "")
{
try
{
BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document);
if ((dv.TMBeginn.ToString() == "TGEDKVornameNameLinksB99" || dv.TMBeginn.ToString() == "TGEDKVornameNameRechtsB99") && docdata.As_Faksimile == "True")
{
bookmarkNavigator.MoveToBookmark(dv.TMBeginn.ToString());
IWParagraph paragraph = new WParagraph(document);
paragraph.AppendBreak(BreakType.LineBreak);
System.Drawing.Image image = System.Drawing.Image.FromFile(@"x:\docdemo\unterschriften\kube1.png");
paragraph.AppendPicture(image);
paragraph.AppendBreak(BreakType.LineBreak);
paragraph.AppendText(dv.Value.ToString());
bookmarkNavigator.InsertParagraph(paragraph);
}
else
{
bookmarkNavigator.MoveToBookmark(dv.TMBeginn.ToString());
bookmarkNavigator.InsertText(dv.Value.ToString());
}
}
catch { }
}
if (dv.TMBeginn.ToString() != "" && dv.TMEnd.ToString() != "")
{
try
{
ReplaceBookmarkContent(document, dv.TMBeginn.ToString(), dv.TMEnd.ToString(), dv.Value.ToString());
}
catch { }
}
if (dv.FieldName.ToString() != "")
{
try
{
foreach (WSection section in document.Sections)
//Iterates through section child elements
foreach (WTextBody textBody in section.ChildEntities)
{
//Iterates through form fields
foreach (WFormField formField in textBody.FormFields)
{
if (formField.Name == dv.FieldName.ToString())
{
formField.Text = dv.Value.ToString();
break;
}
}
}
}
catch { }
}
}
if (docdata.As_Faksimile == "True")
{
TextSelection[] textSelections = document.FindAll("Thurgauer Kantonalbank", false, true);
foreach (TextSelection selection in textSelections)
{
WTextRange textRange = selection.GetAsOneRange();
WTextBody ownerTextBody = textRange.OwnerParagraph.OwnerTextBody;
//Get the index of the paragraph with specified text
int ownerParaIndex = ownerTextBody.ChildEntities.IndexOf(textRange.OwnerParagraph);
//Check whether the previous and next paragraphs are empty and remove them
if (ownerParaIndex > 0 && ownerTextBody.ChildEntities[ownerParaIndex - 1] is WParagraph &&
(ownerTextBody.ChildEntities[ownerParaIndex - 1] as WParagraph).Items.Count == 0)
{
ownerTextBody.ChildEntities.RemoveAt(ownerParaIndex - 1);
}
if (ownerParaIndex + 1 < ownerTextBody.ChildEntities.Count &&
ownerTextBody.ChildEntities[ownerParaIndex + 1] is WParagraph &&
(ownerTextBody.ChildEntities[ownerParaIndex + 1] as WParagraph).Items.Count == 0)
{
for (int i = 0; i < 4; i++) {
try
{
ownerTextBody.ChildEntities.RemoveAt(ownerParaIndex + 1);
}
catch { }
}
}
}
}
document.Save(@"x:\docdemo\unterschriften\gaga.docx");
document.Save(ms, formattype_original);
document.Close();
byte[] imageArray = ms.ToArray();
return Convert.ToBase64String(imageArray);
}
public static void ReplaceBookmarkText(WordDocument document, string bookmarkName, string textToFind, string textToReplace)
{
//Check whether the bookmark name is valid.
if (string.IsNullOrEmpty(bookmarkName) || document.Bookmarks.FindByName(bookmarkName) == null)
return;
//Move to the virtual cursor before the bookmark end location of the bookmark.
BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document);
bookmarksNavigator.MoveToBookmark(bookmarkName);
//Replace the bookmark content with new text.
TextBodyPart textBodyPart = bookmarksNavigator.GetBookmarkContent();
//Get paragraph from the textBody part.
foreach (TextBodyItem item in textBodyPart.BodyItems)
{
IterateTextBody(item, textToFind, textToReplace);
}
//Replace the bookmark content with text body part.
bookmarksNavigator.ReplaceBookmarkContent(textBodyPart);
}
public static void IterateTextBody(TextBodyItem item, string textToFind, string textToReplace)
{
switch (item.EntityType)
{
case EntityType.Paragraph:
WParagraph paragraph = (WParagraph)item;
//Replace a text in the bookmark content.
paragraph.Replace(new System.Text.RegularExpressions.Regex(textToFind), textToReplace);
break;
case EntityType.Table:
WTable table = (WTable)item;
foreach (WTableRow row in table.Rows)
{
foreach (WTableCell cell in row.Cells)
{
foreach (TextBodyItem bodyItem in cell.ChildEntities)
{
IterateTextBody(bodyItem, textToFind, textToReplace);
}
}
}
break;
case EntityType.BlockContentControl:
WTextBody body = (item as IBlockContentControl).TextBody;
foreach (TextBodyItem bodyitem in body.ChildEntities)
IterateTextBody(bodyitem, textToFind, textToReplace);
break;
}
}
public void ReplaceBookmarkContent(WordDocument document, String bookmark1, String bookmark2, String replacementContent)
{
//Temp Bookmark.
String tempBookmarkName = "tempBookmark";
#region Insert bookmark start after bookmark1.
//Get the bookmark instance by using FindByName method of BookmarkCollection with bookmark name.
Bookmark firstBookmark = document.Bookmarks.FindByName(bookmark1);
//Access the bookmark ends owner paragraph by using bookmark.
WParagraph firstBookmarkOwnerPara = firstBookmark.BookmarkEnd.OwnerParagraph;
//Get the index of bookmark end of bookmark1.
int index = firstBookmarkOwnerPara.Items.IndexOf(firstBookmark.BookmarkEnd);
//Create and add new bookmark start after bookmark1.
BookmarkStart newBookmarkStart = new BookmarkStart(document, tempBookmarkName);
firstBookmarkOwnerPara.ChildEntities.Insert(index + 1, newBookmarkStart);
#endregion
#region Insert bookmark end before bookmark2.
//Get the bookmark instance by using FindByName method of BookmarkCollection with bookmark name.
Bookmark secondBookmark = document.Bookmarks.FindByName(bookmark2);
//Access the bookmark starts owner paragraph by using bookmark.
WParagraph secondBookmarkOwnerPara = secondBookmark.BookmarkStart.OwnerParagraph;
//Get the index of bookmark start of bookmark2.
index = secondBookmarkOwnerPara.Items.IndexOf(secondBookmark.BookmarkStart);
//Create and add new bookmark end before bookmark2.
BookmarkEnd newBookmarkEnd = new BookmarkEnd(document, tempBookmarkName);
secondBookmarkOwnerPara.ChildEntities.Insert(index, newBookmarkEnd);
#endregion
#region Select bookmark content and replace.
//Create the bookmark navigator instance to access the newly created bookmark.
BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document);
//Move the virtual cursor to the location of the temp bookmark.
bookmarkNavigator.MoveToBookmark(tempBookmarkName);
//Replace the bookmark content.
bookmarkNavigator.ReplaceBookmarkContent(replacementContent, true);
#endregion
#region Remove that temporary bookmark.
//Get the bookmark instance by using FindByName method of BookmarkCollection with bookmark name.
Bookmark bookmark = document.Bookmarks.FindByName(tempBookmarkName);
//Remove the temp bookmark named from Word document.
document.Bookmarks.Remove(bookmark);
#endregion
}
private void RemoveEmptyParagraph(IWSection curSection)
{
int j = 0;
int paraCount = 0;
while (j < curSection.Body.ChildEntities.Count)
{
//Read the section text body
WTextBody textBody = curSection.Body;
//Read all the body items collection
BodyItemCollection textbodycollection = textBody.ChildEntities as BodyItemCollection;
if (textbodycollection[j].EntityType == EntityType.Paragraph)
{
IWParagraph paragraph = textbodycollection[j] as IWParagraph;
if (paragraph.Items.Count == 0)
{
//Remove the empty paragraph to the Section
curSection.Paragraphs.RemoveAt(paraCount);
}
else
{
paraCount++;
j++;
}
}
else
{
j++;
}
}
}
private static Entity GetOwnerEntity(BookmarkStart bookmarkStart)
{
Entity baseEntity = bookmarkStart.Owner;
while (!(baseEntity is WSection))
{
if (baseEntity is null)
return baseEntity;
baseEntity = baseEntity.Owner;
}
return baseEntity;
}
public Image resizeImage(Image imgToResize, Size size)
{
return (Image)(new Bitmap(imgToResize, size));
}
private static void FindAndReplaceInTable(WTable table, TextSelection textSelection)
{
//Iterate through the rows of table.
foreach (WTableRow row in table.Rows)
{
//Iterate through the cells of rows.
foreach (WTableCell cell in row.Cells)
{
//Iterates through the items in cell.
foreach (Entity entity in cell.ChildEntities)
{
if (entity.EntityType == EntityType.Paragraph)
{
WParagraph paragraph = entity as WParagraph;
//Replace the specified regular expression with a TextSelection in the paragraph.
paragraph.Replace(new Regex("<<(.*)>>"), textSelection);
}
else if (entity.EntityType == EntityType.Table)
{
FindAndReplaceInTable(entity as WTable, textSelection);
}
}
}
}
}
}
}

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DOCGEN.Klassen
{
public class SyncFPDF
{
}
}

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DOCGEN.Klassen
{
internal class SyndFExcel
{
}
}

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<ClassDiagram MajorVersion="1" MinorVersion="1">
<Class Name="DOCGEN.DocGen" Collapsed="true">
<Position X="1.25" Y="1.5" Width="1.5" />
<TypeIdentifier>
<HashCode>ACAAAACAAAI4AAAAIAAAAACAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>clsDocGen.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="DOCGEN.clsGetDoc" Collapsed="true">
<Position X="1.25" Y="2.5" Width="1.5" />
<TypeIdentifier>
<HashCode>ACAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAACAAAAA=</HashCode>
<FileName>clsDocGet.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="DOCGEN.Generator.DocGenerator_from_EDOKA" Collapsed="true">
<Position X="4" Y="1.5" Width="1.5" />
<TypeIdentifier>
<HashCode>ACAAAAAAAAIIAAAAAAgAAIAAAAAAAAAAAAACAAAAAAA=</HashCode>
<FileName>Klassen\DocGenerator_from_EDOKA.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="DOCGEN.Klassen.SyncFPDF" Collapsed="true">
<Position X="7.5" Y="1.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Klassen\SyncFPDF.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="DOCGEN.Klassen.SyndFExcel" Collapsed="true">
<Position X="7.5" Y="2.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Klassen\SyndFExcel.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="DOCGEN.Klassen.SynFWord" Collapsed="true">
<Position X="7.5" Y="3" Width="1.5" />
<TypeIdentifier>
<HashCode>AABAAAAAAABAAAAAAAAAAAABAAAIAAAAAAAhAAAAAkA=</HashCode>
<FileName>Klassen\SynFWord.cs</FileName>
</TypeIdentifier>
</Class>
<Font Name="Segoe UI" Size="9" />
</ClassDiagram>

@ -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("DOCGEN")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("HP Inc.")]
[assembly: AssemblyProduct("DOCGEN")]
[assembly: AssemblyCopyright("Copyright © HP Inc. 2024")]
[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("820f669a-5881-4145-b202-32b53a62989b")]
// 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,56 @@
using DOCGEN.Klassen;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using edoka_dms;
using Syncfusion.XlsIO.Parser.Biff_Records;
using Syncfusion.DocIO.DLS;
using System.Data.SqlClient;
using System.Data;
using System.Runtime.CompilerServices;
using Model;
using EDOKA_Database;
namespace DOCGEN
{
public class DocGen
{
public edoka_dms.clsConnectionProvider conn_edoka = new edoka_dms.clsConnectionProvider();
private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();
public string DokumentID = "";
public string connectionstring = "";
public clsDocData DocData = new clsDocData();
EDOKA_DB db = new EDOKA_DB();
public void Lic()
{
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("Ngo9BigBOggjHTQxAR8/V1NBaF5cXmZCf1FpRmJGdld5fUVHYVZUTXxaS00DNHVRdkdnWXxccXVWR2VdUUZ3VkM=");
}
public DocGen() {
Lic();
}
public DocGen(string Connectionstring)
{
this.connectionstring = Connectionstring;
this.DocData = DocData;
db.connectionstring = this.connectionstring;
Lic();
}
public void GenDoc(clsDocData docdata)
{
this.DocData = docdata;
if (DocData.UseEDOKA_Values.ToUpper() == "TRUE")
{
DokumentID=db.Create_EDOKA_Doc(this.DocData);
}
}
}
}

@ -0,0 +1,38 @@
using EDOKA_Database;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace DOCGEN
{
public class clsGetDoc
{
private string connectionstring = "";
public clsGetDoc(string Connectionstring)
{
this.connectionstring = Connectionstring;
}
public string GetDocAsPDF(string Docid)
{
string doc = GetDoc(Docid);
return "";
}
public string GetDoc(string Docid)
{
EDOKA_DB db = new EDOKA_DB(connectionstring);
db.GetDocumentAsBase64(Docid);
if (Docid != "")
{
return "";
}
else
{
return "";
}
}
}
}

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

@ -0,0 +1 @@
56e83e04fa964d745c98ff832d51c070d351ad7d3f1071a104d9bb7cec1212a1

@ -0,0 +1,32 @@
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\DOCGEN.dll
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\DOCGEN.pdb
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Database.dll
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Model.dll
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Syncfusion.Compression.Base.dll
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Syncfusion.DocIO.Base.dll
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Syncfusion.DocToPdfConverter.Base.dll
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Syncfusion.Licensing.dll
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Syncfusion.OfficeChart.Base.dll
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Syncfusion.Pdf.Base.dll
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Syncfusion.XlsIO.Base.dll
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Helper.dll
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Database.pdb
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Model.pdb
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Syncfusion.Compression.Base.xml
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Syncfusion.DocIO.Base.xml
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Syncfusion.DocToPdfConverter.Base.xml
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Syncfusion.OfficeChart.Base.xml
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Syncfusion.Pdf.Base.xml
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Syncfusion.XlsIO.Base.xml
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\Helper.pdb
X:\docdemo\EDOKA_2024\DOCGEN\obj\Debug\DOCGEN.csproj.AssemblyReference.cache
X:\docdemo\EDOKA_2024\DOCGEN\obj\Debug\DOCGEN.csproj.CoreCompileInputs.cache
X:\docdemo\EDOKA_2024\DOCGEN\obj\Debug\DOCGEN.csproj.Up2Date
X:\docdemo\EDOKA_2024\DOCGEN\obj\Debug\DOCGEN.dll
X:\docdemo\EDOKA_2024\DOCGEN\obj\Debug\DOCGEN.pdb
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\NLog.dll
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\NLog.xml
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\NLog.Database.dll
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\NLog.Database.xml
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\EDOKA_Logging.dll
X:\docdemo\EDOKA_2024\DOCGEN\bin\Debug\EDOKA_Logging.pdb

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NLog" version="5.3.2" targetFramework="net481" />
<package id="NLog.Database" version="5.3.2" targetFramework="net481" />
<package id="Syncfusion.Compression.Base" version="25.2.5" targetFramework="net481" />
<package id="Syncfusion.DocIO.WinForms" version="25.2.5" targetFramework="net481" />
<package id="Syncfusion.DocToPDFConverter.WinForms" version="25.2.5" targetFramework="net481" />
<package id="Syncfusion.Licensing" version="25.2.5" targetFramework="net481" />
<package id="Syncfusion.OfficeChart.Base" version="25.2.5" targetFramework="net481" />
<package id="Syncfusion.Pdf.WinForms" version="25.2.5" targetFramework="net481" />
<package id="Syncfusion.XlsIO.WinForms" version="25.2.5" targetFramework="net481" />
</packages>

@ -0,0 +1 @@
{"RootPath":"X:\\docdemo\\EDOKA_2024\\Database","ProjectFileName":"Database.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"db.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.8.1.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8.1\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8.1\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8.1\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8.1\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8.1\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8.1\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8.1\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8.1\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8.1\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"X:\\docdemo\\EDOKA_2024\\Database\\bin\\Debug\\Database.dll","OutputItemRelativePath":"Database.dll"},{"OutputItemFullPath":"X:\\docdemo\\EDOKA_2024\\Database\\bin\\Debug\\Database.pdb","OutputItemRelativePath":"Database.pdb"}],"CopyToOutputEntries":[]}

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<ClassDiagram MajorVersion="1" MinorVersion="1">
<Class Name="edoka_dms.clsPartner" Collapsed="true">
<Position X="1" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AQwi+ENGhSeWqgCoCAWiaCBUAPOAcuxfEAScTQVQgEM=</HashCode>
<FileName>DB\clsPartner.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="edoka_dms.clsConnectionProvider" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="17" Y="0.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAABAAARISCACIAABAAAABAAAQAAggAAAAAAAAEAIAA=</HashCode>
<FileName>DB\clsConnectionProvider.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" Collapsed="true" />
</Class>
<Class Name="edoka_dms.clsDBInteractionBase" Collapsed="true">
<Position X="7.75" Y="0.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAQBAEIAACAAAAAAAAgAJgAAAAEAgAAACAEAAgEBAAA=</HashCode>
<FileName>DB\clsDBInteractionBase.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" />
</Class>
<Class Name="edoka_dms.clsDokument" Collapsed="true">
<Position X="5.5" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>+tXUal1ZgKQFQLhVIPsIpxh2aGWY8sojcKANAVbrpR4=</HashCode>
<FileName>DB\clsDokument.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="edoka_dms.clsDokument_status" Collapsed="true">
<Position X="10" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>ABQAgkgAICQAQIBBAEAIoIABAEGAAQAACAAkIBAAQAA=</HashCode>
<FileName>DB\clsDokument_status.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="edoka_dms.clsDokumentstatus" Collapsed="true">
<Position X="14.5" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>ABQAoOgBACQAAIBAAEAA4IAhAFEIhAEAQAAAISBAQAg=</HashCode>
<FileName>DB\clsDokumentstatus.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="edoka_dms.clsDokumenttyp" Collapsed="true">
<Position X="3.25" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>I/xlUMmxWDAoaZxmlPzCsMU4CecphQRSCABqEJFGtKA=</HashCode>
<FileName>DB\clsDokumenttyp.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="edoka_dms.clsKey_tabelle" Collapsed="true">
<Position X="7.75" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>ABREAMgAACACAAAAAACAoIAAAEEIhAAAAAAAAAAAIAQ=</HashCode>
<FileName>DB\clsKey_tabelle.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="edoka_dms.clsMitarbeiter" Collapsed="true">
<Position X="12.25" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>BBXQgc4ECTyAYAGASAAhpKBAEGEalAiAmABgIBhQABI=</HashCode>
<FileName>DB\clsMitarbeiter.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="edoka_dms.clsMyKey_Tabelle" Collapsed="true">
<Position X="7.75" Y="3.25" Width="1.5" />
<TypeIdentifier>
<HashCode>ACAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>DB\clsMyKey_Tabelle.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="EDOKA_Database.EDOKA_DB" Collapsed="true">
<Position X="1.25" Y="5" Width="1.5" />
<TypeIdentifier>
<HashCode>ACIAAAACAIwAAgAAEAACAYAQAAAAAgAABCAAQQABAAA=</HashCode>
<FileName>db.cs</FileName>
</TypeIdentifier>
</Class>
<Interface Name="edoka_dms.ICommonDBAccess" Collapsed="true">
<Position X="17" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAQAAEAAACAAAAAAAAAAIAAAAAEAAAAAAAAAAAAAAAA=</HashCode>
<FileName>DB\clsDBInteractionBase.cs</FileName>
</TypeIdentifier>
</Interface>
<Enum Name="edoka_dms.LLBLError" Collapsed="true">
<Position X="17" Y="2.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>DB\clsDBInteractionBase.cs</FileName>
</TypeIdentifier>
</Enum>
<Font Name="Segoe UI" Size="9" />
</ClassDiagram>

@ -0,0 +1,288 @@
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
namespace edoka_dms
{
public class clsConnectionProvider : IDisposable
{
#region Class Member Declarations
private SqlConnection m_scoDBConnection;
private bool m_bIsTransactionPending, m_bIsDisposed;
private SqlTransaction m_stCurrentTransaction;
private ArrayList m_alSavePoints;
#endregion
public clsConnectionProvider()
{
// Init the class
InitClass();
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool bIsDisposing)
{
// Check to see if Dispose has already been called.
if(!m_bIsDisposed)
{
if(bIsDisposing)
{
// Dispose managed resources.
if(m_stCurrentTransaction != null)
{
m_stCurrentTransaction.Dispose();
m_stCurrentTransaction = null;
}
if(m_scoDBConnection != null)
{
// closing the connection will abort (rollback) any pending transactions
m_scoDBConnection.Close();
m_scoDBConnection.Dispose();
m_scoDBConnection = null;
}
}
}
m_bIsDisposed = true;
}
private void InitClass()
{
// create all the objects and initialize other members.
m_scoDBConnection = new SqlConnection();
m_bIsDisposed = false;
m_stCurrentTransaction = null;
m_bIsTransactionPending = false;
m_alSavePoints = new ArrayList();
}
public bool OpenConnection()
{
try
{
if((m_scoDBConnection.State & ConnectionState.Open) > 0)
{
// it's already open.
throw new Exception("OpenConnection::Connection is already open.");
}
m_scoDBConnection.Open();
m_bIsTransactionPending = false;
return true;
}
catch(Exception ex)
{
// bubble exception
throw ex;
}
}
public bool BeginTransaction(string sTransactionName)
{
try
{
if(m_bIsTransactionPending)
{
// no nested transactions allowed.
throw new Exception("BeginTransaction::Already transaction pending. Nesting not allowed");
}
if((m_scoDBConnection.State & ConnectionState.Open) == 0)
{
// no open connection
throw new Exception("BeginTransaction::Connection is not open.");
}
// begin the transaction and store the transaction object.
m_stCurrentTransaction = m_scoDBConnection.BeginTransaction(IsolationLevel.ReadCommitted, sTransactionName);
m_bIsTransactionPending = true;
m_alSavePoints.Clear();
return true;
}
catch(Exception ex)
{
// bubble error
throw ex;
}
}
public bool CommitTransaction()
{
try
{
if(!m_bIsTransactionPending)
{
// no transaction pending
throw new Exception("CommitTransaction::No transaction pending.");
}
if((m_scoDBConnection.State & ConnectionState.Open) == 0)
{
// no open connection
throw new Exception("CommitTransaction::Connection is not open.");
}
// commit the transaction
m_stCurrentTransaction.Commit();
m_bIsTransactionPending = false;
m_stCurrentTransaction.Dispose();
m_stCurrentTransaction = null;
m_alSavePoints.Clear();
return true;
}
catch(Exception ex)
{
// bubble error
throw ex;
}
}
public bool RollbackTransaction(string sTransactionToRollback)
{
try
{
if(!m_bIsTransactionPending)
{
// no transaction pending
throw new Exception("RollbackTransaction::No transaction pending.");
}
if((m_scoDBConnection.State & ConnectionState.Open) == 0)
{
// no open connection
throw new Exception("RollbackTransaction::Connection is not open.");
}
// rollback the transaction
m_stCurrentTransaction.Rollback(sTransactionToRollback);
// if this wasn't a savepoint, we've rolled back the complete transaction, so we
// can clean it up.
if(!m_alSavePoints.Contains(sTransactionToRollback))
{
// it's not a savepoint
m_bIsTransactionPending = false;
m_stCurrentTransaction.Dispose();
m_stCurrentTransaction = null;
m_alSavePoints.Clear();
}
return true;
}
catch(Exception ex)
{
// bubble error
throw ex;
}
}
public bool SaveTransaction(string sSavePointName)
{
try
{
if(!m_bIsTransactionPending)
{
// no transaction pending
throw new Exception("SaveTransaction::No transaction pending.");
}
if((m_scoDBConnection.State & ConnectionState.Open) == 0)
{
// no open connection
throw new Exception("SaveTransaction::Connection is not open.");
}
// save the transaction
m_stCurrentTransaction.Save(sSavePointName);
// Store the savepoint in the list.
m_alSavePoints.Add(sSavePointName);
return true;
}
catch(Exception ex)
{
// bubble error
throw ex;
}
}
public bool CloseConnection(bool bCommitPendingTransaction)
{
try
{
if((m_scoDBConnection.State & ConnectionState.Open) == 0)
{
// no open connection
return false;
}
if(m_bIsTransactionPending)
{
if(bCommitPendingTransaction)
{
// commit the pending transaction
m_stCurrentTransaction.Commit();
}
else
{
// rollback the pending transaction
m_stCurrentTransaction.Rollback();
}
m_bIsTransactionPending = false;
m_stCurrentTransaction.Dispose();
m_stCurrentTransaction = null;
m_alSavePoints.Clear();
}
// close the connection
m_scoDBConnection.Close();
return true;
}
catch(Exception ex)
{
// bubble error
throw ex;
}
}
#region Class Property Declarations
public SqlTransaction stCurrentTransaction
{
get
{
return m_stCurrentTransaction;
}
}
public bool bIsTransactionPending
{
get
{
return m_bIsTransactionPending;
}
}
public SqlConnection scoDBConnection
{
get
{
return m_scoDBConnection;
}
}
public string sConnectionString
{
set
{
m_scoDBConnection.ConnectionString = value;
}
}
#endregion
}
}

@ -0,0 +1,187 @@
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
namespace edoka_dms
{
public enum LLBLError
{
AllOk
// Add more here (check the comma's!)
}
public interface ICommonDBAccess
{
bool Insert();
bool Update();
bool Delete();
DataTable SelectOne();
DataTable SelectAll();
}
public abstract class clsDBInteractionBase : IDisposable, ICommonDBAccess
{
#region Class Member Declarations
protected SqlConnection m_scoMainConnection;
protected int m_iRowsAffected;
protected SqlInt32 m_iErrorCode;
protected bool m_bMainConnectionIsCreatedLocal;
protected clsConnectionProvider m_cpMainConnectionProvider;
private string m_sConnectionString;
private bool m_bIsDisposed;
#endregion
public clsDBInteractionBase()
{
// Initialize the class' members.
InitClass();
}
private void InitClass()
{
// create all the objects and initialize other members.
m_scoMainConnection = new SqlConnection();
m_bMainConnectionIsCreatedLocal = true;
m_cpMainConnectionProvider = null;
m_iErrorCode = (int)LLBLError.AllOk;
m_bIsDisposed = false;
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool bIsDisposing)
{
// Check to see if Dispose has already been called.
if(!m_bIsDisposed)
{
if(bIsDisposing)
{
// Dispose managed resources.
if(m_bMainConnectionIsCreatedLocal)
{
// Object is created in this class, so destroy it here.
m_scoMainConnection.Close();
m_scoMainConnection.Dispose();
m_bMainConnectionIsCreatedLocal = false;
}
m_cpMainConnectionProvider = null;
m_scoMainConnection = null;
}
}
m_bIsDisposed = true;
}
public virtual bool Insert()
{
// No implementation, throw exception
throw new NotImplementedException();
}
public virtual bool Delete()
{
// No implementation, throw exception
throw new NotImplementedException();
}
public virtual bool Update()
{
// No implementation, throw exception
throw new NotImplementedException();
}
public virtual DataTable SelectOne()
{
// No implementation, throw exception
throw new NotImplementedException();
}
public virtual DataTable SelectAll()
{
// No implementation, throw exception
throw new NotImplementedException();
}
#region Class Property Declarations
public clsConnectionProvider cpMainConnectionProvider
{
set
{
if(value==null)
{
// Invalid value
throw new ArgumentNullException("cpMainConnectionProvider", "Null passed as value to this property which is not allowed.");
}
// A connection provider object is passed to this class.
// Retrieve the SqlConnection object, if present and create a
// reference to it. If there is already a MainConnection object
// referenced by the membervar, destroy that one or simply
// remove the reference, based on the flag.
if(m_scoMainConnection!=null)
{
// First get rid of current connection object. Caller is responsible
if(m_bMainConnectionIsCreatedLocal)
{
// Is local created object, close it and dispose it.
m_scoMainConnection.Close();
m_scoMainConnection.Dispose();
}
// Remove reference.
m_scoMainConnection = null;
}
m_cpMainConnectionProvider = (clsConnectionProvider)value;
m_scoMainConnection = m_cpMainConnectionProvider.scoDBConnection;
m_bMainConnectionIsCreatedLocal = false;
}
}
public SqlInt32 iErrorCode
{
get
{
return m_iErrorCode;
}
}
public string sConnectionString
{
get
{
return m_sConnectionString;
}
set
{
m_sConnectionString = value;
m_scoMainConnection.ConnectionString = m_sConnectionString;
}
}
public int iRowsAffected
{
get
{
return m_iRowsAffected;
}
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,525 @@
using System;
using System.Data;
using System.Data.SqlTypes;
using System.Data.SqlClient;
namespace edoka_dms
{
public class clsDokument_status : clsDBInteractionBase
{
#region Class Member Declarations
private SqlBoolean m_bFolgestatus_durch_anderen_verantwortlichen, m_bDokument_bearbeitung_moeglich, m_bDokument_ausgangsarchivierung, m_bDokument_bearbeitung_abgeschlossen, m_bAktiv;
private SqlDateTime m_daErstellt_am;
private SqlInt32 m_iDokument_statusnr, m_iStatus_bezeichnungnr, m_iErledigung_ab, m_iMutierer;
private SqlString m_sDokumenitid, m_sBezeichnung, m_sReihenfolge;
#endregion
public clsDokument_status()
{
// Nothing for now.
}
public override bool Insert()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_dokument_status_Insert]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@sdokumenitid", SqlDbType.VarChar, 22, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sDokumenitid));
scmCmdToExecute.Parameters.Add(new SqlParameter("@istatus_bezeichnungnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatus_bezeichnungnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sbezeichnung", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sreihenfolge", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sReihenfolge));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bfolgestatus_durch_anderen_verantwortlichen", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bFolgestatus_durch_anderen_verantwortlichen));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokument_bearbeitung_moeglich", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bDokument_bearbeitung_moeglich));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ierledigung_ab", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iErledigung_ab));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokument_ausgangsarchivierung", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bDokument_ausgangsarchivierung));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokument_bearbeitung_abgeschlossen", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bDokument_bearbeitung_abgeschlossen));
scmCmdToExecute.Parameters.Add(new SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bAktiv));
scmCmdToExecute.Parameters.Add(new SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMutierer));
scmCmdToExecute.Parameters.Add(new SqlParameter("@idokument_statusnr", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iDokument_statusnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery();
m_iDokument_statusnr = (Int32)scmCmdToExecute.Parameters["@idokument_statusnr"].Value;
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_dokument_status_Insert' reported the ErrorCode: " + m_iErrorCode);
}
return true;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsDokument_status::Insert::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
}
}
public override bool Update()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_dokument_status_Update]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@idokument_statusnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iDokument_statusnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sdokumenitid", SqlDbType.VarChar, 22, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sDokumenitid));
scmCmdToExecute.Parameters.Add(new SqlParameter("@istatus_bezeichnungnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatus_bezeichnungnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sbezeichnung", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sreihenfolge", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sReihenfolge));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bfolgestatus_durch_anderen_verantwortlichen", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bFolgestatus_durch_anderen_verantwortlichen));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokument_bearbeitung_moeglich", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bDokument_bearbeitung_moeglich));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ierledigung_ab", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iErledigung_ab));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokument_ausgangsarchivierung", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bDokument_ausgangsarchivierung));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokument_bearbeitung_abgeschlossen", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bDokument_bearbeitung_abgeschlossen));
scmCmdToExecute.Parameters.Add(new SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bAktiv));
scmCmdToExecute.Parameters.Add(new SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMutierer));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery();
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_dokument_status_Update' reported the ErrorCode: " + m_iErrorCode);
}
return true;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsDokument_status::Update::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
}
}
public override bool Delete()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_dokument_status_Delete]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@idokument_statusnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iDokument_statusnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery();
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_dokument_status_Delete' reported the ErrorCode: " + m_iErrorCode);
}
return true;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsDokument_status::Delete::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
}
}
public override DataTable SelectOne()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_dokument_status_SelectOne]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
DataTable dtToReturn = new DataTable("dokument_status");
SqlDataAdapter sdaAdapter = new SqlDataAdapter(scmCmdToExecute);
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@idokument_statusnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iDokument_statusnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
sdaAdapter.Fill(dtToReturn);
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_dokument_status_SelectOne' reported the ErrorCode: " + m_iErrorCode);
}
if(dtToReturn.Rows.Count > 0)
{
m_iDokument_statusnr = (Int32)dtToReturn.Rows[0]["dokument_statusnr"];
m_sDokumenitid = dtToReturn.Rows[0]["dokumenitid"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["dokumenitid"];
m_iStatus_bezeichnungnr = dtToReturn.Rows[0]["status_bezeichnungnr"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["status_bezeichnungnr"];
m_sBezeichnung = dtToReturn.Rows[0]["bezeichnung"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["bezeichnung"];
m_sReihenfolge = dtToReturn.Rows[0]["reihenfolge"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["reihenfolge"];
m_bFolgestatus_durch_anderen_verantwortlichen = dtToReturn.Rows[0]["folgestatus_durch_anderen_verantwortlichen"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["folgestatus_durch_anderen_verantwortlichen"];
m_bDokument_bearbeitung_moeglich = dtToReturn.Rows[0]["dokument_bearbeitung_moeglich"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["dokument_bearbeitung_moeglich"];
m_iErledigung_ab = dtToReturn.Rows[0]["erledigung_ab"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["erledigung_ab"];
m_bDokument_ausgangsarchivierung = dtToReturn.Rows[0]["dokument_ausgangsarchivierung"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["dokument_ausgangsarchivierung"];
m_bDokument_bearbeitung_abgeschlossen = dtToReturn.Rows[0]["dokument_bearbeitung_abgeschlossen"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["dokument_bearbeitung_abgeschlossen"];
m_bAktiv = dtToReturn.Rows[0]["aktiv"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["aktiv"];
m_daErstellt_am = dtToReturn.Rows[0]["erstellt_am"] == System.DBNull.Value ? SqlDateTime.Null : (DateTime)dtToReturn.Rows[0]["erstellt_am"];
m_iMutierer = dtToReturn.Rows[0]["mutierer"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["mutierer"];
}
return dtToReturn;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsDokument_status::SelectOne::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
sdaAdapter.Dispose();
}
}
public override DataTable SelectAll()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_dokument_status_SelectAll]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
DataTable dtToReturn = new DataTable("dokument_status");
SqlDataAdapter sdaAdapter = new SqlDataAdapter(scmCmdToExecute);
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
sdaAdapter.Fill(dtToReturn);
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_dokument_status_SelectAll' reported the ErrorCode: " + m_iErrorCode);
}
return dtToReturn;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsDokument_status::SelectAll::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
sdaAdapter.Dispose();
}
}
#region Class Property Declarations
public SqlInt32 iDokument_statusnr
{
get
{
return m_iDokument_statusnr;
}
set
{
SqlInt32 iDokument_statusnrTmp = (SqlInt32)value;
if(iDokument_statusnrTmp.IsNull)
{
throw new ArgumentOutOfRangeException("iDokument_statusnr", "iDokument_statusnr can't be NULL");
}
m_iDokument_statusnr = value;
}
}
public SqlString sDokumenitid
{
get
{
return m_sDokumenitid;
}
set
{
m_sDokumenitid = value;
}
}
public SqlInt32 iStatus_bezeichnungnr
{
get
{
return m_iStatus_bezeichnungnr;
}
set
{
m_iStatus_bezeichnungnr = value;
}
}
public SqlString sBezeichnung
{
get
{
return m_sBezeichnung;
}
set
{
m_sBezeichnung = value;
}
}
public SqlString sReihenfolge
{
get
{
return m_sReihenfolge;
}
set
{
m_sReihenfolge = value;
}
}
public SqlBoolean bFolgestatus_durch_anderen_verantwortlichen
{
get
{
return m_bFolgestatus_durch_anderen_verantwortlichen;
}
set
{
m_bFolgestatus_durch_anderen_verantwortlichen = value;
}
}
public SqlBoolean bDokument_bearbeitung_moeglich
{
get
{
return m_bDokument_bearbeitung_moeglich;
}
set
{
m_bDokument_bearbeitung_moeglich = value;
}
}
public SqlInt32 iErledigung_ab
{
get
{
return m_iErledigung_ab;
}
set
{
m_iErledigung_ab = value;
}
}
public SqlBoolean bDokument_ausgangsarchivierung
{
get
{
return m_bDokument_ausgangsarchivierung;
}
set
{
m_bDokument_ausgangsarchivierung = value;
}
}
public SqlBoolean bDokument_bearbeitung_abgeschlossen
{
get
{
return m_bDokument_bearbeitung_abgeschlossen;
}
set
{
m_bDokument_bearbeitung_abgeschlossen = value;
}
}
public SqlBoolean bAktiv
{
get
{
return m_bAktiv;
}
set
{
m_bAktiv = value;
}
}
public SqlDateTime daErstellt_am
{
get
{
return m_daErstellt_am;
}
set
{
m_daErstellt_am = value;
}
}
public SqlInt32 iMutierer
{
get
{
return m_iMutierer;
}
set
{
m_iMutierer = value;
}
}
#endregion
}
}

@ -0,0 +1,591 @@
using System;
using System.Data;
using System.Data.SqlTypes;
using System.Data.SqlClient;
namespace edoka_dms
{
public class clsDokumentstatus : clsDBInteractionBase
{
#region Class Member Declarations
private SqlBoolean m_bFolgestatus_durch_anderen_verantwortlichen, m_bDokumentbearbeitung_moeglich, m_bDokument_ausgangsarchivieren, m_bDokument_bearbeitung_abgeschlossen, m_bAktiv;
private SqlDateTime m_daErstellt_am, m_daMutiert_am;
private SqlInt32 m_iDokumentstatusnr, m_iDokumenttypnr, m_iStatustypnr, m_iStatus_bezeichnungnr, m_iReihenfolge, m_iErledigung_ab, m_iMandantnr, m_iMutierer, m_iStatustyp;
#endregion
public clsDokumentstatus()
{
// Nothing for now.
}
public override bool Insert()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_dokumentstatus_Insert]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@idokumentstatusnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iDokumentstatusnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@idokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iDokumenttypnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@istatustypnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatustypnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@istatus_bezeichnungnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatus_bezeichnungnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ireihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bfolgestatus_durch_anderen_verantwortlichen", SqlDbType.Bit, 1, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, m_bFolgestatus_durch_anderen_verantwortlichen));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokumentbearbeitung_moeglich", SqlDbType.Bit, 1, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, m_bDokumentbearbeitung_moeglich));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ierledigung_ab", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iErledigung_ab));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokument_ausgangsarchivieren", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bDokument_ausgangsarchivieren));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokument_bearbeitung_abgeschlossen", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bDokument_bearbeitung_abgeschlossen));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bAktiv));
scmCmdToExecute.Parameters.Add(new SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am));
scmCmdToExecute.Parameters.Add(new SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMutierer));
scmCmdToExecute.Parameters.Add(new SqlParameter("@istatustyp", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatustyp));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery();
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_dokumentstatus_Insert' reported the ErrorCode: " + m_iErrorCode);
}
return true;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsDokumentstatus::Insert::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
}
}
public override bool Update()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_dokumentstatus_Update]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@idokumentstatusnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iDokumentstatusnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@idokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iDokumenttypnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@istatustypnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatustypnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@istatus_bezeichnungnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatus_bezeichnungnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ireihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bfolgestatus_durch_anderen_verantwortlichen", SqlDbType.Bit, 1, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, m_bFolgestatus_durch_anderen_verantwortlichen));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokumentbearbeitung_moeglich", SqlDbType.Bit, 1, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, m_bDokumentbearbeitung_moeglich));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ierledigung_ab", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iErledigung_ab));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokument_ausgangsarchivieren", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bDokument_ausgangsarchivieren));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bdokument_bearbeitung_abgeschlossen", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bDokument_bearbeitung_abgeschlossen));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bAktiv));
scmCmdToExecute.Parameters.Add(new SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am));
scmCmdToExecute.Parameters.Add(new SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMutierer));
scmCmdToExecute.Parameters.Add(new SqlParameter("@istatustyp", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatustyp));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery();
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_dokumentstatus_Update' reported the ErrorCode: " + m_iErrorCode);
}
return true;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsDokumentstatus::Update::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
}
}
public override bool Delete()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_dokumentstatus_Delete]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@idokumentstatusnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iDokumentstatusnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery();
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_dokumentstatus_Delete' reported the ErrorCode: " + m_iErrorCode);
}
return true;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsDokumentstatus::Delete::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
}
}
public override DataTable SelectOne()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_dokumentstatus_SelectOne]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
DataTable dtToReturn = new DataTable("dokumentstatus");
SqlDataAdapter sdaAdapter = new SqlDataAdapter(scmCmdToExecute);
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@idokumentstatusnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iDokumentstatusnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
sdaAdapter.Fill(dtToReturn);
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_dokumentstatus_SelectOne' reported the ErrorCode: " + m_iErrorCode);
}
if(dtToReturn.Rows.Count > 0)
{
m_iDokumentstatusnr = (Int32)dtToReturn.Rows[0]["dokumentstatusnr"];
m_iDokumenttypnr = dtToReturn.Rows[0]["dokumenttypnr"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["dokumenttypnr"];
m_iStatustypnr = dtToReturn.Rows[0]["statustypnr"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["statustypnr"];
m_iStatus_bezeichnungnr = dtToReturn.Rows[0]["status_bezeichnungnr"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["status_bezeichnungnr"];
m_iReihenfolge = (Int32)dtToReturn.Rows[0]["reihenfolge"];
m_bFolgestatus_durch_anderen_verantwortlichen = (bool)dtToReturn.Rows[0]["folgestatus_durch_anderen_verantwortlichen"];
m_bDokumentbearbeitung_moeglich = (bool)dtToReturn.Rows[0]["dokumentbearbeitung_moeglich"];
m_iErledigung_ab = (Int32)dtToReturn.Rows[0]["erledigung_ab"];
m_bDokument_ausgangsarchivieren = dtToReturn.Rows[0]["dokument_ausgangsarchivieren"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["dokument_ausgangsarchivieren"];
m_bDokument_bearbeitung_abgeschlossen = dtToReturn.Rows[0]["dokument_bearbeitung_abgeschlossen"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["dokument_bearbeitung_abgeschlossen"];
m_iMandantnr = dtToReturn.Rows[0]["mandantnr"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["mandantnr"];
m_bAktiv = dtToReturn.Rows[0]["aktiv"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["aktiv"];
m_daErstellt_am = dtToReturn.Rows[0]["erstellt_am"] == System.DBNull.Value ? SqlDateTime.Null : (DateTime)dtToReturn.Rows[0]["erstellt_am"];
m_daMutiert_am = dtToReturn.Rows[0]["mutiert_am"] == System.DBNull.Value ? SqlDateTime.Null : (DateTime)dtToReturn.Rows[0]["mutiert_am"];
m_iMutierer = dtToReturn.Rows[0]["mutierer"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["mutierer"];
m_iStatustyp = dtToReturn.Rows[0]["statustyp"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["statustyp"];
}
return dtToReturn;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsDokumentstatus::SelectOne::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
sdaAdapter.Dispose();
}
}
public override DataTable SelectAll()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_dokumentstatus_SelectAll]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
DataTable dtToReturn = new DataTable("dokumentstatus");
SqlDataAdapter sdaAdapter = new SqlDataAdapter(scmCmdToExecute);
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
sdaAdapter.Fill(dtToReturn);
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_dokumentstatus_SelectAll' reported the ErrorCode: " + m_iErrorCode);
}
return dtToReturn;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsDokumentstatus::SelectAll::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
sdaAdapter.Dispose();
}
}
#region Class Property Declarations
public SqlInt32 iDokumentstatusnr
{
get
{
return m_iDokumentstatusnr;
}
set
{
SqlInt32 iDokumentstatusnrTmp = (SqlInt32)value;
if(iDokumentstatusnrTmp.IsNull)
{
throw new ArgumentOutOfRangeException("iDokumentstatusnr", "iDokumentstatusnr can't be NULL");
}
m_iDokumentstatusnr = value;
}
}
public SqlInt32 iDokumenttypnr
{
get
{
return m_iDokumenttypnr;
}
set
{
m_iDokumenttypnr = value;
}
}
public SqlInt32 iStatustypnr
{
get
{
return m_iStatustypnr;
}
set
{
m_iStatustypnr = value;
}
}
public SqlInt32 iStatus_bezeichnungnr
{
get
{
return m_iStatus_bezeichnungnr;
}
set
{
m_iStatus_bezeichnungnr = value;
}
}
public SqlInt32 iReihenfolge
{
get
{
return m_iReihenfolge;
}
set
{
SqlInt32 iReihenfolgeTmp = (SqlInt32)value;
if(iReihenfolgeTmp.IsNull)
{
throw new ArgumentOutOfRangeException("iReihenfolge", "iReihenfolge can't be NULL");
}
m_iReihenfolge = value;
}
}
public SqlBoolean bFolgestatus_durch_anderen_verantwortlichen
{
get
{
return m_bFolgestatus_durch_anderen_verantwortlichen;
}
set
{
SqlBoolean bFolgestatus_durch_anderen_verantwortlichenTmp = (SqlBoolean)value;
if(bFolgestatus_durch_anderen_verantwortlichenTmp.IsNull)
{
throw new ArgumentOutOfRangeException("bFolgestatus_durch_anderen_verantwortlichen", "bFolgestatus_durch_anderen_verantwortlichen can't be NULL");
}
m_bFolgestatus_durch_anderen_verantwortlichen = value;
}
}
public SqlBoolean bDokumentbearbeitung_moeglich
{
get
{
return m_bDokumentbearbeitung_moeglich;
}
set
{
SqlBoolean bDokumentbearbeitung_moeglichTmp = (SqlBoolean)value;
if(bDokumentbearbeitung_moeglichTmp.IsNull)
{
throw new ArgumentOutOfRangeException("bDokumentbearbeitung_moeglich", "bDokumentbearbeitung_moeglich can't be NULL");
}
m_bDokumentbearbeitung_moeglich = value;
}
}
public SqlInt32 iErledigung_ab
{
get
{
return m_iErledigung_ab;
}
set
{
SqlInt32 iErledigung_abTmp = (SqlInt32)value;
if(iErledigung_abTmp.IsNull)
{
throw new ArgumentOutOfRangeException("iErledigung_ab", "iErledigung_ab can't be NULL");
}
m_iErledigung_ab = value;
}
}
public SqlBoolean bDokument_ausgangsarchivieren
{
get
{
return m_bDokument_ausgangsarchivieren;
}
set
{
m_bDokument_ausgangsarchivieren = value;
}
}
public SqlBoolean bDokument_bearbeitung_abgeschlossen
{
get
{
return m_bDokument_bearbeitung_abgeschlossen;
}
set
{
m_bDokument_bearbeitung_abgeschlossen = value;
}
}
public SqlInt32 iMandantnr
{
get
{
return m_iMandantnr;
}
set
{
m_iMandantnr = value;
}
}
public SqlBoolean bAktiv
{
get
{
return m_bAktiv;
}
set
{
m_bAktiv = value;
}
}
public SqlDateTime daErstellt_am
{
get
{
return m_daErstellt_am;
}
set
{
m_daErstellt_am = value;
}
}
public SqlDateTime daMutiert_am
{
get
{
return m_daMutiert_am;
}
set
{
m_daMutiert_am = value;
}
}
public SqlInt32 iMutierer
{
get
{
return m_iMutierer;
}
set
{
m_iMutierer = value;
}
}
public SqlInt32 iStatustyp
{
get
{
return m_iStatustyp;
}
set
{
m_iStatustyp = value;
}
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,455 @@
using System;
using System.Data;
using System.Data.SqlTypes;
using System.Data.SqlClient;
namespace edoka_dms
{
public class clsKey_tabelle : clsDBInteractionBase
{
#region Class Member Declarations
private SqlBoolean m_bAktiv;
private SqlDateTime m_daErstellt_am, m_daMutiert_am;
private SqlInt32 m_iKeynr, m_iKey_wert, m_iMandantnr, m_iMutierer;
private SqlString m_sBeschreibung;
#endregion
public clsKey_tabelle()
{
// Nothing for now.
}
public override bool Insert()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Insert]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bAktiv));
scmCmdToExecute.Parameters.Add(new SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am));
scmCmdToExecute.Parameters.Add(new SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMutierer));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iKeynr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery();
m_iKeynr = (Int32)scmCmdToExecute.Parameters["@ikeynr"].Value;
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_key_tabelle_Insert' reported the ErrorCode: " + m_iErrorCode);
}
return true;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsKey_tabelle::Insert::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
}
}
public override bool Update()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Update]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iKeynr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bAktiv));
scmCmdToExecute.Parameters.Add(new SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am));
scmCmdToExecute.Parameters.Add(new SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMutierer));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery();
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_key_tabelle_Update' reported the ErrorCode: " + m_iErrorCode);
}
return true;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsKey_tabelle::Update::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
}
}
public override bool Delete()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Delete]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iKeynr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery();
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_key_tabelle_Delete' reported the ErrorCode: " + m_iErrorCode);
}
return true;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsKey_tabelle::Delete::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
}
}
public override DataTable SelectOne()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectOne]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
DataTable dtToReturn = new DataTable("key_tabelle");
SqlDataAdapter sdaAdapter = new SqlDataAdapter(scmCmdToExecute);
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iKeynr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
sdaAdapter.Fill(dtToReturn);
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_key_tabelle_SelectOne' reported the ErrorCode: " + m_iErrorCode);
}
if(dtToReturn.Rows.Count > 0)
{
m_iKeynr = (Int32)dtToReturn.Rows[0]["keynr"];
m_sBeschreibung = (string)dtToReturn.Rows[0]["beschreibung"];
m_iKey_wert = (Int32)dtToReturn.Rows[0]["key_wert"];
m_iMandantnr = dtToReturn.Rows[0]["mandantnr"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["mandantnr"];
m_bAktiv = dtToReturn.Rows[0]["aktiv"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["aktiv"];
m_daErstellt_am = dtToReturn.Rows[0]["erstellt_am"] == System.DBNull.Value ? SqlDateTime.Null : (DateTime)dtToReturn.Rows[0]["erstellt_am"];
m_daMutiert_am = dtToReturn.Rows[0]["mutiert_am"] == System.DBNull.Value ? SqlDateTime.Null : (DateTime)dtToReturn.Rows[0]["mutiert_am"];
m_iMutierer = dtToReturn.Rows[0]["mutierer"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["mutierer"];
}
return dtToReturn;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsKey_tabelle::SelectOne::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
sdaAdapter.Dispose();
}
}
public override DataTable SelectAll()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectAll]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
DataTable dtToReturn = new DataTable("key_tabelle");
SqlDataAdapter sdaAdapter = new SqlDataAdapter(scmCmdToExecute);
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
sdaAdapter.Fill(dtToReturn);
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_key_tabelle_SelectAll' reported the ErrorCode: " + m_iErrorCode);
}
return dtToReturn;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsKey_tabelle::SelectAll::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
sdaAdapter.Dispose();
}
}
#region Class Property Declarations
public SqlInt32 iKeynr
{
get
{
return m_iKeynr;
}
set
{
SqlInt32 iKeynrTmp = (SqlInt32)value;
if(iKeynrTmp.IsNull)
{
throw new ArgumentOutOfRangeException("iKeynr", "iKeynr can't be NULL");
}
m_iKeynr = value;
}
}
public SqlString sBeschreibung
{
get
{
return m_sBeschreibung;
}
set
{
SqlString sBeschreibungTmp = (SqlString)value;
if(sBeschreibungTmp.IsNull)
{
throw new ArgumentOutOfRangeException("sBeschreibung", "sBeschreibung can't be NULL");
}
m_sBeschreibung = value;
}
}
public SqlInt32 iKey_wert
{
get
{
return m_iKey_wert;
}
set
{
SqlInt32 iKey_wertTmp = (SqlInt32)value;
if(iKey_wertTmp.IsNull)
{
throw new ArgumentOutOfRangeException("iKey_wert", "iKey_wert can't be NULL");
}
m_iKey_wert = value;
}
}
public SqlInt32 iMandantnr
{
get
{
return m_iMandantnr;
}
set
{
m_iMandantnr = value;
}
}
public SqlBoolean bAktiv
{
get
{
return m_bAktiv;
}
set
{
m_bAktiv = value;
}
}
public SqlDateTime daErstellt_am
{
get
{
return m_daErstellt_am;
}
set
{
m_daErstellt_am = value;
}
}
public SqlDateTime daMutiert_am
{
get
{
return m_daMutiert_am;
}
set
{
m_daMutiert_am = value;
}
}
public SqlInt32 iMutierer
{
get
{
return m_iMutierer;
}
set
{
m_iMutierer = value;
}
}
#endregion
}
}

@ -0,0 +1,843 @@
using System;
using System.Data;
using System.Data.SqlTypes;
using System.Data.SqlClient;
namespace edoka_dms
{
public class clsMitarbeiter : clsDBInteractionBase
{
#region Class Member Declarations
private SqlBoolean m_bGebMeldung, m_bJournalisierung, m_bEdoka_mail, m_bMailDokumentrueckgang, m_bMailDirektVersenden, m_bEdokaMesasge, m_bMailempfang, m_bAktiv, m_bShowtip;
private SqlDateTime m_daValidto, m_daMutiert_am, m_daErstellt_am;
private SqlInt32 m_iKlassifizierung, m_iMutierer, m_iMandantnr, m_iMitarbeiternr, m_iFuermandant, m_iSprache, m_iFunktionnr, m_iPartnernr;
private SqlString m_sVorname, m_sName, m_sKurzzeichen, m_sAnrede, m_sTgnummer, m_sEmail, m_sFunktion, m_sFax, m_sTelefon, m_sUnterschrift_text, m_sRang, m_sMail_1;
#endregion
public clsMitarbeiter()
{
// Nothing for now.
}
public override bool Insert()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Insert]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@svorname", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sVorname));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sname", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sName));
scmCmdToExecute.Parameters.Add(new SqlParameter("@skurzzeichen", SqlDbType.VarChar, 10, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sKurzzeichen));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sanrede", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sAnrede));
scmCmdToExecute.Parameters.Add(new SqlParameter("@stgnummer", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sTgnummer));
scmCmdToExecute.Parameters.Add(new SqlParameter("@semail", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sEmail));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sfax", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sFax));
scmCmdToExecute.Parameters.Add(new SqlParameter("@stelefon", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sTelefon));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sunterschrift_text", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sUnterschrift_text));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ifunktionnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iFunktionnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iSprache));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ifuermandant", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iFuermandant));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bshowtip", SqlDbType.Bit, 1, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, m_bShowtip));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ipartnernr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iPartnernr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bAktiv));
scmCmdToExecute.Parameters.Add(new SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am));
scmCmdToExecute.Parameters.Add(new SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMutierer));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bMailempfang", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bMailempfang));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bEdokaMesasge", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bEdokaMesasge));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sfunktion", SqlDbType.VarChar, 255, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sFunktion));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bMailDirektVersenden", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bMailDirektVersenden));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sRang", SqlDbType.VarChar, 255, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sRang));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bMailDokumentrueckgang", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bMailDokumentrueckgang));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iklassifizierung", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iKlassifizierung));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bedoka_mail", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bEdoka_mail));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bjournalisierung", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bJournalisierung));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bGebMeldung", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bGebMeldung));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sMail_1", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sMail_1));
scmCmdToExecute.Parameters.Add(new SqlParameter("@davalidto", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daValidto));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery();
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_mitarbeiter_Insert' reported the ErrorCode: " + m_iErrorCode);
}
return true;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsMitarbeiter::Insert::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
}
}
public override bool Update()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Update]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@svorname", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sVorname));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sname", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sName));
scmCmdToExecute.Parameters.Add(new SqlParameter("@skurzzeichen", SqlDbType.VarChar, 10, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sKurzzeichen));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sanrede", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sAnrede));
scmCmdToExecute.Parameters.Add(new SqlParameter("@stgnummer", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sTgnummer));
scmCmdToExecute.Parameters.Add(new SqlParameter("@semail", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sEmail));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sfax", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sFax));
scmCmdToExecute.Parameters.Add(new SqlParameter("@stelefon", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sTelefon));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sunterschrift_text", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sUnterschrift_text));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ifunktionnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iFunktionnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iSprache));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ifuermandant", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iFuermandant));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bshowtip", SqlDbType.Bit, 1, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, m_bShowtip));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ipartnernr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iPartnernr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bAktiv));
scmCmdToExecute.Parameters.Add(new SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am));
scmCmdToExecute.Parameters.Add(new SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iMutierer));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bMailempfang", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bMailempfang));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bEdokaMesasge", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bEdokaMesasge));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sfunktion", SqlDbType.VarChar, 255, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sFunktion));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bMailDirektVersenden", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bMailDirektVersenden));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sRang", SqlDbType.VarChar, 255, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sRang));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bMailDokumentrueckgang", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bMailDokumentrueckgang));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iklassifizierung", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iKlassifizierung));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bedoka_mail", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bEdoka_mail));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bjournalisierung", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bJournalisierung));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bGebMeldung", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bGebMeldung));
scmCmdToExecute.Parameters.Add(new SqlParameter("@sMail_1", SqlDbType.VarChar, 50, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sMail_1));
scmCmdToExecute.Parameters.Add(new SqlParameter("@davalidto", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daValidto));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery();
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_mitarbeiter_Update' reported the ErrorCode: " + m_iErrorCode);
}
return true;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsMitarbeiter::Update::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
}
}
public override bool Delete()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Delete]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery();
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_mitarbeiter_Delete' reported the ErrorCode: " + m_iErrorCode);
}
return true;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsMitarbeiter::Delete::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
}
}
public override DataTable SelectOne()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_SelectOne]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
DataTable dtToReturn = new DataTable("mitarbeiter");
SqlDataAdapter sdaAdapter = new SqlDataAdapter(scmCmdToExecute);
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
sdaAdapter.Fill(dtToReturn);
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_mitarbeiter_SelectOne' reported the ErrorCode: " + m_iErrorCode);
}
if(dtToReturn.Rows.Count > 0)
{
m_iMitarbeiternr = (Int32)dtToReturn.Rows[0]["mitarbeiternr"];
m_sVorname = dtToReturn.Rows[0]["vorname"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["vorname"];
m_sName = dtToReturn.Rows[0]["name"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["name"];
m_sKurzzeichen = dtToReturn.Rows[0]["kurzzeichen"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["kurzzeichen"];
m_sAnrede = dtToReturn.Rows[0]["anrede"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["anrede"];
m_sTgnummer = dtToReturn.Rows[0]["tgnummer"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["tgnummer"];
m_sEmail = dtToReturn.Rows[0]["email"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["email"];
m_sFax = dtToReturn.Rows[0]["fax"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["fax"];
m_sTelefon = dtToReturn.Rows[0]["telefon"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["telefon"];
m_sUnterschrift_text = dtToReturn.Rows[0]["unterschrift_text"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["unterschrift_text"];
m_iFunktionnr = dtToReturn.Rows[0]["funktionnr"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["funktionnr"];
m_iSprache = dtToReturn.Rows[0]["sprache"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["sprache"];
m_iFuermandant = (Int32)dtToReturn.Rows[0]["fuermandant"];
m_bShowtip = (bool)dtToReturn.Rows[0]["showtip"];
m_iPartnernr = (Int32)dtToReturn.Rows[0]["partnernr"];
m_iMandantnr = dtToReturn.Rows[0]["mandantnr"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["mandantnr"];
m_bAktiv = dtToReturn.Rows[0]["aktiv"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["aktiv"];
m_daErstellt_am = dtToReturn.Rows[0]["erstellt_am"] == System.DBNull.Value ? SqlDateTime.Null : (DateTime)dtToReturn.Rows[0]["erstellt_am"];
m_daMutiert_am = dtToReturn.Rows[0]["mutiert_am"] == System.DBNull.Value ? SqlDateTime.Null : (DateTime)dtToReturn.Rows[0]["mutiert_am"];
m_iMutierer = dtToReturn.Rows[0]["mutierer"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["mutierer"];
m_bMailempfang = dtToReturn.Rows[0]["Mailempfang"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["Mailempfang"];
m_bEdokaMesasge = dtToReturn.Rows[0]["EdokaMesasge"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["EdokaMesasge"];
m_sFunktion = dtToReturn.Rows[0]["funktion"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["funktion"];
m_bMailDirektVersenden = dtToReturn.Rows[0]["MailDirektVersenden"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["MailDirektVersenden"];
m_sRang = dtToReturn.Rows[0]["Rang"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["Rang"];
m_bMailDokumentrueckgang = dtToReturn.Rows[0]["MailDokumentrueckgang"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["MailDokumentrueckgang"];
m_iKlassifizierung = dtToReturn.Rows[0]["klassifizierung"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["klassifizierung"];
m_bEdoka_mail = dtToReturn.Rows[0]["edoka_mail"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["edoka_mail"];
m_bJournalisierung = dtToReturn.Rows[0]["journalisierung"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["journalisierung"];
m_bGebMeldung = dtToReturn.Rows[0]["GebMeldung"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["GebMeldung"];
m_sMail_1 = dtToReturn.Rows[0]["Mail_1"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["Mail_1"];
m_daValidto = dtToReturn.Rows[0]["validto"] == System.DBNull.Value ? SqlDateTime.Null : (DateTime)dtToReturn.Rows[0]["validto"];
}
return dtToReturn;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsMitarbeiter::SelectOne::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
sdaAdapter.Dispose();
}
}
public override DataTable SelectAll()
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_SelectAll]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
DataTable dtToReturn = new DataTable("mitarbeiter");
SqlDataAdapter sdaAdapter = new SqlDataAdapter(scmCmdToExecute);
// Use base class' connection object
scmCmdToExecute.Connection = m_scoMainConnection;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if(m_bMainConnectionIsCreatedLocal)
{
// Open connection.
m_scoMainConnection.Open();
}
else
{
if(m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
// Execute query.
sdaAdapter.Fill(dtToReturn);
m_iErrorCode = (Int32)scmCmdToExecute.Parameters["@iErrorCode"].Value;
if(m_iErrorCode != (int)LLBLError.AllOk)
{
// Throw error.
throw new Exception("Stored Procedure 'pr_mitarbeiter_SelectAll' reported the ErrorCode: " + m_iErrorCode);
}
return dtToReturn;
}
catch(Exception ex)
{
// some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("clsMitarbeiter::SelectAll::Error occured.", ex);
}
finally
{
if(m_bMainConnectionIsCreatedLocal)
{
// Close connection.
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
sdaAdapter.Dispose();
}
}
#region Class Property Declarations
public SqlInt32 iMitarbeiternr
{
get
{
return m_iMitarbeiternr;
}
set
{
SqlInt32 iMitarbeiternrTmp = (SqlInt32)value;
if(iMitarbeiternrTmp.IsNull)
{
throw new ArgumentOutOfRangeException("iMitarbeiternr", "iMitarbeiternr can't be NULL");
}
m_iMitarbeiternr = value;
}
}
public SqlString sVorname
{
get
{
return m_sVorname;
}
set
{
m_sVorname = value;
}
}
public SqlString sName
{
get
{
return m_sName;
}
set
{
m_sName = value;
}
}
public SqlString sKurzzeichen
{
get
{
return m_sKurzzeichen;
}
set
{
m_sKurzzeichen = value;
}
}
public SqlString sAnrede
{
get
{
return m_sAnrede;
}
set
{
m_sAnrede = value;
}
}
public SqlString sTgnummer
{
get
{
return m_sTgnummer;
}
set
{
m_sTgnummer = value;
}
}
public SqlString sEmail
{
get
{
return m_sEmail;
}
set
{
m_sEmail = value;
}
}
public SqlString sFax
{
get
{
return m_sFax;
}
set
{
m_sFax = value;
}
}
public SqlString sTelefon
{
get
{
return m_sTelefon;
}
set
{
m_sTelefon = value;
}
}
public SqlString sUnterschrift_text
{
get
{
return m_sUnterschrift_text;
}
set
{
m_sUnterschrift_text = value;
}
}
public SqlInt32 iFunktionnr
{
get
{
return m_iFunktionnr;
}
set
{
m_iFunktionnr = value;
}
}
public SqlInt32 iSprache
{
get
{
return m_iSprache;
}
set
{
m_iSprache = value;
}
}
public SqlInt32 iFuermandant
{
get
{
return m_iFuermandant;
}
set
{
SqlInt32 iFuermandantTmp = (SqlInt32)value;
if(iFuermandantTmp.IsNull)
{
throw new ArgumentOutOfRangeException("iFuermandant", "iFuermandant can't be NULL");
}
m_iFuermandant = value;
}
}
public SqlBoolean bShowtip
{
get
{
return m_bShowtip;
}
set
{
SqlBoolean bShowtipTmp = (SqlBoolean)value;
if(bShowtipTmp.IsNull)
{
throw new ArgumentOutOfRangeException("bShowtip", "bShowtip can't be NULL");
}
m_bShowtip = value;
}
}
public SqlInt32 iPartnernr
{
get
{
return m_iPartnernr;
}
set
{
SqlInt32 iPartnernrTmp = (SqlInt32)value;
if(iPartnernrTmp.IsNull)
{
throw new ArgumentOutOfRangeException("iPartnernr", "iPartnernr can't be NULL");
}
m_iPartnernr = value;
}
}
public SqlInt32 iMandantnr
{
get
{
return m_iMandantnr;
}
set
{
m_iMandantnr = value;
}
}
public SqlBoolean bAktiv
{
get
{
return m_bAktiv;
}
set
{
m_bAktiv = value;
}
}
public SqlDateTime daErstellt_am
{
get
{
return m_daErstellt_am;
}
set
{
m_daErstellt_am = value;
}
}
public SqlDateTime daMutiert_am
{
get
{
return m_daMutiert_am;
}
set
{
m_daMutiert_am = value;
}
}
public SqlInt32 iMutierer
{
get
{
return m_iMutierer;
}
set
{
m_iMutierer = value;
}
}
public SqlBoolean bMailempfang
{
get
{
return m_bMailempfang;
}
set
{
m_bMailempfang = value;
}
}
public SqlBoolean bEdokaMesasge
{
get
{
return m_bEdokaMesasge;
}
set
{
m_bEdokaMesasge = value;
}
}
public SqlString sFunktion
{
get
{
return m_sFunktion;
}
set
{
m_sFunktion = value;
}
}
public SqlBoolean bMailDirektVersenden
{
get
{
return m_bMailDirektVersenden;
}
set
{
m_bMailDirektVersenden = value;
}
}
public SqlString sRang
{
get
{
return m_sRang;
}
set
{
m_sRang = value;
}
}
public SqlBoolean bMailDokumentrueckgang
{
get
{
return m_bMailDokumentrueckgang;
}
set
{
m_bMailDokumentrueckgang = value;
}
}
public SqlInt32 iKlassifizierung
{
get
{
return m_iKlassifizierung;
}
set
{
m_iKlassifizierung = value;
}
}
public SqlBoolean bEdoka_mail
{
get
{
return m_bEdoka_mail;
}
set
{
m_bEdoka_mail = value;
}
}
public SqlBoolean bJournalisierung
{
get
{
return m_bJournalisierung;
}
set
{
m_bJournalisierung = value;
}
}
public SqlBoolean bGebMeldung
{
get
{
return m_bGebMeldung;
}
set
{
m_bGebMeldung = value;
}
}
public SqlString sMail_1
{
get
{
return m_sMail_1;
}
set
{
m_sMail_1 = value;
}
}
public SqlDateTime daValidto
{
get
{
return m_daValidto;
}
set
{
m_daValidto = value;
}
}
#endregion
}
}

@ -0,0 +1,70 @@
using edoka_dms;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace edoka_dms
{
public class clsMyKey_Tabelle : edoka_dms.clsKey_tabelle
{
public string connectionstring = "";
public string get_dbkey(string Tablename)
{
string m_dbkey = "";
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.[sp_get_dbkey]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
scmCmdToExecute.Connection = m_scoMainConnection;
scmCmdToExecute.Connection.ConnectionString = connectionstring;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@Tablename", SqlDbType.VarChar, 255, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, Tablename));
scmCmdToExecute.Parameters.Add(new SqlParameter("@dbkey", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_dbkey));
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode));
if (m_bMainConnectionIsCreatedLocal)
{
m_scoMainConnection.Open();
}
else
{
if (m_cpMainConnectionProvider.bIsTransactionPending)
{
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction;
}
}
try
{
scmCmdToExecute.Connection.Open();
}
catch (Exception ex)
{
}
finally
{
}
scmCmdToExecute.ExecuteNonQuery();
m_dbkey =scmCmdToExecute.Parameters[1].Value.ToString();
scmCmdToExecute.Connection.Close();
return m_dbkey;
}
catch (Exception ex)
{
throw new Exception("clsKey_tabelle::get_dbkey::Error occured." + ex.Message, ex);
}
finally
{
if (m_bMainConnectionIsCreatedLocal)
{
m_scoMainConnection.Close();
}
scmCmdToExecute.Dispose();
}
}
}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,85 @@
<?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>{98FFA7F4-2784-4815-A2EA-83DFC1ADBEA1}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Database</RootNamespace>
<AssemblyName>Database</AssemblyName>
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<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' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.3.2\lib\net46\NLog.dll</HintPath>
</Reference>
<Reference Include="NLog.Database, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.Database.5.3.2\lib\net46\NLog.Database.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.Transactions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="db.cs" />
<Compile Include="DB\clsConnectionProvider.cs" />
<Compile Include="DB\clsDBInteractionBase.cs" />
<Compile Include="DB\clsDokument.cs" />
<Compile Include="DB\clsDokumentstatus.cs" />
<Compile Include="DB\clsDokumenttyp.cs" />
<Compile Include="DB\clsDokument_status.cs" />
<Compile Include="DB\clsKey_tabelle.cs" />
<Compile Include="DB\clsMitarbeiter.cs" />
<Compile Include="DB\clsMyKey_Tabelle.cs" />
<Compile Include="DB\clsPartner.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\EDOKA_Logging\EDOKA_Logging.csproj">
<Project>{9a58502e-ac8b-4103-ae5e-f4bac4b65820}</Project>
<Name>EDOKA_Logging</Name>
</ProjectReference>
<ProjectReference Include="..\Helper\Helper.csproj">
<Project>{216c1660-5ad5-4a5e-80e4-150ccf673cbc}</Project>
<Name>Helper</Name>
</ProjectReference>
<ProjectReference Include="..\Model\Model.csproj">
<Project>{a1fd0973-89a7-4588-877d-373835d6e00c}</Project>
<Name>Model</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="ClassDiagram1.cd" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

@ -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("Database")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("HP Inc.")]
[assembly: AssemblyProduct("Database")]
[assembly: AssemblyCopyright("Copyright © HP Inc. 2024")]
[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("98ffa7f4-2784-4815-a2ea-83dfc1adbea1")]
// 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 @@
Data Source=shu01\shu00;Initial Catalog=edoka_dms;Persist Security Info=True;User ID=sa;Password=*shu29;

@ -0,0 +1,548 @@
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using edoka_dms;
using System.IO;
using System.Xml.Linq;
using Model;
using System.Security.Cryptography;
namespace EDOKA_Database
{
public class EDOKA_DB
{
public string connectionstring;
public DataSet dsdaten = new DataSet();
private static DataTable SP_Parameters = new DataTable();
private SqlDataAdapter dadaten;
public EDOKA_DB(string connectionstring)
{
this.connectionstring = connectionstring;
}
public EDOKA_DB()
{
}
#region "Allgemein"
public DataTable Get_Tabledata(string Tablename, bool StoredProc = false, bool is_SQL_String = false, DataTable sp_params = null)
{
try
{
SqlConnection sqlconnect = new SqlConnection();
DataSet ds = new DataSet();
ds.Tables.Clear();
sqlconnect.ConnectionString = connectionstring;
SqlDataAdapter da = new SqlDataAdapter("", sqlconnect);
SqlCommand sqlcmd = new SqlCommand();
sqlcmd.Connection = sqlconnect;
if (StoredProc == true)
{
sqlcmd.CommandType = CommandType.StoredProcedure;
if (Tablename.IndexOf("@@Mandantnr@@") > 0)
Tablename = Tablename.Replace("@@Mandantnr@@", "");
sqlcmd.CommandText = Tablename;
foreach (DataRow r in sp_params.Rows)
{
sqlcmd.Parameters.Add(r["Paramname"].ToString(), SqlDbType.VarChar);
sqlcmd.Parameters[sqlcmd.Parameters.Count - 1].Value = r["Paramvalue"].ToString();
};
}
else
{
sqlcmd.CommandType = CommandType.Text;
sqlcmd.CommandText = "Select * from " + Tablename;
}
if (is_SQL_String == true)
sqlcmd.CommandText = Tablename;
da.SelectCommand = sqlcmd;
sqlconnect.Open();
da.Fill(dsdaten, "Daten1");
sqlconnect.Close();
EDOKA_Logging.Logging.Debug("", "EDOKA_DB:Get_Tabledata:" + Tablename, "");
return dsdaten.Tables[0];
}
catch (Exception ex)
{
EDOKA_Logging.Logging.Error(ex.Message, "EDOKA_DB:Get_Tabledata:" + Tablename, "");
return null;
}
}
public void Exec_SQL(string sql)
{
SqlConnection sqlconnect = new SqlConnection();
SqlCommand sqlcmd = new SqlCommand();
sqlcmd.Connection = sqlconnect;
sqlconnect.ConnectionString = this.connectionstring;
sqlcmd.CommandType = CommandType.Text;
sqlcmd.CommandText = sql;
sqlcmd.Connection.Open();
sqlcmd.ExecuteNonQuery();
sqlcmd.Connection.Close();
}
#endregion
public string get_dbkey(string Tablename)
{
clsMyKey_Tabelle myKey_Tabelle = new clsMyKey_Tabelle();
myKey_Tabelle.connectionstring = connectionstring;
string dbkey = myKey_Tabelle.get_dbkey(Tablename).ToString();
string skey = "OFFEDK000";
string s = "";
s = DateTime.Now.Year.ToString().Trim();
string dt = s;
skey = skey + s;
while (dbkey.Length < 8)
{
dbkey = "0" + dbkey;
}
skey = skey + dbkey;
s = Helper.DivFnkt.modulo10(dt + dbkey).ToString();
skey = skey + s;
return skey;
}
public int Get_Mitarbeiternr(string mitarbeiter)
{
try
{
if (mitarbeiter == "")
{
return 0;
}
if (Helper.DivFnkt.IsNumeric(mitarbeiter))
{
return Convert.ToInt32(mitarbeiter);
}
Get_Tabledata("Select * from mitarbeiter where tgnummer='" + mitarbeiter + "'", false, true);
if (dsdaten.Tables[0].Rows.Count < 1)
{
return 0;
}
else
{
return Convert.ToInt32(dsdaten.Tables[0].Rows[0]["mitarbeiternr"].ToString());
}
}
catch
{
return 0;
}
}
public DataTable Get_Vorlage_By_DokumentID(string dokumentid)
{
string sql = "Select dbo.BinaryToBase64(vorlage) as Data, dbo.office_vorlage_datei.office_vorlagenr as nr from dbo.Office_Vorlage_Datei INNER JOIN ";
sql = sql + " dbo.office_vorlage ON dbo.Office_Vorlage_Datei.office_vorlagenr = dbo.office_vorlage.office_vorlagenr INNER JOIN ";
sql = sql + "dbo.dokumenttyp INNER JOIN ";
sql = sql + "dbo.dokument ON dbo.dokumenttyp.dokumenttypnr = dbo.dokument.dokumenttypnr ON dbo.office_vorlage.office_vorlagenr = dbo.dokumenttyp.office_vorlagenr ";
sql = sql + "WHERE dbo.dokument.dokumentid = '" + dokumentid + "' ";
Get_Tabledata(sql, false, true);
return dsdaten.Tables[0];
}
public string get_vorlage_to_file(string nr, string tempdir, string dokumentid)
{
SqlConnection conn = new SqlConnection(connectionstring);
SqlCommand sc = new SqlCommand("Select vorlage from office_vorlage_datei where dbo.office_vorlage_datei.office_vorlagenr=" + nr, conn);
conn.Open();
SqlDataReader sqldr = sc.ExecuteReader();
while (sqldr.Read())
{
string filename = tempdir + @"\" + dokumentid;
byte[] attachment = (byte[])sqldr.GetValue(0);
FileStream fs = new FileStream(filename, FileMode.Create);
fs.Write(attachment, 0, attachment.Length);
fs.Close();
}
conn.Close();
return "";
}
public string Get_ApplicationType_from_Vorlage(int vorlagenr)
{
string sql = "Select RIGHT(dbo.anwendung.bezeichnung, CHARINDEX(' ', REVERSE(dbo.anwendung.bezeichnung)) - 1) AS Expr1 FROM dbo.office_vorlage INNER JOIN dbo.anwendung ON dbo.office_vorlage.anwendungnr = dbo.anwendung.anwendungnr where dbo.office_vorlage.office_vorlagenr=" + vorlagenr.ToString();
Get_Tabledata(sql, false, true);
return dsdaten.Tables[0].Rows[0][0].ToString();
}
#region "EDOKA_Datenbank"
public string Create_EDOKA_Doc(clsDocData DocData)
{
EDOKA_DB db = new EDOKA_DB(connectionstring);
string dokumentid = "";
dokumentid = db.get_dbkey("Dokument");
clsDokument dok = new clsDokument();
clsDokumenttyp doktyp = new clsDokumenttyp();
clsConnectionProvider edoka_conn = new clsConnectionProvider();
edoka_conn.sConnectionString = this.connectionstring;
doktyp.cpMainConnectionProvider = edoka_conn;
doktyp.iDokumenttypnr = Convert.ToInt32(DocData.DokumenttypNr);
doktyp.SelectOne();
dok.cpMainConnectionProvider = edoka_conn;
dok.sDokumentid = dokumentid;
dok.bAktiv = true;
dok.bAmsdokument = false;
dok.bAuserstuebernahme = false;
dok.bAusgangsarchiviert = false;
dok.daTermin = Convert.ToDateTime("1900.01.01");
dok.bBereit_zur_archivierung = false;
dok.bEingangsarchiviert = false;
dok.bGesperrt = false;
dok.bUnvollstaendig = false;
dok.iBck = 0;
dok.iColdstatus = 0;
dok.iUnterschriftlinks = db.Get_Mitarbeiternr(DocData.Unterschrift_Links);
dok.iUnterschriftrechts = db.Get_Mitarbeiternr(DocData.Unterschrift_Rechts);
dok.iErsteller = db.Get_Mitarbeiternr(DocData.Ersteller);
dok.iVerantwortlich = db.Get_Mitarbeiternr(DocData.Verantwortllich);
dok.bVertraulich = false;
dok.sZustelladresse = "";
dok.sAnredezustelladresse = "";
dok.iZustaendiger = 341;
dok.iPostzustellung = 0;
dok.bZustaendig_kube = false;
dok.iMa_ausgangsarchivierung = 0;
dok.iMa_eingangsarchivierung = 0;
dok.sBemerkung = "Generiert mit Syncfusion";
dok.sColddokumentid = "";
dok.iDokdurchkubeweitergegeben = 0;
dok.sBedRDokumentid = "";
dok.iDokumenttypnr = doktyp.iDokumenttypnr;
dok.bZu_retournieren = doktyp.bZu_retournieren;
dok.iAufbewahrung_elektronisch = doktyp.iAufbewahrungsfrist_elektronisch;
dok.iAufbewahrung_phaysisch = doktyp.iAufbewahrungsfrist_physisch;
dok.iBearbeitung_nach_abschluss = doktyp.iTage_mutation;
dok.iBearbeitungszeit_in_minuten = doktyp.iDbearbeitungszeit;
dok.iMonierung_in_tagen = doktyp.iAnzahl_tage;
dok.sBezeichnung = doktyp.sBezeichnung;
dok.iNrpar00 = Convert.ToInt32(DocData.PartnerNr);
dok.iErsteller = 1;
dok.iMutierer = dok.iErsteller;
dok.iMitarbeiternr = dok.iErsteller;
dok.daMutiertam = DateTime.Now;
dok.daErstelltam = DateTime.Now;
dok.iMutiererteam = 0;
dok.iMutierertieam = 0;
dok.iErstellerteam = 0;
dok.daErstellungsdatum = Convert.ToDateTime(DocData.DokumentDatum);
dok.sDokumentname = dokumentid;
dok.cpMainConnectionProvider = edoka_conn;
edoka_conn.OpenConnection();
dok.Insert();
edoka_conn.CloseConnection(true);
COLD_Index_Sichern(1, dokumentid);
if (dok.bZu_retournieren == true)
{
COLD_Index_Sichern(2, dokumentid);
}
Status_Erstellen(dokumentid, false);
dok.iStatusnr = Convert.ToInt32(get_current_Status(dokumentid).ToString());
edoka_conn.OpenConnection();
dok.Update();
edoka_conn.CloseConnection(true);
return dokumentid;
}
public DataTable COLD_Index_Sichern(int indextyp, string dokumentid)
{
SqlCommand scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.SP_Dokument_Cold_Index";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
DataTable dtToReturn = new DataTable();
SqlDataAdapter sdaAdapter = new SqlDataAdapter(scmCmdToExecute);
SqlConnection conn = new SqlConnection(connectionstring);
scmCmdToExecute.Connection = conn;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, dokumentid));
scmCmdToExecute.Parameters.Add(new SqlParameter("@indextyp", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, indextyp));
sdaAdapter.Fill(dtToReturn);
return dtToReturn;
}
catch (Exception ex)
{
throw new Exception("Dokumenterstellung::Generic_Select::" + scmCmdToExecute.CommandText + "::Error occured." + ex.Message, ex);
}
finally
{
scmCmdToExecute.Dispose();
sdaAdapter.Dispose();
}
}
public object Status_Erstellen(string dokumentid, bool blsequenz)
{
// Status_Erstellen_Overwrite(dokumentid, 0)
var scmCmdToExecute = new SqlCommand();
var dtToReturn = new DataTable();
var sdaAdapter = new SqlDataAdapter(scmCmdToExecute);
scmCmdToExecute.CommandText = "dbo.sp_dokumentberabeigung_status_erstellen";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
SqlConnection conn = new SqlConnection(connectionstring);
scmCmdToExecute.Connection = conn;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, dokumentid));
scmCmdToExecute.Parameters.Add(new SqlParameter("@bck", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0));
scmCmdToExecute.Parameters.Add(new SqlParameter("@blsequenz", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0));
sdaAdapter.Fill(dtToReturn);
return dtToReturn;
}
catch (Exception ex)
{
// // some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("Dokument_Information_Wert::" + scmCmdToExecute.CommandText + "::Error occured." + ex.Message, ex);
}
finally
{
scmCmdToExecute.Dispose();
sdaAdapter.Dispose();
}
}
private long get_current_Status(string dokumentid)
{
long get_current_StatusRet = default;
var scmCmdToExecute = new SqlCommand();
scmCmdToExecute.CommandText = "dbo.SP_Dokumentbearbeitung_current_status";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
var dtToReturn = new DataTable();
var sdaAdapter = new SqlDataAdapter(scmCmdToExecute);
SqlConnection conn = new SqlConnection(connectionstring);
scmCmdToExecute.Connection = conn;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@statustext", SqlDbType.VarChar, 255, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, "In Bearbeitung"));
scmCmdToExecute.Parameters.Add(new SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, dokumentid));
scmCmdToExecute.Parameters.Add(new SqlParameter("@currentstatus", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, 0));
sdaAdapter.Fill(dtToReturn);
get_current_StatusRet = Convert.ToInt64(scmCmdToExecute.Parameters[2].Value);
return get_current_StatusRet;
}
catch (Exception ex)
{
// // some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("Dokumenterstellung::Generic_Select::" + scmCmdToExecute.CommandText + "::Error occured." + ex.Message, ex);
}
finally
{
scmCmdToExecute.Dispose();
sdaAdapter.Dispose();
}
}
#endregion
public DataTable Get_Partnerstruktur(int partnernr, bool partnerlist, int mitarbeiternr, int profilnr)
{
SqlConnection conn = new SqlConnection(connectionstring);
var scmCmdToExecute = new SqlCommand();
scmCmdToExecute.Connection = conn;
scmCmdToExecute.CommandText = "dbo.[sp_trefferliste_getdata_new_relaunch]";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
var dtToReturn = new DataTable();
var sdaAdapter = new SqlDataAdapter(scmCmdToExecute);
scmCmdToExecute.Connection.ConnectionString = connectionstring;
try
{
if (partnernr == -1) { partnernr = 0; }
scmCmdToExecute.Parameters.Add(new SqlParameter("@profilnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, profilnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@inrpar00", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, partnernr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imandant", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1));
scmCmdToExecute.Parameters.Add(new SqlParameter("@doklist", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0));
scmCmdToExecute.Parameters.Add(new SqlParameter("@partnerlist", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1));
scmCmdToExecute.Parameters.Add(new SqlParameter("@doklistdokumentartnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0));
scmCmdToExecute.Parameters.Add(new SqlParameter("@doklistpartnernr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0));
if (partnernr == 0)
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@vollstaendig", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0));
}
else
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@vollstaendig", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1));
}
if (partnerlist && partnernr != 0)
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@partnereingegeben", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1));
}
else
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@partnereingegeben", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0));
}
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, 0));
scmCmdToExecute.Parameters.Add(new SqlParameter("@ihasmessage", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, 0));
scmCmdToExecute.Parameters.Add(new SqlParameter("@firstentry", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0));
scmCmdToExecute.Parameters.Add(new SqlParameter("@lastentry", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1000000));
scmCmdToExecute.Parameters.Add(new SqlParameter("@pagedirection", SqlDbType.Int, 4, ParameterDirection.InputOutput, true, 10, 0, "", DataRowVersion.Proposed, 0));
scmCmdToExecute.Parameters.Add(new SqlParameter("@searchstring", SqlDbType.VarChar, 25, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, ""));
scmCmdToExecute.Parameters.Add(new SqlParameter("@fanummer3", SqlDbType.VarChar, 128, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, ""));
conn.Open();
sdaAdapter.Fill(dtToReturn);
return dtToReturn;
}
catch (Exception ex)
{
try
{
//MessageBox.Show(ex.Message, "Fehler Partnerstruktur", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch
{
}
}
finally
{
conn.Close();
scmCmdToExecute.Dispose();
sdaAdapter.Dispose();
}
return default;
}
public DataTable Get_Dokumente(int partnernr, int dokumentartnr, int profilnr, bool alleDokumente = false)
{
int i;
SqlConnection conn = new SqlConnection(connectionstring);
var scmCmdToExecute = new SqlCommand();
scmCmdToExecute.Connection = conn;
scmCmdToExecute.CommandText = "dbo.SP_Trefferliste_getdata_new_relaunch";
scmCmdToExecute.CommandType = CommandType.StoredProcedure;
var dtToReturn = new DataTable();
var sdaAdapter = new SqlDataAdapter(scmCmdToExecute);
scmCmdToExecute.Connection.ConnectionString = connectionstring;
try
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@profilnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, profilnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@inrpar00", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, partnernr));
// ObjPerson - fehler bei der Partnernr
scmCmdToExecute.Parameters.Add(new SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1));
scmCmdToExecute.Parameters.Add(new SqlParameter("@imandant", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1));
scmCmdToExecute.Parameters.Add(new SqlParameter("@doklist", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1));
scmCmdToExecute.Parameters.Add(new SqlParameter("@partnerlist", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0));
scmCmdToExecute.Parameters.Add(new SqlParameter("@doklistdokumentartnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, dokumentartnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@doklistpartnernr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, partnernr));
// if (this.txtnrpar00.Text != "")
// {
scmCmdToExecute.Parameters.Add(new SqlParameter("@vollstaendig", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1));
// }
// else
// {
// scmCmdToExecute.Parameters.Add(new SqlParameter("@vollstaendig", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0));
// }
scmCmdToExecute.Parameters.Add(new SqlParameter("@partnereingegeben", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0));
if (alleDokumente == true)
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@alledokumente", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1));
}
else
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@alledokumente", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0));
}
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, 0));
//if (this.txtnrpar00.Text.Length > 0)
//{
// if (this.LblSearch.Text == this.MenuItemValorSuche.Text + ":" & this.txtnrpar00.Text != "")
// {
// scmCmdToExecute.Parameters.Add(new SqlParameter("@searchstring", SqlDbType.VarChar, 25, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, "VA:" + this.txtnrpar00.Text));
// }
// if (this.LblSearch.Text == this.MenuItemISINSUche.Text + ":" & this.txtnrpar00.Text != "")
// {
// scmCmdToExecute.Parameters.Add(new SqlParameter("@searchstring", SqlDbType.VarChar, 25, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, "IS:" + this.txtnrpar00.Text));
// }
// if (this.LblSearch.Text == this.MenuItemVVSuche.Text + ":" & this.txtnrpar00.Text != "")
// {
// scmCmdToExecute.Parameters.Add(new SqlParameter("@searchstring", SqlDbType.VarChar, 25, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, "VV:" + this.txtnrpar00.Text));
// }
//}
//else
//{
scmCmdToExecute.Parameters.Add(new SqlParameter("@searchstring", SqlDbType.VarChar, 25, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, ""));
// }
scmCmdToExecute.Parameters.Add(new SqlParameter("@fanummer3", SqlDbType.VarChar, 255, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, ""));
sdaAdapter.Fill(dtToReturn);
return dtToReturn;
}
catch (Exception ex)
{
// MsgBox(ex.Message)
// ' // some error occured. Bubble it to caller and encapsulate Exception object
throw new Exception("Dokumente lesen::" + scmCmdToExecute.CommandText + "::Error occured." + ex.Message, ex);
}
finally
{
scmCmdToExecute.Dispose();
sdaAdapter.Dispose();
}
}
public string GetDocumentAsBase64(string dokumentid)
{
try
{
string sql = "Select dbo.BinaryToBase64(dokument) as Data from doks ";
sql = sql + "WHERE dbo.doks.dokumentid = '" + dokumentid + "' ";
Get_Tabledata(sql, false, true);
if (dsdaten.Tables[0].Rows.Count > 0)
{
return dsdaten.Tables[0].Rows[0][0].ToString();
}
else
{
return "";
}
}
catch
{
return "";
}
finally
{
}
}
}
}

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

@ -0,0 +1 @@
65396d20afa87a40b6024edbc55a1e317ea1484202772ae918c1be7ab96b2e44

@ -0,0 +1,11 @@
X:\docdemo\EDOKA_2024\Database\bin\Debug\Database.dll
X:\docdemo\EDOKA_2024\Database\bin\Debug\Database.pdb
X:\docdemo\EDOKA_2024\Database\bin\Debug\Helper.dll
X:\docdemo\EDOKA_2024\Database\bin\Debug\Model.dll
X:\docdemo\EDOKA_2024\Database\bin\Debug\Helper.pdb
X:\docdemo\EDOKA_2024\Database\bin\Debug\Model.pdb
X:\docdemo\EDOKA_2024\Database\obj\Debug\Database.csproj.AssemblyReference.cache
X:\docdemo\EDOKA_2024\Database\obj\Debug\Database.csproj.CoreCompileInputs.cache
X:\docdemo\EDOKA_2024\Database\obj\Debug\Database.csproj.Up2Date
X:\docdemo\EDOKA_2024\Database\obj\Debug\Database.dll
X:\docdemo\EDOKA_2024\Database\obj\Debug\Database.pdb

@ -0,0 +1 @@
f2be0ff380edbceb3013a1e07c50951b8707bb7e976e0cf1798293d70434d93b

@ -0,0 +1,17 @@
X:\docdemo\EDOKA_2024\Database\bin\Debug\Database.dll
X:\docdemo\EDOKA_2024\Database\bin\Debug\Database.pdb
X:\docdemo\EDOKA_2024\Database\bin\Debug\Helper.dll
X:\docdemo\EDOKA_2024\Database\bin\Debug\Model.dll
X:\docdemo\EDOKA_2024\Database\bin\Debug\Helper.pdb
X:\docdemo\EDOKA_2024\Database\bin\Debug\Model.pdb
X:\docdemo\EDOKA_2024\Database\obj\Debug\EDOKA_Database.csproj.AssemblyReference.cache
X:\docdemo\EDOKA_2024\Database\obj\Debug\EDOKA_Database.csproj.CoreCompileInputs.cache
X:\docdemo\EDOKA_2024\Database\obj\Debug\EDOKA_Da.3FB13467.Up2Date
X:\docdemo\EDOKA_2024\Database\obj\Debug\Database.dll
X:\docdemo\EDOKA_2024\Database\obj\Debug\Database.pdb
X:\docdemo\EDOKA_2024\Database\bin\Debug\NLog.Database.dll
X:\docdemo\EDOKA_2024\Database\bin\Debug\NLog.dll
X:\docdemo\EDOKA_2024\Database\bin\Debug\NLog.xml
X:\docdemo\EDOKA_2024\Database\bin\Debug\NLog.Database.xml
X:\docdemo\EDOKA_2024\Database\bin\Debug\EDOKA_Logging.dll
X:\docdemo\EDOKA_2024\Database\bin\Debug\EDOKA_Logging.pdb

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NLog" version="5.3.2" targetFramework="net481" />
<package id="NLog.Database" version="5.3.2" targetFramework="net481" />
</packages>

@ -0,0 +1,63 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34723.18
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EDOKA_2024", "EDOKA_2024\EDOKA_2024.csproj", "{1CBBE5F6-4562-4EEF-BC9B-177F30901E23}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Projektmappenelemente", "Projektmappenelemente", "{29D826D8-0C47-4E10-ADDF-06310002056E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DOCGEN", "DOCGEN\DOCGEN.csproj", "{820F669A-5881-4145-B202-32B53A62989B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EDOKA_Database", "Database\EDOKA_Database.csproj", "{98FFA7F4-2784-4815-A2EA-83DFC1ADBEA1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Model", "Model\Model.csproj", "{A1FD0973-89A7-4588-877D-373835D6E00C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Helper", "Helper\Helper.csproj", "{216C1660-5AD5-4A5E-80E4-150CCF673CBC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EDOKA_Logging", "EDOKA_Logging\EDOKA_Logging.csproj", "{9A58502E-AC8B-4103-AE5E-F4BAC4B65820}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EDOOKAAPI", "EDOOKAAPI\EDOOKAAPI.csproj", "{9313BF26-E399-4AF9-9C93-44A3FFE7B37E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1CBBE5F6-4562-4EEF-BC9B-177F30901E23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1CBBE5F6-4562-4EEF-BC9B-177F30901E23}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1CBBE5F6-4562-4EEF-BC9B-177F30901E23}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1CBBE5F6-4562-4EEF-BC9B-177F30901E23}.Release|Any CPU.Build.0 = Release|Any CPU
{820F669A-5881-4145-B202-32B53A62989B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{820F669A-5881-4145-B202-32B53A62989B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{820F669A-5881-4145-B202-32B53A62989B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{820F669A-5881-4145-B202-32B53A62989B}.Release|Any CPU.Build.0 = Release|Any CPU
{98FFA7F4-2784-4815-A2EA-83DFC1ADBEA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{98FFA7F4-2784-4815-A2EA-83DFC1ADBEA1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{98FFA7F4-2784-4815-A2EA-83DFC1ADBEA1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{98FFA7F4-2784-4815-A2EA-83DFC1ADBEA1}.Release|Any CPU.Build.0 = Release|Any CPU
{A1FD0973-89A7-4588-877D-373835D6E00C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A1FD0973-89A7-4588-877D-373835D6E00C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A1FD0973-89A7-4588-877D-373835D6E00C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A1FD0973-89A7-4588-877D-373835D6E00C}.Release|Any CPU.Build.0 = Release|Any CPU
{216C1660-5AD5-4A5E-80E4-150CCF673CBC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{216C1660-5AD5-4A5E-80E4-150CCF673CBC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{216C1660-5AD5-4A5E-80E4-150CCF673CBC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{216C1660-5AD5-4A5E-80E4-150CCF673CBC}.Release|Any CPU.Build.0 = Release|Any CPU
{9A58502E-AC8B-4103-AE5E-F4BAC4B65820}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9A58502E-AC8B-4103-AE5E-F4BAC4B65820}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9A58502E-AC8B-4103-AE5E-F4BAC4B65820}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9A58502E-AC8B-4103-AE5E-F4BAC4B65820}.Release|Any CPU.Build.0 = Release|Any CPU
{9313BF26-E399-4AF9-9C93-44A3FFE7B37E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9313BF26-E399-4AF9-9C93-44A3FFE7B37E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9313BF26-E399-4AF9-9C93-44A3FFE7B37E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9313BF26-E399-4AF9-9C93-44A3FFE7B37E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {002B8276-87BE-4EAB-9CA8-9AC41D7280CA}
EndGlobalSection
EndGlobal

File diff suppressed because one or more lines are too long

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="EDOKA_2024.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8.1" />
</startup>
<userSettings>
<EDOKA_2024.Properties.Settings>
<setting name="Connectionstring" serializeAs="String">
<value>Data Source=shu01\shu00;Initial Catalog=edoka_dms;Persist Security Info=True;User ID=sa;Password=*shu29;</value>
</setting>
</EDOKA_2024.Properties.Settings>
</userSettings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Syncfusion.Pdf.Base" publicKeyToken="3d67ed1f87d44c89" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-25.2462.5.0" newVersion="25.2462.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Syncfusion.Compression.Base" publicKeyToken="3d67ed1f87d44c89" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-25.2462.5.0" newVersion="25.2462.5.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

@ -0,0 +1,120 @@
namespace EDOKA_2024.Diverses
{
partial class frmLogin
{
/// <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(frmLogin));
this.sfComboBox1 = new Syncfusion.WinForms.ListView.SfComboBox();
this.autoLabel1 = new Syncfusion.Windows.Forms.Tools.AutoLabel();
this.sfButton1 = new Syncfusion.WinForms.Controls.SfButton();
this.sfButton2 = new Syncfusion.WinForms.Controls.SfButton();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.sfComboBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// sfComboBox1
//
this.sfComboBox1.DropDownPosition = Syncfusion.WinForms.Core.Enums.PopupRelativeAlignment.Center;
this.sfComboBox1.Location = new System.Drawing.Point(120, 111);
this.sfComboBox1.Name = "sfComboBox1";
this.sfComboBox1.Size = new System.Drawing.Size(226, 25);
this.sfComboBox1.Style.TokenStyle.CloseButtonBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.sfComboBox1.TabIndex = 1;
this.sfComboBox1.TabStop = false;
//
// autoLabel1
//
this.autoLabel1.Location = new System.Drawing.Point(120, 95);
this.autoLabel1.Name = "autoLabel1";
this.autoLabel1.Size = new System.Drawing.Size(56, 13);
this.autoLabel1.TabIndex = 2;
this.autoLabel1.Text = "Mitarbeiter";
//
// sfButton1
//
this.sfButton1.Font = new System.Drawing.Font("Segoe UI Semibold", 9F);
this.sfButton1.Location = new System.Drawing.Point(23, 200);
this.sfButton1.Name = "sfButton1";
this.sfButton1.Size = new System.Drawing.Size(96, 28);
this.sfButton1.TabIndex = 3;
this.sfButton1.Text = "Anmelden";
this.sfButton1.Click += new System.EventHandler(this.sfButton1_Click);
//
// sfButton2
//
this.sfButton2.Font = new System.Drawing.Font("Segoe UI Semibold", 9F);
this.sfButton2.Location = new System.Drawing.Point(250, 200);
this.sfButton2.Name = "sfButton2";
this.sfButton2.Size = new System.Drawing.Size(96, 28);
this.sfButton2.TabIndex = 4;
this.sfButton2.Text = "Abbruch";
this.sfButton2.Click += new System.EventHandler(this.sfButton2_Click);
//
// pictureBox1
//
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
this.pictureBox1.Location = new System.Drawing.Point(23, 69);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(91, 89);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 5;
this.pictureBox1.TabStop = false;
//
// frmLogin
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(361, 266);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.sfButton2);
this.Controls.Add(this.sfButton1);
this.Controls.Add(this.autoLabel1);
this.Controls.Add(this.sfComboBox1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "frmLogin";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Style.MdiChild.IconHorizontalAlignment = System.Windows.Forms.HorizontalAlignment.Center;
this.Style.MdiChild.IconVerticalAlignment = System.Windows.Forms.VisualStyles.VerticalAlignment.Center;
this.Text = "Anmeldung";
this.Load += new System.EventHandler(this.frmLogin_Load);
((System.ComponentModel.ISupportInitialize)(this.sfComboBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private Syncfusion.WinForms.ListView.SfComboBox sfComboBox1;
private Syncfusion.Windows.Forms.Tools.AutoLabel autoLabel1;
private Syncfusion.WinForms.Controls.SfButton sfButton1;
private Syncfusion.WinForms.Controls.SfButton sfButton2;
private System.Windows.Forms.PictureBox pictureBox1;
}
}

@ -0,0 +1,71 @@
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 EDOKA_2024.Kalssen;
using Syncfusion.Windows.Forms;
using Syncfusion.WinForms.Controls;
using EDOKA_Database;
using NLog;
using Syncfusion.XlsIO;
using Helper;
namespace EDOKA_2024.Diverses
{
public partial class frmLogin : SfForm
{
//private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();
public int selectedmitarbeiternr { get; set; }=0;
public frmLogin()
{
InitializeComponent();
}
private void frmLogin_Load(object sender, EventArgs e)
{
EDOKA_DB db = new EDOKA_DB (AppParams.connectionstring);
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Paramname");
dataTable.Columns.Add("Paramvalue");
DataRow dr = dataTable.NewRow();
dr[0] = "@mandantnr";
dr[1] = "1";
dataTable.Rows.Add(dr);
dr = dataTable.NewRow();
dr[0] = "@iErrorCode";
dr[1] = "0";
dataTable.Rows.Add(dr);
dataTable.AcceptChanges();
db.Get_Tabledata("sp_mandantmitarbeiter_select", true, false,dataTable);
sfComboBox1.DataSource = db.dsdaten.Tables[0];
sfComboBox1.AutoCompleteMode=AutoCompleteMode.SuggestAppend ;
//sfComboBox1.ThemeName = "Office2016Colorful";
sfComboBox1.DisplayMember = "namevorname";
sfComboBox1.ValueMember = "mitarbeiternr";
}
private void sfButton2_Click(object sender, EventArgs e)
{
this.DialogResult= DialogResult.Abort;
this.Close();
}
private void sfButton1_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
this.selectedmitarbeiternr=Convert.ToInt32(sfComboBox1.SelectedValue);
this.Close();
}
}
}

@ -0,0 +1,389 @@
<?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>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AElFTkSuQmCC
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
</root>

@ -0,0 +1,315 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EDOKA_2024.Kalssen;
using EDOKA_2024.Helper;
using Syncfusion.DocIO;
using Syncfusion.DocIO.DLS;
using System.Data;
//using Syncfusion.Pdf.Barcode;
//using Syncfusion.Pdf.Graphics;
using Syncfusion.Pdf;
using Syncfusion.Drawing;
//using NetBarcode;
using System.IO;
using System.Data.SqlClient;
using System.Drawing;
using System.Security.Cryptography;
using System.Xml.Linq;
using EDOKA_Database;
namespace Klassen
{
public class clsdocgen
{
public void insertFile(string connectstring, string documentid, string filename)
{
FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);
int length = Convert.ToInt32(fs.Length);
byte[] data = new byte[length];
fs.Read(data, 0, length);
fs.Close();
string insert = "insert into doks (dokumentid, dokument) values('"+documentid+"' ,@file_content)";
DataSet ds = new DataSet();
SqlConnection conn = new SqlConnection(connectstring);
conn.Open();
SqlCommand cmd = new SqlCommand(insert, conn);
cmd.Parameters.Add(new SqlParameter("@file_content", (object)data));
cmd.ExecuteNonQuery();
conn.Close();
}
public string get_officefile(string connectionstring, string dokumentid)
{
SqlConnection conn = new SqlConnection(connectionstring);
SqlCommand sc = new SqlCommand("Select dokument from doks where dokumentid='"+dokumentid+"'", conn);
conn.Open();
SqlDataReader sqldr = sc.ExecuteReader();
while (sqldr.Read())
{
string filename = @"H:\EDOKA_Work\tmp_" + dokumentid;
byte[] attachment = (byte[])sqldr.GetValue(0);
FileStream fs = new FileStream(filename, FileMode.Create);
fs.Write(attachment, 0, attachment.Length);
fs.Close();
}
conn.Close();
return "";
}
public string get_file(string connectionstring, string dokumentid, string nr)
{
SqlConnection conn = new SqlConnection(connectionstring);
SqlCommand sc = new SqlCommand("Select vorlage from office_vorlage_datei where dbo.office_vorlage_datei.office_vorlagenr="+nr, conn);
conn.Open();
SqlDataReader sqldr = sc.ExecuteReader();
while (sqldr.Read())
{
string filename = @"H:\EDOKA_Work\tmp_" + dokumentid ;
byte[] attachment = (byte[])sqldr.GetValue(0);
FileStream fs = new FileStream(filename, FileMode.Create);
fs.Write(attachment, 0, attachment.Length);
fs.Close();
}
conn.Close();
return "";
}
public string CreateDoc(string Documentid, string connectionstring)
{
//get_file(connectionstring, Documentid);
EDOKA_DB db = new EDOKA_DB(connectionstring);
string formattype = "";
string sql = "Select dbo.BinaryToBase64(vorlage) as Data, dbo.office_vorlage_datei.office_vorlagenr as nr from dbo.Office_Vorlage_Datei INNER JOIN ";
sql = sql + " dbo.office_vorlage ON dbo.Office_Vorlage_Datei.office_vorlagenr = dbo.office_vorlage.office_vorlagenr INNER JOIN ";
sql = sql + "dbo.dokumenttyp INNER JOIN ";
sql = sql + "dbo.dokument ON dbo.dokumenttyp.dokumenttypnr = dbo.dokument.dokumenttypnr ON dbo.office_vorlage.office_vorlagenr = dbo.dokumenttyp.office_vorlagenr ";
sql = sql + "WHERE dbo.dokument.dokumentid = '" + Documentid + "' ";
db.Get_Tabledata(sql, false, true);
get_file(connectionstring, Documentid, db.dsdaten.Tables[0].Rows[0][1].ToString());
string tempfilename = @"H:\EDOKA_Work\tmp_" + Documentid;
//System.IO.File.WriteAllBytes(@"H:\EDOKA_Work\tmp_" + Documentid , Convert.FromBase64String(db.dsdaten.Tables[0].Rows[0]["Data"].ToString()));
//byte[] data = Convert.FromBase64String(db.dsdaten.Tables[0].Rows[0]["Data"].ToString());
//Stream stream = new MemoryStream(data);
FileStream fileStreamPath = new FileStream(tempfilename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
WordDocument document = new WordDocument(fileStreamPath, FormatType.Doc);
formattype = document.ActualFormatType.ToString();
var formattype_original = document.ActualFormatType;
db.Get_Tabledata("exec sp_dokumentwerte '" + Documentid + "',0", false, true);
foreach (DataRow r in db.dsdaten.Tables[0].Rows)
{
try
{
BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document);
bookmarkNavigator.MoveToBookmark(r["beginntextmarke"].ToString());
bookmarkNavigator.InsertText(r["xvalue"].ToString());
}
catch
{ }
}
// OFFEDK0002024002441185
//BarcodeSettings bs = new BarcodeSettings();
//bs.Type = BarCodeType.Interleaved25;
//bs.Data = Documentid.Substring(9, 13);
//bs.ImageWidth = 200;
//bs.ImageHeight = 20;
//BarCodeGenerator bg = new BarCodeGenerator(bs);
//bg.GenerateImage().Save(@"h:\edoka_work\bc.jpg");
// Barcode bc = new Barcode(Documentid, NetBarcode.Type.Code128A);
//Barcode bc = new Barcode("ABCDEFGH", NetBarcode.Type.Code128, true, 250, 40,NetBarcode.AlignmentPosition.Center,=new Font("Arial",10));
//Barcode bc = new Barcode(Documentid.Substring(9,13), NetBarcode.Type.Code11, true, 220,70,SixLabors.Fonts.Font("Arial",10));
//var image = bc.GetBase64Image();
////bc.SaveImageFile(@"x:\docdemo\bc.jpg", NetBarcode.ImageFormat.Jpeg);
//byte[] imgdata = Convert.FromBase64String(image);
//MemoryStream imgstream = new MemoryStream(imgdata);
FileStream imageStream = new FileStream(@"h:\edoka_work\bc.jpg", FileMode.Open, FileAccess.Read);
foreach (WSection section in document.Sections)
{
// WPicture picture = new WPicture(document);
//// picture.LoadImage(imageStream);
// //picture.Height = 20;
// //picture.Width = 100;
// //picture.VerticalPosition = 200;
// //picture.HorizontalPosition = 450;
// //picture.HorizontalOrigin = HorizontalOrigin.Page;
// //picture.VerticalOrigin = VerticalOrigin.Margin;
// //picture.TextWrappingStyle = TextWrappingStyle.Square;
//// WPicture picture2 = new WPicture(document);
////// picture2.LoadImage(imageStream);
//// picture2.Height = 20;
//// picture2.Width = 100;
//// picture2.VerticalPosition = 400;
//// picture2.HorizontalPosition = 450;
//// picture2.HorizontalOrigin = HorizontalOrigin.Page;
//// picture2.VerticalOrigin = VerticalOrigin.Margin;
//// picture2.TextWrappingStyle = TextWrappingStyle.Square;
//////Insert image in Header and Footer of section
////section.HeadersFooters.Footer.AddParagraph().ChildEntities.Add(picture);
////section.HeadersFooters.FirstPageFooter.AddParagraph().ChildEntities.Add(picture2);
//IWParagraph paragraph = section.AddParagraph();
//paragraph.AppendPicture(imageStream);
//PictureWatermark picWatermark = new PictureWatermark();
//picWatermark.Scaling = 120f;
//picWatermark.Washout = false;
//document.Watermark = picWatermark;
//FileStream WatermarkStream = new FileStream(@"x:\docdemo\bc.jpg", FileMode.Open, FileAccess.Read);
//BinaryReader br = new BinaryReader(WatermarkStream);
//byte[] image = br.ReadBytes((int)WatermarkStream.Length);
////Sets the image to the picture watermark.
//picWatermark.LoadPicture(image);
}
imageStream.Close();
string outfilename = "";
outfilename = @"h:\edoka_work\" + Documentid +"."+formattype;
FileStream outputStream = new FileStream(outfilename, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
document.Save(outputStream, FormatType.Docx);
document.Close();
outputStream.Close();
fileStreamPath.Close();
System.IO.File.Delete(@"H:\EDOKA_Work\tmp_" + Documentid );
insertFile(connectionstring, Documentid, outfilename);
//Save_To_DB(Documentid, outfilename, connectionstring);
System.IO.File.Delete(outfilename);
return Documentid + "."+formattype;
//string filename = "";
//document.Open(OpenStream,FormatType.Automatic);
//stream.Dispose();
//stream = null;
//db.Get_Tabledata("exec sp_dokumentwerte '" + Documentid + "',0", false, true);
//foreach (DataRow r in db.dsdaten.Tables[0].Rows)
//{
// try
// {
// BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document);
// bookmarkNavigator.MoveToBookmark("BkmkInTable");
// bookmarkNavigator.InsertText(r["xvalue"].ToString());
// }
// catch
// { }
//}
//FileStream SaveStram = new FileStream(@"x:\docdemo\result.doc",FileMode.Create);
//document.Save(SaveStram,FormatType.Automatic);
//SaveStram.Close();
//document.Close();
return "";
}
public static bool Save_To_DB(string sDokumentID, string sDokumentName, string connectionstring)
{
try
{
string DokumentID = sDokumentID;
string Dokumentname = sDokumentName;
SqlConnection Connection = new SqlConnection();
SqlDataAdapter DA = new SqlDataAdapter("select * from doks where dokumentid='" + DokumentID + "'", Connection);
SqlCommandBuilder cb = new SqlCommandBuilder(DA);
DataSet ds = new DataSet();
FileStream fs = new FileStream(Dokumentname, FileMode.Open, FileAccess.Read);
byte[] mydata = new byte[fs.Length];
try
{
fs.Read(mydata, 0, Convert.ToInt32(fs.Length));
fs.Close();
Connection.ConnectionString = connectionstring;
Connection.Open();
DA.Fill(ds, "docs");
DataRow myRow;
if (ds.Tables[0].Rows.Count == 0)
{
myRow = ds.Tables[0].NewRow();
myRow[0] = DokumentID;
myRow[1] = mydata;
ds.Tables[0].Rows.Add(myRow);
DA.Update(ds, "docs");
}
else
{
myRow = ds.Tables[0].Rows[0];
myRow[1] = mydata;
DA.Update(ds, "docs");
}
}
catch (Exception ex)
{
return false;
}
fs = null;
cb = null;
ds = null;
DA = null;
Connection.Close();
Connection = null;
return true;
}
catch (Exception EX)
{
return false;
}
}
public string generate_pdf(string doc, string documentid)
{
byte[] data = Convert.FromBase64String(doc);
Stream stream = new MemoryStream(data);
WordDocument wd = new WordDocument(stream, FormatType.Automatic);
using (Syncfusion.DocToPDFConverter.DocToPDFConverter converter = new Syncfusion.DocToPDFConverter.DocToPDFConverter())
{
//Converts Word document into PDF document
using (PdfDocument pdfDocument = converter.ConvertToPDF(wd))
{
//Saves the PDF document
pdfDocument.Save(Path.GetFullPath(AppParams.tempdir + @"\" + documentid + ".pdf"));
}
};
return AppParams.tempdir+@"\" + documentid + ".pdf";
}
}
}

@ -0,0 +1,226 @@
<?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>{1CBBE5F6-4562-4EEF-BC9B-177F30901E23}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>EDOKA_2024</RootNamespace>
<AssemblyName>EDOKA_2024</AssemblyName>
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<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>
<PropertyGroup>
<StartupObject>EDOKA_2024.Program</StartupObject>
</PropertyGroup>
<ItemGroup>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.3.2\lib\net46\NLog.dll</HintPath>
</Reference>
<Reference Include="NLog.Database, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.Database.5.3.2\lib\net46\NLog.Database.dll</HintPath>
</Reference>
<Reference Include="Syncfusion.Compression.Base, Version=25.2462.5.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89, processorArchitecture=MSIL">
<HintPath>..\packages\Syncfusion.Compression.Base.25.2.5\lib\net462\Syncfusion.Compression.Base.dll</HintPath>
</Reference>
<Reference Include="Syncfusion.Core.WinForms, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
<Reference Include="Syncfusion.Data.WinForms, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
<Reference Include="Syncfusion.DocIO.Base, Version=25.2462.5.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89, processorArchitecture=MSIL">
<HintPath>..\packages\Syncfusion.DocIO.WinForms.25.2.5\lib\net462\Syncfusion.DocIO.Base.dll</HintPath>
</Reference>
<Reference Include="Syncfusion.DocToPdfConverter.Base, Version=25.2462.5.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89, processorArchitecture=MSIL">
<HintPath>..\packages\Syncfusion.DocToPDFConverter.WinForms.25.2.5\lib\net462\Syncfusion.DocToPdfConverter.Base.dll</HintPath>
</Reference>
<Reference Include="Syncfusion.Grid.Base, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
<Reference Include="Syncfusion.Grid.Windows, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
<Reference Include="Syncfusion.GridCommon.WinForms, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
<Reference Include="Syncfusion.Licensing, Version=25.2462.5.0, Culture=neutral, PublicKeyToken=632609b4d040f6b4, processorArchitecture=MSIL">
<HintPath>..\packages\Syncfusion.Licensing.25.2.5\lib\net462\Syncfusion.Licensing.dll</HintPath>
</Reference>
<Reference Include="Syncfusion.OfficeChart.Base, Version=25.2462.5.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89, processorArchitecture=MSIL">
<HintPath>..\packages\Syncfusion.OfficeChart.Base.25.2.5\lib\net462\Syncfusion.OfficeChart.Base.dll</HintPath>
</Reference>
<Reference Include="Syncfusion.Pdf.Base, Version=25.2462.5.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89, processorArchitecture=MSIL">
<HintPath>..\packages\Syncfusion.Pdf.WinForms.25.2.5\lib\net462\Syncfusion.Pdf.Base.dll</HintPath>
</Reference>
<Reference Include="Syncfusion.PdfToImageConverter.Base, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
<Reference Include="Syncfusion.PdfViewer.Windows, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89, processorArchitecture=MSIL" />
<Reference Include="Syncfusion.SfDataGrid.WinForms, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89, processorArchitecture=MSIL" />
<Reference Include="Syncfusion.SfInput.WinForms, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
<Reference Include="Syncfusion.SfListView.WinForms, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
<Reference Include="Syncfusion.Shared.Base, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
<Reference Include="Syncfusion.Shared.Windows, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
<Reference Include="Syncfusion.SpellChecker.Base, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
<Reference Include="Syncfusion.Spreadsheet.Windows, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89, processorArchitecture=MSIL" />
<Reference Include="Syncfusion.Tools.Base, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
<Reference Include="Syncfusion.Tools.Windows, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
<Reference Include="Syncfusion.XlsIO.Base, Version=25.1462.35.0, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Design" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Transactions" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Windows.Forms.Ribbon, Version=2.0.0.0, Culture=neutral, PublicKeyToken=928736e248aa81f9, processorArchitecture=MSIL">
<HintPath>..\packages\RibbonWinForms.5.0.1.1\lib\net48\System.Windows.Forms.Ribbon.dll</HintPath>
</Reference>
<Reference Include="System.Xaml" />
<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" />
<Reference Include="UIAutomationProvider" />
<Reference Include="UIAutomationTypes" />
<Reference Include="WindowsBase" />
<Reference Include="WindowsFormsIntegration" />
</ItemGroup>
<ItemGroup>
<Compile Include="Diverses\frmLogin.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Diverses\frmLogin.Designer.cs">
<DependentUpon>frmLogin.cs</DependentUpon>
</Compile>
<Compile Include="DocMgmt\clsdocgen.cs" />
<Compile Include="Helper\ConvertHelper.cs" />
<Compile Include="Helper\FileHelper.cs" />
<Compile Include="Helper\TableHelper.cs" />
<Compile Include="Kalssen\clsAppParams.cs" />
<Compile Include="Kalssen\clsStaticValues.cs" />
<Compile Include="Kalssen\EventHandler.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Start.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Start.Designer.cs">
<DependentUpon>Start.cs</DependentUpon>
</Compile>
<Compile Include="UIControls\DokList.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="UIControls\DokList.Designer.cs">
<DependentUpon>DokList.cs</DependentUpon>
</Compile>
<Compile Include="UIControls\EnhImageListBase.cs" />
<Compile Include="UIControls\PartnerTree.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="UIControls\PartnerTree.Designer.cs">
<DependentUpon>PartnerTree.cs</DependentUpon>
</Compile>
<Compile Include="UIControls\Vorlagenauswahl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="UIControls\Vorlagenauswahl.Designer.cs">
<DependentUpon>Vorlagenauswahl.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="Diverses\frmLogin.resx">
<DependentUpon>frmLogin.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>
<EmbeddedResource Include="Start.resx">
<DependentUpon>Start.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UIControls\DokList.resx">
<DependentUpon>DokList.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UIControls\PartnerTree.resx">
<DependentUpon>PartnerTree.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UIControls\Vorlagenauswahl.resx">
<DependentUpon>Vorlagenauswahl.cs</DependentUpon>
</EmbeddedResource>
<None Include="packages.config" />
<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>
<ItemGroup>
<None Include="Resources\exit.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\exit1.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\Search.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\Searc_16x16.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\SearchDialog.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Database\EDOKA_Database.csproj">
<Project>{98ffa7f4-2784-4815-a2ea-83dfc1adbea1}</Project>
<Name>EDOKA_Database</Name>
</ProjectReference>
<ProjectReference Include="..\DOCGEN\DOCGEN.csproj">
<Project>{820f669a-5881-4145-b202-32b53a62989b}</Project>
<Name>DOCGEN</Name>
</ProjectReference>
<ProjectReference Include="..\EDOKA_Logging\EDOKA_Logging.csproj">
<Project>{9a58502e-ac8b-4103-ae5e-f4bac4b65820}</Project>
<Name>EDOKA_Logging</Name>
</ProjectReference>
<ProjectReference Include="..\Helper\Helper.csproj">
<Project>{216c1660-5ad5-4a5e-80e4-150ccf673cbc}</Project>
<Name>Helper</Name>
</ProjectReference>
<ProjectReference Include="..\Model\Model.csproj">
<Project>{a1fd0973-89a7-4588-877d-373835d6e00c}</Project>
<Name>Model</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EDOKA_2024.Helper
{
public static class ConvertHelper
{
//public static MemoryStream Base64ToMemoryStram(string Base64String)
//{
// //data:image/gif;base64,
// //this image is a single pixel (black)
// byte[] bytes = Convert.FromBase64String(Base64String);
// using (MemoryStream ms = new MemoryStream(bytes))
// {
// image = Image.FromStream(ms);
// }
// return image;
//}
}
}

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EDOKA_2024.Helper
{
public class FileHelper
{
//public void writeMStoFS(ref MemoryStream ms)
}
}

@ -0,0 +1,79 @@
using EDOKA_2024.Kalssen;
using Syncfusion.WinForms.DataGrid;
using Syncfusion.XlsIO;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EDOKA_Database;
namespace EDOKA_2024.Helper
{
public static class TableHelper
{
public static void SetColumnsOrder(this DataTable dtbl, params String[] columnNames)
{
List<string> listColNames = columnNames.ToList();
//Remove invalid column names.
foreach (string colName in columnNames)
{
if (!dtbl.Columns.Contains(colName))
{
listColNames.Remove(colName);
}
}
foreach (string colName in listColNames)
{
dtbl.Columns[colName].SetOrdinal(listColNames.IndexOf(colName));
}
}
public static void FormatTable(ref DataTable tbl, string tablename, ref SfDataGrid grid)
{
EDOKA_DB db = new EDOKA_DB(AppParams.connectionstring);
db.Get_Tabledata("Select * from spalten where aktiv=1 and tabelle='" + tablename + "'", false, true);
foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows)
{
foreach (DataColumn dc in tbl.Columns)
{
if (dr["tabellenspalte"].ToString() == dc.ColumnName)
{
dc.SetOrdinal(Convert.ToInt32(dr["reihenfolge"].ToString()));
break;
}
}
tbl.AcceptChanges();
}
grid.DataSource = tbl;
foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows)
{
foreach (GridColumn col in grid.Columns)
{
if (col.HeaderText.ToString() == dr["tabellenspalte"].ToString())
{
col.HeaderText = dr["spalte"].ToString();
if (Convert.ToInt32(dr["Breite"].ToString()) > 0 )
{
col.Width = Convert.ToInt32(dr["Breite"].ToString());
}
if (Convert.ToBoolean(dr["Readonly"]) == true)
{
col.AllowEditing = false;
}
}
}
}
}
}
}

@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EDOKA_2024.Kalssen;
namespace EDOKA_2024.Kalssen
{
public class StrukturArgs: EventArgs
{
private string message;
private int dokumentartnr;
private int partnernr;
public StrukturArgs(string message, int dokumentartnr, int partnernr)
{
this.message=message;
this.dokumentartnr=dokumentartnr;
this.partnernr=partnernr;
}
public string Message
{
get
{
return message;
}
}
public int Dokumentartnr
{ get { return dokumentartnr;} }
public int Partnernr
{ get { return partnernr; } }
}
}

@ -0,0 +1,37 @@
using EDOKA_Database;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace EDOKA_2024.Kalssen
{
public static class AppParams
{
public static string connectionstring { get; set; }
public static string tempdir { get; set; }
public static string Version { get; set; } = "6.0";
static AppParams()
{
}
public static void init(){
string startuppath = AppDomain.CurrentDomain.BaseDirectory;
connectionstring = System.IO.File.ReadAllText(startuppath + @"\edokaconn.cfg");
EDOKA_DB db = new EDOKA_DB(connectionstring);
db.Get_Tabledata("Select * from applikation where applikationsnr = 1",false,true);
tempdir = db.dsdaten.Tables[0].Rows[0]["pfad_temporaer_dokumente"].ToString();
db = null;
StaticValues.UserID = "Stefan Hutter";
}
}
}

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EDOKA_2024.Kalssen
{
internal class StaticValues
{
public static string UserID { get; set; } = "";
}
}

@ -0,0 +1,41 @@
using EDOKA_2024.Kalssen;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace EDOKA_2024
{
internal static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
private static Mutex mutex = null;
///
[STAThread]
static void Main(string[] arsg)
{
const string appName = "EDOKA_Relaunche";
bool createdNew;
mutex = new Mutex(true, appName, out createdNew);
if (!createdNew)
{
//app is already running! Exiting the application
return;
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("Ngo9BigBOggjHTQxAR8/V1NBaF5cXmZCf1FpRmJGdld5fUVHYVZUTXxaS00DNHVRdkdnWXxccXVWR2VdUUZ3VkM=");
AppParams.init();
Application.Run(new Start());
}
}
}

@ -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("EDOKA_2024")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("HP Inc.")]
[assembly: AssemblyProduct("EDOKA_2024")]
[assembly: AssemblyCopyright("Copyright © HP Inc. 2024")]
[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("1cbbe5f6-4562-4eef-bc9b-177f30901e23")]
// 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,103 @@
//------------------------------------------------------------------------------
// <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 EDOKA_2024.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("EDOKA_2024.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;
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap exit1 {
get {
object obj = ResourceManager.GetObject("exit1", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Searc_16x16 {
get {
object obj = ResourceManager.GetObject("Searc_16x16", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Search {
get {
object obj = ResourceManager.GetObject("Search", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap SearchDialog {
get {
object obj = ResourceManager.GetObject("SearchDialog", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

@ -0,0 +1,133 @@
<?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>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="exit1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\exit1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Search" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Search.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Searc_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Searc_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="SearchDialog" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SearchDialog.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

@ -0,0 +1,39 @@
//------------------------------------------------------------------------------
// <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 EDOKA_2024.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;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=shu01\\shu00;Initial Catalog=edoka_dms;Persist Security Info=True;User" +
" ID=sa;Password=*shu29;")]
public string Connectionstring {
get {
return ((string)(this["Connectionstring"]));
}
set {
this["Connectionstring"] = value;
}
}
}
}

@ -0,0 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="EDOKA_2024.Properties" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="Connectionstring" Type="System.String" Scope="User">
<Value Profile="(Default)">Data Source=shu01\shu00;Initial Catalog=edoka_dms;Persist Security Info=True;User ID=sa;Password=*shu29;</Value>
</Setting>
</Settings>
</SettingsFile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 515 B

@ -0,0 +1,173 @@
namespace EDOKA_2024
{
partial class Start
{
/// <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(Start));
this.ribbon1 = new System.Windows.Forms.Ribbon();
this.ribbonTab1 = new System.Windows.Forms.RibbonTab();
this.ribbonPanel1 = new System.Windows.Forms.RibbonPanel();
this.rbnbtnexit = new System.Windows.Forms.RibbonButton();
this.ribbonPanel2 = new System.Windows.Forms.RibbonPanel();
this.rbcomboboxprofil = new System.Windows.Forms.RibbonComboBox();
this.ribbonSeparator1 = new System.Windows.Forms.RibbonSeparator();
this.panel1 = new System.Windows.Forms.Panel();
this.partnerTree1 = new EDOKA_2024.UICintrols.PartnerTree();
this.dokList1 = new EDOKA_2024.UICintrols.DokList();
this.SuspendLayout();
//
// ribbon1
//
this.ribbon1.BackColor = System.Drawing.SystemColors.Control;
this.ribbon1.Font = new System.Drawing.Font("Segoe UI", 9F);
this.ribbon1.Location = new System.Drawing.Point(0, 0);
this.ribbon1.Minimized = false;
this.ribbon1.Name = "ribbon1";
//
//
//
this.ribbon1.OrbDropDown.BorderRoundness = 8;
this.ribbon1.OrbDropDown.Location = new System.Drawing.Point(0, 0);
this.ribbon1.OrbDropDown.Name = "";
this.ribbon1.OrbDropDown.Size = new System.Drawing.Size(527, 447);
this.ribbon1.OrbDropDown.TabIndex = 0;
this.ribbon1.OrbStyle = System.Windows.Forms.RibbonOrbStyle.Office_2013;
this.ribbon1.OrbText = "";
this.ribbon1.OrbVisible = false;
this.ribbon1.RibbonTabFont = new System.Drawing.Font("Trebuchet MS", 9F);
this.ribbon1.Size = new System.Drawing.Size(1588, 100);
this.ribbon1.TabIndex = 0;
this.ribbon1.Tabs.Add(this.ribbonTab1);
this.ribbon1.TabSpacing = 4;
this.ribbon1.Text = "ribbon1";
//
// ribbonTab1
//
this.ribbonTab1.Name = "ribbonTab1";
this.ribbonTab1.Panels.Add(this.ribbonPanel1);
this.ribbonTab1.Panels.Add(this.ribbonPanel2);
this.ribbonTab1.Text = "";
//
// ribbonPanel1
//
this.ribbonPanel1.Items.Add(this.rbnbtnexit);
this.ribbonPanel1.Name = "ribbonPanel1";
this.ribbonPanel1.Text = "";
//
// rbnbtnexit
//
this.rbnbtnexit.Image = global::EDOKA_2024.Properties.Resources.exit1;
this.rbnbtnexit.LargeImage = global::EDOKA_2024.Properties.Resources.exit1;
this.rbnbtnexit.Name = "rbnbtnexit";
this.rbnbtnexit.SmallImage = ((System.Drawing.Image)(resources.GetObject("rbnbtnexit.SmallImage")));
this.rbnbtnexit.Text = "";
this.rbnbtnexit.ToolTip = "Anwendung beenden";
this.rbnbtnexit.Click += new System.EventHandler(this.rbnbtnexit_Click);
//
// ribbonPanel2
//
this.ribbonPanel2.Items.Add(this.rbcomboboxprofil);
this.ribbonPanel2.Name = "ribbonPanel2";
this.ribbonPanel2.Text = "Profil";
//
// rbcomboboxprofil
//
this.rbcomboboxprofil.Name = "rbcomboboxprofil";
this.rbcomboboxprofil.SelectedIndex = -1;
this.rbcomboboxprofil.TextBoxText = "";
this.rbcomboboxprofil.DropDownItemClicked += new System.Windows.Forms.RibbonComboBox.RibbonItemEventHandler(this.rbcomboboxprofil_DropDownItemClicked);
//
// ribbonSeparator1
//
this.ribbonSeparator1.Name = "ribbonSeparator1";
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel1.Location = new System.Drawing.Point(0, 800);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1588, 18);
this.panel1.TabIndex = 3;
//
// partnerTree1
//
this.partnerTree1.Cursor = System.Windows.Forms.Cursors.WaitCursor;
this.partnerTree1.Dock = System.Windows.Forms.DockStyle.Left;
this.partnerTree1.Location = new System.Drawing.Point(0, 100);
this.partnerTree1.mitarbeiternr = 0;
this.partnerTree1.Name = "partnerTree1";
this.partnerTree1.PartnerNr = 0;
this.partnerTree1.profilnr = 0;
this.partnerTree1.Size = new System.Drawing.Size(271, 700);
this.partnerTree1.TabIndex = 1;
//
// dokList1
//
this.dokList1.docartnr = 0;
this.dokList1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dokList1.Location = new System.Drawing.Point(271, 100);
this.dokList1.mitarbeiternr = 0;
this.dokList1.Name = "dokList1";
this.dokList1.partnernr = 0;
this.dokList1.profilnr = 0;
this.dokList1.Size = new System.Drawing.Size(1317, 700);
this.dokList1.TabIndex = 4;
this.dokList1.Load += new System.EventHandler(this.dokList1_Load);
//
// Start
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1588, 818);
this.Controls.Add(this.dokList1);
this.Controls.Add(this.partnerTree1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.ribbon1);
this.KeyPreview = true;
this.Name = "Start";
this.Text = "Start";
this.Load += new System.EventHandler(this.Start_Load);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Ribbon ribbon1;
private System.Windows.Forms.RibbonTab ribbonTab1;
private System.Windows.Forms.RibbonPanel ribbonPanel1;
private System.Windows.Forms.RibbonButton rbnbtnexit;
private System.Windows.Forms.RibbonSeparator ribbonSeparator1;
private System.Windows.Forms.RibbonPanel ribbonPanel2;
private UICintrols.PartnerTree partnerTree1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.RibbonComboBox rbcomboboxprofil;
private UICintrols.DokList dokList1;
}
}

@ -0,0 +1,126 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.Remoting.Channels;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using EDOKA_2024.Diverses;
using EDOKA_2024.Kalssen;
using EDOKA_2024.UICintrols;
using EDOKA_Database;
using Syncfusion.WinForms.Controls.Styles;
namespace EDOKA_2024
{
public partial class Start : Form
{
string mitarbeiter = "";
int mitarbeiternr = 0;
public static void InitLogging()
{
EDOKA_Database.EDOKA_DB db = new EDOKA_Database.EDOKA_DB(AppParams.connectionstring);
db.Get_Tabledata("Select * from nlog_parameter", false, true);
EDOKA_Logging.Logging.IntLogLevel = db.dsdaten.Tables[0].Rows[0]["LogLevel"].ToString();
EDOKA_Logging.Logging.IntUserID = db.dsdaten.Tables[0].Rows[0]["LogUserID"].ToString();
db = null;
}
public Start()
{
InitializeComponent();
InitLogging();
EDOKA_Logging.Logging.Debug("Start", "start.cs", "");
mitarbeiter = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
mitarbeiter = mitarbeiter.Substring(mitarbeiter.IndexOf("\\") + 1);
EDOKA_DB db = new EDOKA_DB(AppParams.connectionstring);
db.Get_Tabledata("Select mitarbeiternr from mitarbeiter where tgnummer='" + mitarbeiter + "'", false, true);
mitarbeiternr = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["mitarbeiternr"].ToString());
db.dsdaten.Tables.Clear();
db.Get_Tabledata("Select * from [applikation] where applikationsnr = 1", false, true);
panel1.Visible = false;
if (Convert.ToBoolean(db.dsdaten.Tables[0].Rows[0]["Showlogin"]) == true)
{
this.panel1.Visible = true;
frmLogin frmLogin = new frmLogin();
frmLogin.ShowDialog();
if (frmLogin.DialogResult == DialogResult.OK)
{
this.mitarbeiternr = frmLogin.selectedmitarbeiternr;
}
else { System.Environment.Exit(1); }
}
db.dsdaten.Tables.Clear();
db.Get_Tabledata("Select profilnr, bezeichnung, standard from profil where aktiv=1 and mitarbeiternr=" + mitarbeiternr.ToString(),false,true);
foreach (DataRow r in db.dsdaten.Tables[0].Rows)
{
RibbonLabel rl = new RibbonLabel();
rl.Text = r["bezeichnung"].ToString();
rl.Tag = Convert.ToInt32(r["profilnr"]);
rbcomboboxprofil.DropDownItems.Add(rl);
if (Convert.ToBoolean(r["standard"]) == true)
{
rbcomboboxprofil.SelectedItem = rl;
}
}
partnerTree1.OnStrukturClicked += new PartnerTree.StrukturHandler(testhandler1);
partnerTree1.Refresh(-1, mitarbeiternr, Convert.ToInt32(rbcomboboxprofil.SelectedItem.Tag.ToString()));
EDOKA_Logging.Logging.Debug("Start - Ende", "start.cs", "");
}
private void testhandler1(object a, StrukturArgs args)
{
dokList1.mitarbeiternr = mitarbeiternr;
dokList1.partnernr = args.Partnernr;
dokList1.docartnr = args.Dokumentartnr;
dokList1.profilnr = Convert.ToInt32(rbcomboboxprofil.SelectedItem.Tag.ToString());
dokList1.refresh_dokumente();
}
private void rbnbtnexit_Click(object sender, EventArgs e)
{
this.Close();
}
private void rbnpartnersearch_Click(object sender, EventArgs e)
{
}
private void Start_Load(object sender, EventArgs e)
{
partnerTree1.mitarbeiternr = mitarbeiternr;
}
private void rbcomboboxprofil_DropDownItemClicked(object sender, RibbonItemEventArgs e)
{
EDOKA_Logging.Logging.Debug("rbcomboboxprofil_DropDownItemClicked", "start.cs", "");
partnerTree1.Refresh(-1, mitarbeiternr, Convert.ToInt32(e.Item.Tag.ToString()));
//MessageBox.Show(e.Item.Tag.ToString());
}
private void dokList1_Load(object sender, EventArgs e)
{
}
}
}

@ -0,0 +1,127 @@
<?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>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="rbnbtnexit.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
</value>
</data>
</root>

@ -0,0 +1,203 @@
namespace EDOKA_2024.UICintrols
{
partial class DokList
{
/// <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()
{
Syncfusion.Windows.Forms.PdfViewer.MessageBoxSettings messageBoxSettings1 = new Syncfusion.Windows.Forms.PdfViewer.MessageBoxSettings();
Syncfusion.Windows.PdfViewer.PdfViewerPrinterSettings pdfViewerPrinterSettings1 = new Syncfusion.Windows.PdfViewer.PdfViewerPrinterSettings();
Syncfusion.Windows.Forms.PdfViewer.TextSearchSettings textSearchSettings1 = new Syncfusion.Windows.Forms.PdfViewer.TextSearchSettings();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DokList));
this.sfDataGrid1 = new Syncfusion.WinForms.DataGrid.SfDataGrid();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripCheckBox1 = new Syncfusion.Windows.Forms.Tools.ToolStripCheckBox();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.panel1 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.pdfViewerControl1 = new Syncfusion.Windows.Forms.PdfViewer.PdfViewerControl();
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
((System.ComponentModel.ISupportInitialize)(this.sfDataGrid1)).BeginInit();
this.toolStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// sfDataGrid1
//
this.sfDataGrid1.AccessibleName = "Table";
this.sfDataGrid1.Dock = System.Windows.Forms.DockStyle.Fill;
this.sfDataGrid1.Location = new System.Drawing.Point(0, 0);
this.sfDataGrid1.Name = "sfDataGrid1";
this.sfDataGrid1.Size = new System.Drawing.Size(1556, 411);
this.sfDataGrid1.TabIndex = 0;
this.sfDataGrid1.Text = "sfDataGrid1";
this.sfDataGrid1.CellClick += new Syncfusion.WinForms.DataGrid.Events.CellClickEventHandler(this.sfDataGrid1_CellClick);
//
// toolStrip1
//
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripCheckBox1,
this.toolStripButton1});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(1556, 25);
this.toolStrip1.TabIndex = 1;
this.toolStrip1.Text = "toolStrip1";
//
// toolStripCheckBox1
//
this.toolStripCheckBox1.Name = "toolStripCheckBox1";
this.toolStripCheckBox1.Size = new System.Drawing.Size(124, 22);
this.toolStripCheckBox1.Text = "Vorschau anzeigen";
this.toolStripCheckBox1.Click += new System.EventHandler(this.toolStripCheckBox1_Click);
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(0, 25);
this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.sfDataGrid1);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.panel1);
this.splitContainer1.Panel2.Controls.Add(this.pdfViewerControl1);
this.splitContainer1.Size = new System.Drawing.Size(1556, 822);
this.splitContainer1.SplitterDistance = 411;
this.splitContainer1.TabIndex = 2;
//
// panel1
//
this.panel1.Controls.Add(this.label1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1556, 407);
this.panel1.TabIndex = 1;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(674, 26);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(126, 13);
this.label1.TabIndex = 0;
this.label1.Text = "Vorschau nicht verfügbar";
this.label1.Visible = false;
//
// pdfViewerControl1
//
this.pdfViewerControl1.CursorMode = Syncfusion.Windows.Forms.PdfViewer.PdfViewerCursorMode.SelectTool;
this.pdfViewerControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.pdfViewerControl1.EnableContextMenu = true;
this.pdfViewerControl1.EnableNotificationBar = true;
this.pdfViewerControl1.HorizontalScrollOffset = 0;
this.pdfViewerControl1.IsBookmarkEnabled = true;
this.pdfViewerControl1.IsTextSearchEnabled = true;
this.pdfViewerControl1.IsTextSelectionEnabled = true;
this.pdfViewerControl1.Location = new System.Drawing.Point(0, 0);
messageBoxSettings1.EnableNotification = true;
this.pdfViewerControl1.MessageBoxSettings = messageBoxSettings1;
this.pdfViewerControl1.MinimumZoomPercentage = 50;
this.pdfViewerControl1.Name = "pdfViewerControl1";
this.pdfViewerControl1.PageBorderThickness = 1;
pdfViewerPrinterSettings1.Copies = 1;
pdfViewerPrinterSettings1.PageOrientation = Syncfusion.Windows.PdfViewer.PdfViewerPrintOrientation.Auto;
pdfViewerPrinterSettings1.PageSize = Syncfusion.Windows.PdfViewer.PdfViewerPrintSize.ActualSize;
pdfViewerPrinterSettings1.PrintLocation = ((System.Drawing.PointF)(resources.GetObject("pdfViewerPrinterSettings1.PrintLocation")));
pdfViewerPrinterSettings1.ShowPrintStatusDialog = true;
this.pdfViewerControl1.PrinterSettings = pdfViewerPrinterSettings1;
this.pdfViewerControl1.ReferencePath = null;
this.pdfViewerControl1.ScrollDisplacementValue = 0;
this.pdfViewerControl1.ShowHorizontalScrollBar = true;
this.pdfViewerControl1.ShowToolBar = true;
this.pdfViewerControl1.ShowVerticalScrollBar = true;
this.pdfViewerControl1.Size = new System.Drawing.Size(1556, 407);
this.pdfViewerControl1.SpaceBetweenPages = 8;
this.pdfViewerControl1.TabIndex = 0;
this.pdfViewerControl1.Text = "pdfViewerControl1";
textSearchSettings1.CurrentInstanceColor = System.Drawing.Color.FromArgb(((int)(((byte)(127)))), ((int)(((byte)(255)))), ((int)(((byte)(171)))), ((int)(((byte)(64)))));
textSearchSettings1.HighlightAllInstance = true;
textSearchSettings1.OtherInstanceColor = System.Drawing.Color.FromArgb(((int)(((byte)(127)))), ((int)(((byte)(254)))), ((int)(((byte)(255)))), ((int)(((byte)(0)))));
this.pdfViewerControl1.TextSearchSettings = textSearchSettings1;
this.pdfViewerControl1.ThemeName = "Default";
this.pdfViewerControl1.VerticalScrollOffset = 0;
this.pdfViewerControl1.VisualStyle = Syncfusion.Windows.Forms.PdfViewer.VisualStyle.Default;
this.pdfViewerControl1.ZoomMode = Syncfusion.Windows.Forms.PdfViewer.ZoomMode.Default;
//
// toolStripButton1
//
this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton1.Name = "toolStripButton1";
this.toolStripButton1.Size = new System.Drawing.Size(23, 22);
this.toolStripButton1.Text = "toolStripButton1";
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
//
// DokList
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.splitContainer1);
this.Controls.Add(this.toolStrip1);
this.Name = "DokList";
this.Size = new System.Drawing.Size(1556, 847);
this.Load += new System.EventHandler(this.DokList_Load);
((System.ComponentModel.ISupportInitialize)(this.sfDataGrid1)).EndInit();
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private Syncfusion.WinForms.DataGrid.SfDataGrid sfDataGrid1;
private System.Windows.Forms.ToolStrip toolStrip1;
private Syncfusion.Windows.Forms.Tools.ToolStripCheckBox toolStripCheckBox1;
private System.Windows.Forms.SplitContainer splitContainer1;
private Syncfusion.Windows.Forms.PdfViewer.PdfViewerControl pdfViewerControl1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ToolStripButton toolStripButton1;
}
}

@ -0,0 +1,117 @@
using EDOKA_2024.Helper;
using EDOKA_2024.Kalssen;
using Klassen;
using Syncfusion.Windows.Forms.Tools;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using EDOKA_Database;
namespace EDOKA_2024.UICintrols
{
public partial class DokList : UserControl
{
public int partnernr { get;set; }
public int docartnr { get;set; }
public int profilnr { get;set; }
public int mitarbeiternr { get; set; }
public DokList()
{
InitializeComponent();
}
private void DokList_Load(object sender, EventArgs e)
{
toolStripCheckBox1_Click(sender,e);
}
public void refresh_dokumente()
{
EDOKA_DB db = new EDOKA_DB(AppParams.connectionstring);
DataTable dokumente = new DataTable();
dokumente = db.Get_Dokumente(partnernr, docartnr, profilnr, false);
// TableHelper.SetColumnsOrder(dokumente, "trefferliste");
TableHelper.FormatTable(ref dokumente, "trefferliste", ref this.sfDataGrid1);
//this.sfDataGrid1.DataSource = dokumente;
}
private void toolStripCheckBox1_Click(object sender, EventArgs e)
{
if (this.toolStripCheckBox1.Checked == false)
{
this.splitContainer1.SplitterDistance = this.Height;
this.pdfViewerControl1.Visible = false;
}
else
{
this.splitContainer1.SplitterDistance = this.Height/2;
this.pdfViewerControl1.Visible=true;
}
}
private void sfDataGrid1_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e)
{
this.panel1.Visible = false;
string documentid = "";
try
{
var selectedItem = e.DataRow;
var dataRow = (e.DataRow.RowData as DataRowView).Row;
documentid = dataRow["dokumentid"].ToString();
}
catch
{
this.panel1.Visible = true;
this.pdfViewerControl1.Visible = false;
return;
}
EDOKA_DB db4 = new EDOKA_DB(AppParams.connectionstring );
string sql = "Select dbo.BinaryToBase64(dokument) as Data from doks where dokumentid = '" + documentid + "'";
db4.Get_Tabledata(sql, false, true);
if (db4.dsdaten.Tables[0].Rows.Count > 0 && this.toolStripCheckBox1.Checked)
{
clsdocgen dg = new clsdocgen();
string docname = dg.generate_pdf(db4.dsdaten.Tables[0].Rows[0]["Data"].ToString(), documentid);
this.pdfViewerControl1.Load(docname);
this.pdfViewerControl1.Visible = true;
}
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
Model.clsDocData docdata = new Model.clsDocData();
docdata.PartnerNr = "1000208";
docdata.DokumenttypNr = "47";
docdata.As_Faksimile = "True";
docdata.Unterschrift_Links= "1";
docdata.Unterschrift_Rechts= "1";
docdata.DokumentDatum = "15.07.2024";
docdata.Result_as_PDF = "False";
docdata.UseEDOKA_Values = "True";
//DOCGEN.DocGen dg = new DOCGEN.DocGen(AppParams.connectionstring);
DOCGEN.Generator.DocGenerator_from_EDOKA dg = new DOCGEN.Generator.DocGenerator_from_EDOKA(AppParams.connectionstring, AppParams.tempdir);
System.IO.File.WriteAllBytes(AppParams.tempdir+@"\Test.docx",Convert.FromBase64String(dg.Generate_Doc_EDOKA("OFFEDK0002024002444993")));
}
}
}

@ -0,0 +1,146 @@
<?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>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
<data name="pdfViewerPrinterSettings1.PrintLocation" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0
dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJh
d2luZy5Qb2ludEYCAAAAAXgBeQAACwsCAAAAAAAAAAAAAAAL
</value>
</data>
</root>

@ -0,0 +1,6 @@
namespace EDOKA_2024.UICintrols
{
public class EnhImageListBase
{
}
}

@ -0,0 +1,219 @@
namespace EDOKA_2024.UICintrols
{
partial class PartnerTree
{
/// <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.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PartnerTree));
this.treeView1 = new System.Windows.Forms.TreeView();
this.ImageList3 = new System.Windows.Forms.ImageList(this.components);
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel();
this.txtPartnerNr = new System.Windows.Forms.ToolStripTextBox();
this.tschkShowImgID = new Syncfusion.Windows.Forms.Tools.ToolStripCheckBox();
this.tsbtnPartnerSearch = new System.Windows.Forms.ToolStripButton();
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.toolStrip1.SuspendLayout();
this.SuspendLayout();
//
// treeView1
//
this.treeView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.treeView1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.treeView1.ImageIndex = 0;
this.treeView1.ImageList = this.ImageList3;
this.treeView1.Location = new System.Drawing.Point(0, 42);
this.treeView1.Name = "treeView1";
this.treeView1.SelectedImageIndex = 0;
this.treeView1.Size = new System.Drawing.Size(287, 853);
this.treeView1.TabIndex = 0;
this.treeView1.AfterExpand += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterExpand);
this.treeView1.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseClick);
//
// ImageList3
//
this.ImageList3.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ImageList3.ImageStream")));
this.ImageList3.TransparentColor = System.Drawing.Color.Transparent;
this.ImageList3.Images.SetKeyName(0, "");
this.ImageList3.Images.SetKeyName(1, "");
this.ImageList3.Images.SetKeyName(2, "");
this.ImageList3.Images.SetKeyName(3, "");
this.ImageList3.Images.SetKeyName(4, "");
this.ImageList3.Images.SetKeyName(5, "");
this.ImageList3.Images.SetKeyName(6, "");
this.ImageList3.Images.SetKeyName(7, "");
this.ImageList3.Images.SetKeyName(8, "");
this.ImageList3.Images.SetKeyName(9, "");
this.ImageList3.Images.SetKeyName(10, "");
this.ImageList3.Images.SetKeyName(11, "");
this.ImageList3.Images.SetKeyName(12, "");
this.ImageList3.Images.SetKeyName(13, "");
this.ImageList3.Images.SetKeyName(14, "");
this.ImageList3.Images.SetKeyName(15, "");
this.ImageList3.Images.SetKeyName(16, "");
this.ImageList3.Images.SetKeyName(17, "");
this.ImageList3.Images.SetKeyName(18, "");
this.ImageList3.Images.SetKeyName(19, "");
this.ImageList3.Images.SetKeyName(20, "");
this.ImageList3.Images.SetKeyName(21, "");
this.ImageList3.Images.SetKeyName(22, "");
this.ImageList3.Images.SetKeyName(23, "");
this.ImageList3.Images.SetKeyName(24, "");
this.ImageList3.Images.SetKeyName(25, "");
this.ImageList3.Images.SetKeyName(26, "");
this.ImageList3.Images.SetKeyName(27, "");
this.ImageList3.Images.SetKeyName(28, "");
this.ImageList3.Images.SetKeyName(29, "");
this.ImageList3.Images.SetKeyName(30, "");
this.ImageList3.Images.SetKeyName(31, "");
this.ImageList3.Images.SetKeyName(32, "");
this.ImageList3.Images.SetKeyName(33, "");
this.ImageList3.Images.SetKeyName(34, "");
this.ImageList3.Images.SetKeyName(35, "");
this.ImageList3.Images.SetKeyName(36, "");
this.ImageList3.Images.SetKeyName(37, "");
this.ImageList3.Images.SetKeyName(38, "");
this.ImageList3.Images.SetKeyName(39, "");
this.ImageList3.Images.SetKeyName(40, "");
this.ImageList3.Images.SetKeyName(41, "");
this.ImageList3.Images.SetKeyName(42, "");
this.ImageList3.Images.SetKeyName(43, "");
this.ImageList3.Images.SetKeyName(44, "");
this.ImageList3.Images.SetKeyName(45, "");
this.ImageList3.Images.SetKeyName(46, "");
this.ImageList3.Images.SetKeyName(47, "");
this.ImageList3.Images.SetKeyName(48, "");
this.ImageList3.Images.SetKeyName(49, "");
this.ImageList3.Images.SetKeyName(50, "");
this.ImageList3.Images.SetKeyName(51, "");
this.ImageList3.Images.SetKeyName(52, "");
this.ImageList3.Images.SetKeyName(53, "");
this.ImageList3.Images.SetKeyName(54, "");
this.ImageList3.Images.SetKeyName(55, "");
this.ImageList3.Images.SetKeyName(56, "");
this.ImageList3.Images.SetKeyName(57, "");
this.ImageList3.Images.SetKeyName(58, "");
this.ImageList3.Images.SetKeyName(59, "");
this.ImageList3.Images.SetKeyName(60, "");
this.ImageList3.Images.SetKeyName(61, "");
this.ImageList3.Images.SetKeyName(62, "");
this.ImageList3.Images.SetKeyName(63, "");
this.ImageList3.Images.SetKeyName(64, "");
this.ImageList3.Images.SetKeyName(65, "");
this.ImageList3.Images.SetKeyName(66, "");
this.ImageList3.Images.SetKeyName(67, "sbo.ico");
this.ImageList3.Images.SetKeyName(68, "pdf.png");
this.ImageList3.Images.SetKeyName(69, "Person1.png");
this.ImageList3.Images.SetKeyName(70, "Partner.png");
this.ImageList3.Images.SetKeyName(71, "pdfform.png");
this.ImageList3.Images.SetKeyName(72, "pdf.png");
//
// toolStrip1
//
this.toolStrip1.AutoSize = false;
this.toolStrip1.BackColor = System.Drawing.SystemColors.AppWorkspace;
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripLabel1,
this.txtPartnerNr,
this.tsbtnPartnerSearch,
this.toolStripButton2,
this.tschkShowImgID});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(287, 42);
this.toolStrip1.TabIndex = 4;
this.toolStrip1.Text = "toolStrip1";
this.toolStrip1.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.toolStrip1_ItemClicked);
//
// toolStripLabel1
//
this.toolStripLabel1.Name = "toolStripLabel1";
this.toolStripLabel1.Size = new System.Drawing.Size(66, 39);
this.toolStripLabel1.Text = "Partner-Nr:";
this.toolStripLabel1.Click += new System.EventHandler(this.toolStripLabel1_Click);
//
// txtPartnerNr
//
this.txtPartnerNr.Font = new System.Drawing.Font("Segoe UI", 9F);
this.txtPartnerNr.Name = "txtPartnerNr";
this.txtPartnerNr.Size = new System.Drawing.Size(100, 42);
this.txtPartnerNr.ToolTipText = "Partner-Nummer eingeben";
this.txtPartnerNr.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtPartnerNr_KeyDown);
//
// tschkShowImgID
//
this.tschkShowImgID.Name = "tschkShowImgID";
this.tschkShowImgID.Size = new System.Drawing.Size(58, 39);
this.tschkShowImgID.Text = "ImgID";
//
// tsbtnPartnerSearch
//
this.tsbtnPartnerSearch.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.tsbtnPartnerSearch.Image = global::EDOKA_2024.Properties.Resources.Searc_16x16;
this.tsbtnPartnerSearch.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbtnPartnerSearch.Name = "tsbtnPartnerSearch";
this.tsbtnPartnerSearch.Size = new System.Drawing.Size(23, 39);
this.tsbtnPartnerSearch.Text = "toolStripButton1";
this.tsbtnPartnerSearch.Click += new System.EventHandler(this.tsbtnPartnerSearch_Click);
//
// toolStripButton2
//
this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton2.Image = global::EDOKA_2024.Properties.Resources.SearchDialog;
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton2.Name = "toolStripButton2";
this.toolStripButton2.Size = new System.Drawing.Size(23, 39);
this.toolStripButton2.Text = "toolStripButton2";
this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click);
//
// PartnerTree
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.treeView1);
this.Controls.Add(this.toolStrip1);
this.Name = "PartnerTree";
this.Size = new System.Drawing.Size(287, 895);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TreeView treeView1;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripLabel toolStripLabel1;
private System.Windows.Forms.ToolStripTextBox txtPartnerNr;
private System.Windows.Forms.ToolStripButton tsbtnPartnerSearch;
private System.Windows.Forms.ToolStripButton toolStripButton2;
internal System.Windows.Forms.ImageList ImageList3;
private Syncfusion.Windows.Forms.Tools.ToolStripCheckBox tschkShowImgID;
}
}

@ -0,0 +1,370 @@
using Syncfusion.XlsIO.Parser.Biff_Records.Formula;
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 EDOKA_2024.Kalssen;
using Syncfusion.Windows.Forms.Tools.MultiColumnTreeView;
using System.Reflection;
using System.Xml.Linq;
using System.Drawing.Imaging;
using EDOKA_Database;
namespace EDOKA_2024.UICintrols
{
public partial class PartnerTree : UserControl
{
public delegate void StrukturHandler(object myObject, StrukturArgs myArgs);
public event StrukturHandler OnStrukturClicked;
public class treeclass
{
public int dokumentartnr { get; set; }
public string bezeichnung { get; set; }
public int imageindex { get; set; }
public int imageindexopen { get; set; }
public int parentid { get; set; }
public int sort { get; set; }
}
private int partnernr;
public int PartnerNr
{
get => partnernr;
set {
partnernr = value;
Update_Tree();
}
}
public int mitarbeiternr { get; set; }
public int profilnr {get;set;}
public PartnerTree()
{
InitializeComponent();
this.ImageList3.Images.Clear();
for (int i = 0; i < 75; i++)
{
string iname = @"X:\Imagelist\Relaunche\" + i.ToString() + ".png";
if (System.IO.File.Exists(iname))
{
ImageList3.Images.Add(Image.FromFile(iname));
}
else
{
iname = @"X:\Imagelist\Relaunche\1.png";
ImageList3.Images.Add(Image.FromFile(iname));
}
}
}
public void Refresh(int partnernr, int mitarbeiternr, int profilnr)
{
this.partnernr = partnernr;
this.mitarbeiternr = mitarbeiternr;
this.profilnr = profilnr;
Update_Tree();
}
private bool Update_Tree(TreeNode root = null)
{
try
{
treeView1.BeginUpdate();
Cursor = Cursors.WaitCursor;
if (root == null) { this.treeView1.Nodes.Clear(); }
if (this.partnernr == 0) return false;
DataTable treedata = new DataTable();
DataTable partnerdata = new DataTable();
DataTable rootdata = new DataTable();
EDOKA_DB db = new EDOKA_DB(AppParams.connectionstring);
rootdata = db.Get_Partnerstruktur(PartnerNr, true, mitarbeiternr, profilnr);
TreeNode partnernode = new TreeNode();
TreeNode foundnode = new TreeNode();
foreach (DataRow dr in rootdata.Rows)
{
foundnode = SearchTreeView(dr["Person"].ToString(), treeView1.Nodes);
if (foundnode == null)
{
foundnode = new TreeNode();
foundnode.Text = dr["Person"].ToString();
foundnode.Tag = dr["person_nrpar00"].ToString();
foundnode.ImageIndex = Convert.ToInt32(dr["person_imageindex"].ToString());
foundnode.SelectedImageIndex = Convert.ToInt32(dr["person_imageindexopen"].ToString());
Font boldFont = new Font(treeView1.Font, FontStyle.Bold);
foundnode.NodeFont = boldFont;
treeView1.Nodes.Add(foundnode);
if (rootdata.Rows.Count > 59000)
{
foundnode.Nodes.Add(new TreeNode("Dummy"));
}
else
{
partnerdata = db.Get_Partnerstruktur(Convert.ToInt32(dr["Person_nrpar00"].ToString()), false, mitarbeiternr, profilnr);
foreach (DataRow drp in partnerdata.Rows)
{
if (Convert.ToInt32(drp["parentid"].ToString()) == 2) { drp["parentid"] = dr["person_nrpar00"].ToString(); };
if (Convert.ToInt32(drp["parentid"].ToString()) < 2) { drp.Delete(); };
}
partnerdata.AcceptChanges();
List<DataRow> list1 = treedata.AsEnumerable().ToList();
List<treeclass> tree1 = new List<treeclass>();
tree1 = ConvertDataTable<treeclass>(partnerdata);
PopulateTree(ref foundnode, tree1);
}
}
partnernode = new TreeNode();
partnernode.Text = dr["Partner"].ToString();
partnernode.Tag = dr["nrpar00"].ToString();
partnernode.ImageIndex = Convert.ToInt32(dr["imageindex"].ToString());
partnernode.SelectedImageIndex = Convert.ToInt32(dr["imageindexopen"].ToString());
Font boldFont1 = new Font(treeView1.Font, FontStyle.Bold);
partnernode.NodeFont = boldFont1;
foundnode.Nodes.Add(partnernode);
if (rootdata.Rows.Count > 50)
{
partnernode.Nodes.Add(new TreeNode("Dummy"));
}
else
{
treedata = db.Get_Partnerstruktur(Convert.ToInt32(dr["nrpar00"].ToString()), false, mitarbeiternr, profilnr);
foreach (DataRow drp in treedata.Rows)
{
if (Convert.ToInt32(drp["parentid"].ToString()) == 2) { drp["parentid"] = dr["nrpar00"].ToString(); };
if (Convert.ToInt32(drp["parentid"].ToString()) < 2) { drp.Delete(); };
}
treedata.AcceptChanges();
List<DataRow> list = treedata.AsEnumerable().ToList();
List<treeclass> tree = new List<treeclass>();
tree = ConvertDataTable<treeclass>(treedata);
PopulateTree(ref partnernode, tree);
}
}
try
{
if (rootdata.Rows.Count == 1)
{
if (ignore != true) { treeView1.ExpandAll(); }
}
treeView1.SelectedNode = treeView1.Nodes[0];
treeView1.SelectedNode.EnsureVisible();
}
catch { }
treeView1.EndUpdate();
Cursor = Cursors.Default;
return true;
}
catch
{
treeView1.EndUpdate();
Cursor = Cursors.Default;
return false;
}
}
private TreeNode SearchTreeView(string p_sSearchTerm, TreeNodeCollection p_Nodes)
{
foreach (TreeNode node in p_Nodes)
{
if (node.Text == p_sSearchTerm)
return node;
if (node.Nodes.Count > 0)
{
TreeNode child = SearchTreeView(p_sSearchTerm, node.Nodes);
if (child != null) return child;
}
}
return null;
}
public void PopulateTree(ref TreeNode root, List<treeclass> eintraege)
{
if (root == null)
{
root = new TreeNode();
root.Text = "";
root.Tag = null;
// get all departments in the list with parent is null
var details = eintraege.Where(t => t.parentid == null);
foreach (var detail in details)
{
var child = new TreeNode()
{
Text = detail.bezeichnung,
Tag = detail.dokumentartnr.ToString(),
ImageIndex = detail.imageindex,
SelectedImageIndex = detail.imageindex,
};
PopulateTree(ref child, eintraege);
root.Nodes.Add(child);
}
}
else
{
//var id = (int)root.Tag;
int id = Convert.ToInt32(root.Tag.ToString());
var details = eintraege.Where(t => t.parentid == id);
foreach (var detail in details)
{
var child = new TreeNode()
{
Text = detail.bezeichnung,
Tag = detail.dokumentartnr,
ImageIndex = detail.imageindex,
SelectedImageIndex = detail.imageindex,
};
PopulateTree(ref child, eintraege);
root.Nodes.Add(child);
}
}
}
private static List<T> ConvertDataTable<T>(DataTable dt)
{
List<T> data = new List<T>();
foreach (DataRow row in dt.Rows)
{
T item = GetItem<T>(row);
data.Add(item);
}
return data;
}
private static T GetItem<T>(DataRow dr)
{
Type temp = typeof(T);
T obj = Activator.CreateInstance<T>();
foreach (DataColumn column in dr.Table.Columns)
{
foreach (PropertyInfo pro in temp.GetProperties())
{
if (pro.Name == column.ColumnName)
pro.SetValue(obj, dr[column.ColumnName], null);
else
continue;
}
}
return obj;
}
private void tsbtnPartnerSearch_Click(object sender, EventArgs e)
{
try
{
this.PartnerNr = Convert.ToInt32(this.txtPartnerNr.Text);
}
catch
{
this.txtPartnerNr.Text = "";
}
}
private void txtPartnerNr_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
tsbtnPartnerSearch_Click(sender, e);
}
}
bool ignore = false;
private void treeView1_AfterExpand(object sender, TreeViewEventArgs e)
{
if (ignore) return;
if (e.Node.Nodes.Count < 2)
{
partnernr = Convert.ToInt32(e.Node.Tag);
//e.Node.Nodes.Clear();
ignore=true;
Update_Tree(e.Node);
e.Node.ExpandAll();
ignore = false;
}
}
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (this.tschkShowImgID.Checked)
{
MessageBox.Show(e.Node.ImageIndex.ToString());
}
int Pnr = 0;
if (e.Node.Level<2) {
Pnr = Convert.ToInt32(e.Node.Tag);
}
else
{
Pnr = ReadRecursive(e.Node);
}
StrukturArgs myArgs = new StrukturArgs("",Convert.ToInt32(e.Node.Tag.ToString()),Pnr);
OnStrukturClicked(this, myArgs);
}
private int ReadRecursive(TreeNode node)
{
TreeNode tmpnode = node;
while ( tmpnode.Level>1)
{
tmpnode = tmpnode.Parent;
}
if (tmpnode.Text.ToString().IndexOf(" - ") < 3)
{
while (tmpnode.Level > 0)
{
tmpnode = tmpnode.Parent;
}
}
return Convert.ToInt32(tmpnode.Tag);
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
for (int x = 0; x < ImageList3.Images.Count; ++x)
{
ImageList3.Images[x].Save(@"x:\imagelist\"+x.ToString()+".jpg",ImageFormat.Bmp);
}
}
private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
}
private void toolStripLabel1_Click(object sender, EventArgs e)
{
}
}
}

@ -0,0 +1,426 @@
<?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>
<metadata name="ImageList3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>378, 15</value>
</metadata>
<data name="ImageList3.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACA
RAAAAk1TRnQBSQFMAgEBSQEAAewBCQHsAQkBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAATABAQIAAQEBAAEIBgABTBgAAYACAAGAAwACgAEAAYADAAGAAQABgAEAAoACAAPAAQABwAHc
AcABAAHwAcoBpgEAATMFAAEzAQABMwEAATMBAAIzAgADFgEAAxwBAAMiAQADKQEAA1UBAANNAQADQgEA
AzkBAAGAAXwB/wEAAlAB/wEAAZMBAAHWAQAB/wHsAcwBAAHGAdYB7wEAAdYC5wEAAZABqQGtAgAB/wEz
AwABZgMAAZkDAAHMAgABMwMAAjMCAAEzAWYCAAEzAZkCAAEzAcwCAAEzAf8CAAFmAwABZgEzAgACZgIA
AWYBmQIAAWYBzAIAAWYB/wIAAZkDAAGZATMCAAGZAWYCAAKZAgABmQHMAgABmQH/AgABzAMAAcwBMwIA
AcwBZgIAAcwBmQIAAswCAAHMAf8CAAH/AWYCAAH/AZkCAAH/AcwBAAEzAf8CAAH/AQABMwEAATMBAAFm
AQABMwEAAZkBAAEzAQABzAEAATMBAAH/AQAB/wEzAgADMwEAAjMBZgEAAjMBmQEAAjMBzAEAAjMB/wEA
ATMBZgIAATMBZgEzAQABMwJmAQABMwFmAZkBAAEzAWYBzAEAATMBZgH/AQABMwGZAgABMwGZATMBAAEz
AZkBZgEAATMCmQEAATMBmQHMAQABMwGZAf8BAAEzAcwCAAEzAcwBMwEAATMBzAFmAQABMwHMAZkBAAEz
AswBAAEzAcwB/wEAATMB/wEzAQABMwH/AWYBAAEzAf8BmQEAATMB/wHMAQABMwL/AQABZgMAAWYBAAEz
AQABZgEAAWYBAAFmAQABmQEAAWYBAAHMAQABZgEAAf8BAAFmATMCAAFmAjMBAAFmATMBZgEAAWYBMwGZ
AQABZgEzAcwBAAFmATMB/wEAAmYCAAJmATMBAANmAQACZgGZAQACZgHMAQABZgGZAgABZgGZATMBAAFm
AZkBZgEAAWYCmQEAAWYBmQHMAQABZgGZAf8BAAFmAcwCAAFmAcwBMwEAAWYBzAGZAQABZgLMAQABZgHM
Af8BAAFmAf8CAAFmAf8BMwEAAWYB/wGZAQABZgH/AcwBAAHMAQAB/wEAAf8BAAHMAQACmQIAAZkBMwGZ
AQABmQEAAZkBAAGZAQABzAEAAZkDAAGZAjMBAAGZAQABZgEAAZkBMwHMAQABmQEAAf8BAAGZAWYCAAGZ
AWYBMwEAAZkBMwFmAQABmQFmAZkBAAGZAWYBzAEAAZkBMwH/AQACmQEzAQACmQFmAQADmQEAApkBzAEA
ApkB/wEAAZkBzAIAAZkBzAEzAQABZgHMAWYBAAGZAcwBmQEAAZkCzAEAAZkBzAH/AQABmQH/AgABmQH/
ATMBAAGZAcwBZgEAAZkB/wGZAQABmQH/AcwBAAGZAv8BAAHMAwABmQEAATMBAAHMAQABZgEAAcwBAAGZ
AQABzAEAAcwBAAGZATMCAAHMAjMBAAHMATMBZgEAAcwBMwGZAQABzAEzAcwBAAHMATMB/wEAAcwBZgIA
AcwBZgEzAQABmQJmAQABzAFmAZkBAAHMAWYBzAEAAZkBZgH/AQABzAGZAgABzAGZATMBAAHMAZkBZgEA
AcwCmQEAAcwBmQHMAQABzAGZAf8BAALMAgACzAEzAQACzAFmAQACzAGZAQADzAEAAswB/wEAAcwB/wIA
AcwB/wEzAQABmQH/AWYBAAHMAf8BmQEAAcwB/wHMAQABzAL/AQABzAEAATMBAAH/AQABZgEAAf8BAAGZ
AQABzAEzAgAB/wIzAQAB/wEzAWYBAAH/ATMBmQEAAf8BMwHMAQAB/wEzAf8BAAH/AWYCAAH/AWYBMwEA
AcwCZgEAAf8BZgGZAQAB/wFmAcwBAAHMAWYB/wEAAf8BmQIAAf8BmQEzAQAB/wGZAWYBAAH/ApkBAAH/
AZkBzAEAAf8BmQH/AQAB/wHMAgAB/wHMATMBAAH/AcwBZgEAAf8BzAGZAQAB/wLMAQAB/wHMAf8BAAL/
ATMBAAHMAf8BZgEAAv8BmQEAAv8BzAEAAmYB/wEAAWYB/wFmAQABZgL/AQAB/wJmAQAB/wFmAf8BAAL/
AWYBAAEhAQABpQEAA18BAAN3AQADhgEAA5YBAAPLAQADsgEAA9cBAAPdAQAD4wEAA+oBAAPxAQAD+AEA
AfAB+wH/AQABpAKgAQADgAMAAf8CAAH/AwAC/wEAAf8DAAH/AQAB/wEAAv8CAAP/QgAB8gTzAbsDBwK8
A/QyAAHyA/MCRwdGAkcxAAEZA/MCRwFGARoCRgL/AUYCRzEAARkD8wJHAUYBGgH/AUYC/wFGAkcxAAHx
A/MBRwlNAUcxAAHwBPMF9AEZNQAB8AfzAvIBGTUAARkG8wLyAvE1AAEZBfMC8gHxAvA1AAfpBEY1AAPp
BUYD8zUABOkERgLzAfQ1AATpBEYB8wH0twABvAHtApIF9wKSAe0HAAb/AQcBVgJQAfAKAAHqBfkSAAG8
AgcBvAHvAQcCkgHtAZIB7QEHBAAB/wH0AfIFBwHvAU8BVgEbAVYBcgEAARQBbQTqAW0B6wEAAeoF+QEA
AfIE8wG7AwcCvAP0AwABvAF0AvAB8QHvAe0B7wL3AewBBwQAAbwBBwW8AgcBTwGYAf8B9gGXAQABbQHd
A/kB3QG1AesBAAHqBfkBAAHyA/MCRwdGAkcCAAG8AZMBTQLzAfIC8wHyAfEB8AEHBAACBwW8AgcBTwF4
AZgBeAGXAQAB6gP5Ad0BDwMAAeoF+QEAARkD8wJHAUYBGgJGAv8BRgJHAgABvAHxAZQBJgH/AfMB9ALz
AfQB8QEHBAABvAEHBrwBBwFyApcBVgHzAQAB6gP5ARIBAAHqAd4BAAFtAd0E+QEAARkD8wJHAUYBGgH/
AUYC/wFGAkcCAAG8AfIB8wH/ASYBlAH0Af8CdQFNAbwEAAG8AQcGvAQHAe0CAAHqAvkB1wEAARIC3QEA
ARACEgGNAvkBAAHxA/MBRwlNAUcCAAG8AfIB8wH0AZQB/wG9AU0BmgEaAfQBvAQAAfcE/wO8BP8B8wIA
AeoD+QHXAd0BtgHdAhIBbQEAAeoB1wH5AQAB8AMAAfMF9AEZBgABvAHyAfMB9AH/AZoB4wH/AfQB8wHy
AbwGAAL/Ae0D7AGSAv8EAAHqA/kB3QESAeoBEgLeAW0BAAERAfcB+QEAAfAJAAEZBgABvAHyAvMB9AFH
Af8C9AHzAfIBvAcAAf8CBwK8Ae0B9AUAAeoC+QHdAQ8EAAFDBAABtQEAARkJAAHxBgABvAHxAfIB8wH0
AUcB/wH0AvMB8QG8BwAB7wG8AQcB9wIHAfAFAAHrAvkBEgEAARAB/wHxAgABEAH/AfEDAAEZCQAB8AYA
AbwB8AHxAfIB8wFHAfQC8wHyAfAB9wcAAf8B8wH0AfIB8AHvAe0FAAHsAvkB6gEAAf8BAAH/AgAB/wEU
Af8B9wIAB+kERgYAArwB8AHxAfIBTQHzAfIB8ALvAbwHAAP/AfMB8gEHAZIFAAHsAf8B3QESAQAB8QH/
AfECAAHsAv8DAAPpBUYD8wYAAbwBBwK8AfABkwHxAvAB9AEHCAAD/wH0AfMB8AH3BQAB7AL/AdcBEAkA
AbYBAATpBEYC8wH0BgABvAQHA7wB8AEHCQAB8gP/AfQBBwH/BQABFAPsAa4DAAG1Ad0B6gEAAREBBwH/
AQAE6QRGAfMB9AcAAbwD7wQHAe8LAAHxA/8B8gwAAbwB9AHyAfEB3gT/MAAB/wHyAQAB/wEVAUMK/zIA
DuwG/wHzAvEB8gH0Bf8uAALsBP8B8wHvAbsCugHwAZEBBwHzA/8IAAEpGAAN+wEAAewD/wHwAZABswO5
AbsBCQGzAZEB8QL/BgABhQEAASkCNxYABfsCAAEpBfsBAAHsAv8B8AGQA7MCuQG6Af8CswGRAfIB/wQA
AQEBAAGFAeYBKQQ3FAAF+wIAASkE+wEAAuwB/wH0AZADswEJAfQBugG5Af8BugGzAZABkgH0AgABJwER
AQEB+QGFAeYBKQE3AfcDNxQAC/sBAAHsAQAB/wG8A7MBuQG6ARkBuQG6Af8BugKzAZAB8QEAAW0BJwH6
AQEB+QGFAeYBKQI3AvcBNxQABfsBAAT7AQAB7AIAAf8BkQG0ArMCuQH/ARkB9AH/AbMBCQG7AZABBwEA
AW0BJwH6AQEB+QGFAeYBKQQ3AfcVAAT7AQAE+wEAAewCAAH/AZAEswG5AboD/wGzAfQBCQGQAe8CAAEn
AfoBAQH5AYUB5gEpATcC9wI3FQAD+wMAAvsBAAHsAwAB/wGRArQBugKzA/8BCQH0ArMBkAHvAgABJwH6
AQEB+QGFAeYBKQM3AfcBNxYAAvsDAAL7AQAB7AMAAf8BkQS7AfAC/wH0BLMBiwG8AgABJwH6AQEB+QGF
AeYCKQI3AykVAAL7AwAB+wEAAewEAAH/AfABuwHwAfMB9AP/AboDswGQAYsB8wIAAScB+gEBAfkBhQLm
AikBNwEpATcXAAL7AQAC+wEAAewEAAL/AbQB8gHzAQkB/wH0AfMBGQEJArMBkAHvAf8CAAEnAfoCAQH5
AoUB5gMpGAAE+wEAAewFAAL/AfMBtAG7AbwB/wEZAQkC8wG0AZABkQH0Af8CAAInAfoCAQH5A4UbAAP7
AQAB7AUAA/8B8gG0AfMB/wH0AgkBuwK0AfQC/wMAAicB+gMBHQAC+wgABP8B9AHwAf8BCQG7ArUB8AT/
BAADJykACP8B9Af/UQABZQHmBAcC5ggAAaYB3QQHAd0BBxcAAzAFAAcwAgABZQfmCAABpgbdAQcPAAEp
BwABMAKgAYUD1gEAAZoBoASaATACAAFlAeYEBwLmAQAC+QUAAaYB3QQHAd0BBwEAAZQBBwoAAYUBAAEp
AlkFAAEwAcMBoAGFAd0BCQHWAwABoAOaATACAAFlB+YBAAL5BQABpgbdAQcBAAGUAQcIAAEBAQABhQHd
ASkEWQMAATABwwGgAYUC3QHWAQABlAEAAZoBoAKaATACAAFlAeYBBwHmAgcC5gEAAvkFAAGmAd0BBwHd
AgcB3QEHAQABlAEHBgABJwERAQEBlAGFAd0BKQFZAfcDWQIAATABwwGgAYUC3QHWAQABlAMAAaABmgEw
AgABZQfmAQAC+QEAAvoCAAGmBt0BBwEAAZQBBwEAAZ4BBwIAAW0BJwGeAQEBlAGFAd0BKQJZAvcBWQIA
ATABwwGgBYUBlAEAAZ4BAAGaAaABMAIAAWUB5gMHAeYBZQIAAvkBAAL6AgABpgHdAwcB3QGmAgABlAEH
AQABngEHAgABbQEnAZ4BAQGUAYUB3QEpBFkB9wIAATABwwOgASMCvQGUAQABngEAAaABmgEwAgABZQXm
AWUB5gEAAvkBAAL6AgABpgXdAaYB3QEAAZQBBwEAAZ4BBwMAAScBngEBAZQBhQHdASkBWQL3AlkCAAEw
AcMDoAUjAZ4BAAGaAaABMAIACGUD+QEAAvoCAAemAYUClAEHAQABngEHAwABJwGeAQEBlAGFAd0BKQNZ
AfcBWQIAATAB9AHDBKABAgLCAZ4BAAGgAZoBMAUAASMB+QMHAfkBIwIAAvoFAAEjAZQDBwGUASMCAAGe
AQcDAAEnAZ4BAQGUAYUB3QIpAlkDKQEAATAC9ATDBQIBmgGgATAFAAEjBfkBIwH5AQAC+gUAASMFlAEj
AZQBAAGeAQcDAAEnAZ4BAQGUAYUC3QIpAVkBKQFZAgABMAeaBzAFAAgjA/oFAAgjAp4BBwMAAScBngIB
AZQChQHdAykEAAEwAfQCwwKgATAPAAEnAfoDBwH6AScJAAECAZ4DBwGeAQIEAAInAZ4CAQGUA4UHAAUw
EAABJwX6AScB+ggAAQIFngECAZ4EAAInAZ4DAR4ACCcIAAgCBQADJzsAAew/AAHsAhoBBwHsAQcBGgGa
BHo0AAHsAcMBGgEAAewBAAEaApoDejQAAewCoAEHAewBBwMaAZoCejQAAewCoAEAAewBAAGaAxoCmjQA
AewCoAEHAewBBwGgAxoCmjQAAewCoAEAAewBAAGgBBoBmjQAAewBwwGgAQcB7AEHAaABmgQaNAAB7AHD
AaABAAHsAQADoAMaNAAB7AHDAaABBwEAAZIDoAGaAho0AAHsAcMBoAHsAe8BAAagNAAB7ALDAewB9gEA
BqA0AAHsAsMB7AEHAQABegKgNwAB7APDAewCwwKgAewBoDUAAewHwwGgAew2AArs/wD/AP8A/wBZAA77
MgAB+wwAAfsJAAIgAQACIAEAAiAIAAIgAQACIAEAAiAEAAHvAbwB7wG8BO8FAAH7AgAJ+wEAAfsJAAIg
AQACIAEAAiAIAAIgAQACIAEAAiAEAAH/BLwB7wG8Ae8FAAH7AwAC+wQAAvsBAAH7JQAC/wHvAbwB7wG8
Au8FAAH7BAAC+wYAAfsCAAH8AQAB/AEAAfwBAAH8AQAB/AYACgIKAAH/AbwB/wS8Ae8FAAH7AQAC+wEA
AvsCAAL7AgAB+wEAAfwI/wcAAQII/wECCgAC/wG8Af8B7wG8Ae8BvAUAAfsBAAL7AgAF+wIAAfsCAAH/
AQAB/AH/AfwBAAL/AfwGAAECAf8IAgoAAf8BvAH/AbwB/wK8Ae8FAAH7AQAC+wIAAvsBAAL7AgAB+wEA
AfwB/wH8AQABBwEAAfwBBwH/BwABAgH/AwIBBwQCCgAC/wG8Af8JAAH7AgAC+wEAAvsFAAH7AgAB/wEA
AfwBAAH8AQAB/AH/AfwGAAECAv8BAgEHAwIB/wECCgAB/wG8Af8BvAEAAbwC7wUAAfsDAAL7AQAC+wEA
AvsBAAH7AQAB/AH/AfwB/wH8AQAB/wEAAQcHAAECAf8BAgEHAwIC/wECCgAE/wEAAf8BvAHvBQAB+wQA
B/sBAAH7AgAB/AEAAf8BAAH8Af8B/AEAAfwGAAECAf8BBwUCAf8BAgoABP8BAAH/AbwGAAH7DAAB+wEA
AfwBAAH8AQAB/AEAAfwBAAH8BwABAgH/AgIC/wICAf8BAhcAAfsMAAH7AgAI/wH8BgABAgj/AQIXAA77
AQAB/AEAAfwBAAH8AQAB/AEAAfwHAAoCWgABBwIAAQcBAAEHAQABBwIAAQc1AAEHAgABBwEAAQcBAAEH
AgABBwoAA+woAAEHAgABBwEAAQcBAAEHAgABBwgAAQcE/wEHCgAH7wMAAfwBAAH8AQAB/AEAAfwBAAH8
BwAB/AEAAfwBAAH8AQAB/AEAAfwLAAHsAQAB/wEAA/8B7AEHCQAB/wUAAe8CAAH8CP8HAAH8CP8NAAEH
B/8B7AgAAv8BvAH/AbwB/wHvAwAB/wEAAfwB/wH8AQAC/wH8BwAB/wEAAfwB/wH8AQAC/wH8DAAB/wEA
Av8CAAL/AewCAAXvAQAB/wUAAe8CAAH8Af8B/AEAAQcBAAH8AQcB/wEABNYCAAH8Af8B/AEAAQcBAAH8
AQcB/wEABNYIAAH/AQAC/wMAAf8BBwIAAf8FAAL/AbwB/wG8Af8B7wMAAf8BAAH8AQAB/AEAAfwB/wH8
A/8B1gMAAf8BAAH8AQAB/AEAAfwB/wH8A/8B1ggAAQcD/wEAA/8B7AIAAf8BvAH/AbwB/wEAAf8CAAG8
BQAB/AH/AfwB/wH8AQAB/wEAAQcBAAHWAv8B1gIAAfwB/wH8Af8B/AEAAf8BAAEHAQAB1gL/AdYHAALs
Af8BAAH/AQAB/wHsAf8BAAHsAQAB/wUAAv8BvAH/AQAB/wQAAfwBAAH/AQAB/AH/AfwBAAH8AdYBBwH/
AdYDAAH8AQAB/wEAAfwB/wH8AQAB/AHWAQcB/wHWBQACIAIAAewF/wHsAwAB/wG8Af8BvAH/AQAE/wUA
AfwBAAH8AQAB/AEAAfwBAAH8AQAC1gH/AdYCAAH8AQAB/AEAAfwBAAH8AQAB/AEAAtYB/wHWBAABQQIg
BAAB7AEHAewFAAH/AgAB/wwACP8B/AH/AdYBBwHWAwAI/wH8Af8B1gEHAdYDAAHjAkEEIAHsAwAB7AQA
Af8BvAH/AbwBAAH/CQAB/AEAAfwBAAH8AQAB/AEAAfwBAAH/A9YCAAH8AQAB/AEAAfwBAAH8AQAB/AEA
Af8D1gIAA+MDQQUgBgAE/w8ACtYGAArWAwAE4wJBAyAaAAHWCP8B1gYAAdYI/wHWBAAD4x8ACtYGAArW
BQAC4z8AAQcCAAEHAQABBwEAAQcCAAEHNQABBwIAAQcBAAEHAQABBwIAAQc1AAEHAgABBwEAAQcBAAEH
AgABBxEACgIGAAoCBgAKAgcAAfwBAAH8AQAB/AEAAfwBAAH8BgABAgj/AQIGAAECCP8BAgYAAQII/wEC
BgAB/Aj/BwABAgH/CAIGAAECAf8IAgYAAQIB/wgCBwAB/wEAAfwB/wH8AQAC/wH8BgABAgH/AwIBBwQC
BgABAgH/AwIBBwQCBJgCAAECAf8DAgEHBAIEmAIAAfwB/wH8AQABBwEAAfwBBwH/BwABAgL/AQIBBwMC
Af8BAgYAAQIC/wECAQcDAgH/AQID/wGYAgABAgL/AQIBBwMCAf8BAgP/AZgDAAH/AQAB/AEAAfwBAAH8
Af8B/AYAAQIB/wECAQcDAgL/AQIGAAECAf8BAgEHAwIC/wECBJgCAAECAf8BAgEHAwIC/wECBJgCAAH8
Af8B/AH/AfwBAAH/AQABBwcAAQIB/wEHBQIB/wECBgABAgH/AQcFAgH/AQIEmAIAAQIB/wEHBQIB/wEC
BJgDAAH8AQAB/wEAAfwB/wH8AQAB/AYAAQIB/wICAv8CAgH/AQIGAAECAf8CAgL/AgIB/wECApgB/wGY
AgABAgH/AgIC/wICAf8BAgKYAf8BmAIAAfwBAAH8AQAB/AEAAfwBAAH8BwABAgj/AQIGAAECCP8BAgGY
Av8BmAIAAQII/wECAZgC/wGYAwAI/wH8BgAKAgYACgICmAH/AZgCAAoCApgB/wGYAgAB/AEAAfwBAAH8
AQAB/AEAAfwbAAGYAf8CmAL/ApgB/wGYBgABmAH/ApgC/wKYAf8BmCYAAZgI/wGYBgABmAj/AZgmAAqY
BgAKmCYAAQcCAAEHAQABBwEAAQcCAAEHEQAB7AMAAQcCAAEHAQABBwEAAQcCAAEHFQABBwIAAQcBAAEH
AQABBwIAAQcRAAHsBAcCAAEHAQABBwEAAQcCAAEHFQABBwIAAQcBAAEHAQABBwIAAQcEAAHsAQcB+wIH
AQAD7AQAAewD/wEHAgABBwEAAQcBAAEHAgABBwIAAfwBAAH8AQAB/AEAAfwBAAH8BwAB/AEAAfwBAAH8
AQAB/AEAAfwJAAHsA/8B+wH/AQAB+wEHAuwCAAHsAf8EBwH/AwcB/wEHBAAB/Aj/BwAB/Aj/CwAB7AH7
A/8B+wEAAf8B+wEHAewBAAHsCv8BBwUAAf8BAAH8Af8B/AEAAv8B/AcAAf8BAAH8Af8B/AEAAv8B/AoA
AewC/wH7Av8BAAH/AgAB7AEAAewB/wQHAf8DBwH/AQcEAAH8Af8B/AEAAQcBAAH8AQcB/wEABNYCAAH8
Af8B/AEAAQcBAAH8AQcB/wEABNYHAAHsA/8B+wHsAQAB/wH7AQcBAAHsCv8BBwUAAf8BAAH8AQAB/AEA
AfwB/wH8A/8B1gMAAf8BAAH8AQAB/AEAAfwB/wH8A/8B1gkAAfsD/wH7Av8BBwEAAewB/wgHAf8BBwQA
AfwB/wH8Af8B/AEAAf8BAAEHAQAB1gL/AdYCAAH8Af8B/AH/AfwBAAH/AQABBwEAAdYC/wHWBwACAQEA
Af8B+wP/AfsBBwEAAewK/wEHBQAB/AEAAf8BAAH8Af8B/AEAAfwB1gEHAf8B1gMAAfwBAAH/AQAB/AH/
AfwBAAH8AdYBBwH/AdYDAAIBAwABAQEAA/8B+wL/AQcBAAHsAf8CBwH/BQcB/wEHBAAB/AEAAfwBAAH8
AQAB/AEAAfwBAALWAf8B1gIAAfwBAAH8AQAB/AEAAfwBAAH8AQAC1gH/AdYDAAH5AQEBAAH5AQABAQMA
A/8B+wEHAQAB7Ar/AQcFAAj/AfwB/wHWAQcB1gMACP8B/AH/AdYBBwHWAwAC+QIAAvkBAAP/AfsC/wEH
AQAB7AH/AgcB/wUHAf8BBwQAAfwBAAH8AQAB/AEAAfwBAAH8AQAB/wPWAgAB/AEAAfwBAAH8AQAB/AEA
AfwBAAH/A9YJAAL/AfsD/wH7AQcBAAHsCP8LAArWBgAK1gcAAewB/wH7A/8B+wL/AQcBAAHsAf8GBwH/
AewB/wkAAdYI/wHWBgAB1gj/AdYHAArsAQAB7Aj/AewKAArWBgAK1hIACuxOAAHIAQAB3QEAAcgLAAEt
AQABwgEAAS0LAAElAQABmgEAASUaAAHIBd0ByAkAAS0FwgEtCQABJQWaASUYAALIAd0ByAEAAcgB3QkA
Ai0BwgEtAQABLQHCCQACJQGaASUBAAElAZoEAAH8AQAB/AEAAfwBAAH8AQAB/AwAAcgC3QEAAewBAALd
AcgHAAEtAsIBAAHsAQACwgEtBwABJQKaAQAB7AEAApoBJQEAAfwI/w0AAsgB3QHIAQAByAHdCQACLQHC
AS0BAAEtAcIJAAIlAZoBJQEAASUBmgQAAf8BAAH8Af8B/AEAAv8B/A0AAcgF3QHICQABLQXCAS0JAAEl
BZoBJQIAAfwB/wH8AQABBwEAAfwBBwH/DgACyAEAAd0BAAHICgACLQEAAcIBAAEtCgACJQEAAZoBAAEl
BAAB/wEAAfwBAAH8AQAB/AH/AfwIAAHIAQAB3QEAAcgCAATIBQABLQEAAcIBAAEtAgAELQUAASUBAAGa
AQABJQIABCUDAAH8Af8B/AH/AfwBAAH/AQABBwgAAcgF3QHICQABLQXCAS0JAAElBZoBJQkAAfwBAAH/
AQAB/AH/AfwBAAH8BgACyAHdAcgBAAHIAd0JAAItAcIBLQEAAS0BwgkAAiUBmgElAQABJQGaCQAB/AEA
AfwBAAH8AQAB/AEAAfwHAAHIAt0BAAHsAQAC3QHIBwABLQLCAQAB7AEAAsIBLQcAASUCmgEAAewBAAKa
ASUIAAj/AfwGAALIAd0ByAEAAcgB3QkAAi0BwgEtAQABLQHCCQACJQGaASUBAAElAZoJAAH8AQAB/AEA
AfwBAAH8AQAB/AgAAcgF3QHICQABLQXCAS0JAAElBZoBJRkAAsgBAAHdAQAByAoAAi0BAAHCAQABLQoA
AiUBAAGaAQABJRwABMgMAAQtDAAEJSwAAS0BVQEtDQABLQFVAS0hAAHsB/8EAAEtAVUBLQ0AAS0BVQEt
EgABKgEAAZoBAAEqCgAB7Af/BAABLQFVAS0NAAEtAVUBLREAASoFmgEqCQAB7Af/BAADLQIAB/8EAAMt
AgAH/wcAAioBmgEqAQABKgGaDAAG/wQAAewFAAb/BAAB7AUABv8HAAEqApoBAAHsAQACmgEqAwAGtQEA
Bv8CAALsBeECAAX/AgAC7ALoAe8B/wHvAgAF/wcAAioBmgEqAQABKgGaBQAEtQMABv8CAAHsAeEB/wXh
AQAF/wIAAewD6AHvAf8B7wH/AQAF/wgAASoFmgEqBAADtQEAArUBAAb/AQAB7AHhAf8H4QEABP8BAAHs
AegB/wLoAe8B/wHvAv8BAAT/CAACKgEAAZoBAAEqBQAGtQEABP8B7AIAAewB/wHhAf8G4QEABP8BAAHs
Af8D6AHvAf8B7wL/AQAE/wMAASoBAAGaAQABKgIABCoFAAW1AwAD/wHsAf8BAAHsAeEB/wfhAQAE/wEA
AewB6AL/AegB7wH/Ae8C/wEABP8CAAEqBZoBKgoAB7UBAAXsAQAB7AP/AeEB/wThAQAC/wHsAgAB7AH/
AegC/wHvAf8B7wL/AQAC/wHsAgACKgGaASoBAAEqAZoLAAe1AQAB/wHsBQAB7AP/AeEB/wHhAf8BAAP/
AewB/wIAAewB/wHoAf8B7wH/Ae8B/wEAA/8B7AH/AQABKgKaAQAB7AEAApoBKgkABLUBAAK1AQAB/wHs
Af8EAALsAf8B4QH/AeEB/wIABewCAALsAf8B6AHvAf8B7wIABewBAAIqAZoBKgEAASoBmgsABLUBAAG1
AQAE7AYAA+wCAAP/AewHAAPsAgAD/wHsBQABKgWaASoKAAa1DQAB7AX/AewB/wgAAewF/wHsAf8EAAIq
AQABmgEAASoeAAjsCAAI7AYABCo8AAEtAVUBLQ0AAewFBwHsCQAB7AUHAewJAAHsBQcB7AkAAS0BVQEt
DQABrwW2Aa8B7AgAAS0FWgEtAewIAAElBU0BJQHsCAABLQFVAS0NAAGvBbYCrwHsBwABLQVaAi0B7AcA
ASUFTQIlAewHAAMtDQABrwW2A68B7AYAAS0FWgMtAewGAAElBU0DJQHsBgAB7A8AAa8FtgEAA68B7AUA
AS0FWgEAAy0B7AUAASUFTQEAAyUB7AMAAuwE4QFtAgAEtQQAAuwF/wIAA68EAALsBf8CAAMtBAAC7AX/
AgADJQMAAewF4QFtAbwBAAK1BQAD7AX/AQABBwEAAq8DAAPsBf8BAAEHAQACLQMAA+wF/wEAAQcBAAIl
AgAB7AHhAf8E4QFtArwCAAK1AwAC7AEHBewCBwH/AQABrwMAAuwBBwXsAgcB/wEAAS0DAALsAQcF7AIH
Af8BAAElAgAB7AH/BeEBbQK8AQADtQMAAewBBwHsAwcC7AEHA/8EAAHsAQcB7AMHAuwBBwP/BAAB7AEH
AewDBwLsAQcD/wMAAewB4QP/AuEBbQK8AQACtQQAAewB/wEHAewDBwEABewDAAHsAf8BBwHsAwcBAAXs
AwAB7AH/AQcB7AMHAQAF7AIAAewB/wHhAv8C4QFtArwBAAS1AwAB7AH/AQcB7AEHAQAB7AT/AQcEAAHs
Af8BBwHsAQcBAAHsBP8BBwQAAewB/wEHAewBBwEAAewE/wEHAwAB7AH/AeEB/wLhAW0BvAEABbUEAAHs
Af8BBwIAAewE/wEHBQAB7AH/AQcCAAHsBP8BBwUAAewB/wEHAgAB7AT/AQcDAALsAf8B4QH/AeEBbQIA
ArUBAAK1BQAB7AH/AwAF7AYAAewB/wMABewGAAHsAf8DAAXsBQAD7AIABLUBAAG1BwAB7A8AAewPAAHs
EgAGtUwAARIBlASTMQABEwHqBBIB6gFuAQABEgGUBJMTAAHsBQcB7AkAAewFBwHsBwAB6gG3A5QBtwGT
AW4BAAESAZQEkxMAATEFWQExAewIAAHmBdYB5gHsBgABEgGUApMBtwEOAwABEgGUBJMBAAbXAQAG9AUA
ATEFWQIxAewHAAHmBdYC5gHsBQABEgGUAZMBlAESAQABEgG9AQAB6gG3AZQDkwEABNcFAAT0BQABMQVZ
AzEB7AYAAeYF1gPmAewEAAESAZQBkwG3AQABEgK3AQABEAISAW4CkwEAA9cBAALXAQAC9AEAA/QFAAEx
BVkBAAMxAewFAAHmBdYBAAPmAewDAAESAZQCkwK3AZQBtwETARIBbQEAARIBtwGTAQAG1wEABvQEAALs
Bf8CAAMxBAAC7AX/AgAD5gMAARIBlAKTAbcBEwESARMCvQFtAQABEQGOAZQBAAXXAwAF9AMAA+wF/wEA
AQcBAAIxAwAD7AX/AQABBwEAAuYDAAESAZQBkwG3AQ4EAAERBAABkwEABdcBAAf0AwAC7AEHBewCBwH/
AQABMQMAAuwBBwXsAgcB/wEAAeYDAAHrAZMBlAFEAQABEAH/AfECAAEQAf8B8QMABdcBAAf0AwAB7AEH
AewDBwLsAQcD/wQAAewBBwHsAwcC7AEHA/8EAAHsAfMBkwESAQAB/wEAAf8CAAH/ARQB/wH3AgAD1wEA
AdcBAAL0AQAE9AMAAewB/wEHAewDBwEABewDAAHsAf8BBwHsAwcBAAXsAwAB7AH/AbcBRAEAAfEB/wHx
AgAB7AL/AwAD1wEAAtcC9AEABPQEAAHsAf8BBwHsAQcBAAHsBP8BBwQAAewB/wEHAewBBwEAAewE/wEH
AwAB7AL/AbcBEAkAAZMBAAbXB/QFAAHsAf8BBwIAAewE/wEHBQAB7AH/AQcCAAHsBP8BBwMAARQC7AHt
AW4DAAGOAbcBEgEAAREBBwH/FAAB7AH/AwAF7AYAAewB/wMABewJAAG8AfMBvQEaAb0E/xUAAewPAAHs
CgAB/wHyAQAB/wEVAUMK/1oAAeoFtgoAAeoFtgYAAewBMAoAAvkCAAH5CgABFAFtBOoBbQHrAQAB6gW2
AQABFAFtBOoBbQHrAQAB6gW2BQAB7AEwAXoMAAK8CwABbQHdA7YB3QG1AesBAAHqBbYBAAFtAd0DtgHd
AbUB6wEAAeoFtgQAAuwBegEAAvkJAAK8AgABbQkAAeoDtgHdAQ8DAAHqBbYBAAHqA7YB3QEPAwAB6gW2
AQAB7AIwAewBegEAArwLAAO8AQAB/wEAAewGAAHqA7YBEgEAAeoB3gEAAW0B3QS2AQAB6gO2ARIBAAHq
Ad4BAAFtAd0EtgEAATADegEAArwCAAFtBgAC7AS8AQAC/wcAAeoCtgHXAQABEgLdAQABEAISAY0CtgEA
AeoCtgHXAQABEgLdAQABEAISAY0CtgHsAXoBAAJ6AgADvAEAAVYBAAFWAwAC7AEABLwDAAFQAQABUAMA
AeoDtgHXAd0BtgHdAhIBbQEAAeoB1wG2AQAB6gO2AdcB3QG2Ad0CEgFtAQAB6gHXAbYBAAN6ATABAAS8
AQACVgQAAuwBAAK8AgAD/wEAAbwEAAHqA7YB3QESAeoBEgLeAW0BAAERAfcBtgEAAeoDtgHdARIB6gES
At4BbQEAAREB9wG2AgAB7AIAAewBAAS8BgAD7AEAArwBAAP/AQABvAQAAeoCtgHdAQ8EAAFDBAABtQEA
AeoCtgHdAQ8EAAFDBAABtQQAAuwBAAK8AgAD/wQABewBAAT/AQABvAMAAesCtgESAQABEAH/AfECAAEQ
Af8B8QMAAesCtgESAQABEAH/AfECAAEQAf8B8QYAA+wBAAK8AQAD/woAAv8CAAK8AwAB7AHzAbYB6gEA
Af8BAAH/AgAB/wEUAf8B9wIAAewB8wG2AeoBAAH/AQAB/wIAAf8BFAH/AfcGAAXsAQAE/wYAA7wBAAL/
AQADvAIAAewB/wHdARIBAAHxAf8B8QIAAewC/wMAAewB/wHdARIBAAHxAf8B8QIAAewC/w0AAv8JAAW8
AQABvAQAAewC/wHXARAJAAG2AQAB7AL/AdcBEAkAAbYIAAO8AQAC/w0AAewCvAMAARQD7AGuAwABtQHd
AeoBAAERAQcB/wEAARQD7AGuAwABtQHdAeoBAAERAQcB/wkABbwLAAXsCQABvAH0AfIB8QHeBP8HAAG8
AfQB8gHxAd4E/yAAAf8B8gEAAf8BFQFDC/8B8gEAAf8BFQFDCv8UAAEHAgABBwEAAQcBAAEHAgABBzUA
AQcCAAEHAQABBwEAAQcCAAEHGAAC/xsAAQcCAAEHAQABBwEAAQcCAAEHFgAC/wIAAv8FAAoCBgAKAgwA
AewMAAHzAf8CAAL/AgAC/wMAAQII/wECBgABAgj/AQIMAAHsAwMGAAHsAv8CAAL/AgAC/wIAAf8CAAEC
Af8IAgYAAQIB/wgCDAAB7AH/AewBAwkAAfMB/wIAAv8CAAL/AwABAgH/AwIBBwQCBJgCAAECAf8DAgEH
BAIEmAgAAewB+wHsAQMGAAHsAv8CAAL/AgAC/wIAAf8CAAECAv8BAgEHAwIB/wECA/8BmAIAAQIC/wEC
AQcDAgH/AQID/wGYCAAB7AH/AewBAwkAAfMB/wIAAv8CAAL/AwABAgH/AQIBBwMCAv8BAgSYAgABAgH/
AQIBBwMCAv8BAgSYBwAB7AH/AfsB7AEDBgAB7AL/AgAC/wIAAv8CAAH/AgABAgH/AQcFAgH/AQIEmAIA
AQIB/wEHBQIB/wECBJgGAAHsAfsB/wMHAQMIAAHzAf8CAAL/AgAC/wMAAQIB/wICAv8CAgH/AQICmAH/
AZgCAAECAf8CAgL/AgIB/wECApgB/wGYBQAB7AL/AQcB+wIHAQMB7AQAAewC/wIABv8CAAH/AgABAgj/
AQIBmAL/AZgCAAECCP8BAgGYAv8BmAQAAewB/wL7Af8EBwEDAewGAAr/AwAKAgKYAf8BmAIACgICmAH/
AZgCAALsAfsB/wL7A/8BBwH/AgcBAwIAAewM/wcAAZgB/wKYAv8CmAH/AZgGAAGYAf8CmAL/ApgB/wGY
AgAO7AMAAuwI/wkAAZgI/wGYBgABmAj/AZgVAALsBP8LAAqYBgAKmBcAAuwdAAHsBAAF7A4AAVAlAALs
AgcB+QH7Af4FXg4AAlAVAAH5BAAF+QQAAewDBwTsBV4NAARQFAAC+QMAAvkHAAH6AfsB/wEHAQAB+QH7
Af4EXgHsAwAFUAQABlAKAggABPkEAAIaBAAB7AL6AfsBBwEAAfkC/gEHAuwFAAJQBgAGUAEAAQII/wEC
BwAG+QMAARoFAAHsAQcB+QH7AfoDAAUHBgACGgQAAlABAAJQAgABAgH/CAIGAAb5BAAEGgIAAewDBwH5
AwAB7AEHCQABGgUAAVACAAFQAwABAgH/AwIBBwQCBgAC+QEAAvkGAAMaAgAB7AMHAfkDAAHsBF4B7AUA
BBoCAAFQBgABAgL/AQIBBwMCAf8BAgYAAfkCAAH5BgAFGgEAAewCBwH5AfsBAAPsBV4GAAMaAgABUAYA
AQIB/wECAQcDAgL/AQIGAAH5CQADGgQAAQcB+QH7AfoE7AVeBQAFGggAAQIB/wEHBQIB/wECBgAB+QsA
AhoDAAHsAfsB+gH+AQADBwHsAf8BBwcAAxoKAAECAf8CAgL/AgIB/wECBwAB+RAABuwCBwHsAv8BBwcA
AhoJAAECCP8BAhgAAewEXgHsAgAB7AP/AQcRAAoCGAAB7AReAewDAAH/AuwB/zMABuwHAAHsMwAD7FoA
Aew/AAHsCwcLAAe2CQAH5AkAB3UCAAHsCv8BBwsAAfMFAAG2CQABwgUAAeQJAAEbBQABdQIAAewB/wQH
Af8DBwH/AQcLAALzA7wB8wG2CQACwgGeAcIBngHCAeQJAAIbAb0B/wG9Af8BdQIAAewK/wEHBQAFtgEA
AfMFAAG2AwAF5AEAAcIFAAHkAwAFdQEAARsFAAF1AgAB7AH/BAcB/wMHAf8BBwUAAfMFAALzAbwB8wG8
AfMBtgMAAcIFAALCAZ4BwgGeAcIB5AMAARsFAAIbAb0B/wG9Af8BdQIAAewK/wEHBQAB8wO8AfMBAAHz
AgAB8wYAAcIBngHCAZ4BwgEAAcICAAGeBgABGwG9Af8BvQH/AQABGwIAAb0FAAHsAf8IBwH/AQcFAAHz
BQAC8wG8AfMBAAHzBAABwgUAAsIBngHCAQABwgQAARsFAAIbAb0BGwEAAf8DAAHsCv8BBwUAAfMBvAHz
AbwB8wEABPMGAAHCAZ4BwgGeAcIBAATCBgABGwG9Af8BvQH/AQAEGwUAAewB/wIHAf8FBwH/AQcFAAHz
AgAB8wwAAcICAAHCDAABGwIAAf8LAAHsCv8BBwUAAfMBvALzAQAB8woAAcIBngLCAQABwgoAARsBvQEb
AfQBAAH/CQAB7AH/AgcB/wUHAf8BBwUABPMMAATCDAAEGwsAAewI/zcAAewB/wYHAf8B7AH/NQAB7Aj/
Aew2AArsDQABMAHsBwAB7AMAAQcCAAEHAQABBwEAAQcCAAEHJwABMAH7AuwGAAHsBAcCAAEHAQABBwEA
AQcCAAEHJgABMAP7AuwFAAHsA/8BBwIAAQcBAAEHAQABBwIAAQcIAAdZCQAH1gYAATAF+wLsBAAB7AH/
BAcB/wMHAf8BBwsAAcMFAAFZCQABGQUAAdYFAAEwAvsCAAP7AuwDAAHsCv8BBwsAAsMBmgHDAZoBwwFZ
CQACGQHdARkB3QEZAdYEAAEwA/sCAAT7AuwCAAHsAf8EBwH/AwcB/wEHBQAFWQEAAcMFAAFZAwAF1gEA
ARkFAAHWAwABMAv7AuwBAAHsCv8BBwUAAcMFAALDAZoBwwGaAcMBWQMAARkFAAIZAd0BGQHdARkB1gIA
ATAF+wLqBvsD7AH/CAcB/wEHBQABwwGaAcMBmgHDAQABwwIAAcMGAAEZAd0BGQHdARkBAAEZAgAB3QUA
ATAF+wIABvsB7AEAAewK/wEHBQABwwUAAsMBmgHDAQABwwQAARkFAAIZAd0BGQEAARkEAAEwBPsCAAX7
AewCAAHsAf8CBwH/BQcB/wEHBQABwwGaAcMBmgHDAQAEwwYAARkB3QEZAd0BGQEABBkHAAEwA/sCAAT7
AewDAAHsCv8BBwUAAcMCAAHDDAABGQIAARkOAAEwAvsCAAP7AewEAAHsAf8CBwH/BQcB/wEHBQABwwGa
AsMBAAHDCgABGQHdAhkBAAEZDQABMAH7AgAC+wHsBQAB7Aj/CAAEwwwABBkQAAEwA/sB7AYAAewB/wYH
Af8B7AH/KwABMAH7AewHAAHsCP8B7C0AATAIAArsJgABQgFNAT4HAAE+AwABKAMAAUADAAEwAQECAAEB
AQABAQUAAYABCRYAA/8BAAL/BgABgAEBBgABgAcAAYAHAAGABwABgAcAAYABDwYAAYABDwYAAYABDwYA
AYABDwYAAYABDwYAAYABDwYAAYABDwYAAYABHwYAAv8GAAL/BgABwAEDAfgDAAL/AcABAwHAAwABgAEB
AcABAwHAAwABgAEAAcABAwHAAwABgAEAAcABAwHAAwABgAEAAcABAwHAAQECAAGAAQABwAEDAcABAQIA
AYABDwHAAQMB8AEHAgABgAEPAcABAwH4AQ8CAAGAAQ8BwAEDAfgBDwIAAYABDwHAAQMB+AEPAgABgAEP
AcABAwH4AQ8CAAGAAQ8BwAEHAfgBDwIAAYABDwHAAQ8B+AEPAgABgAEfAcABHwH8AR8CAAb/AgAG/wHA
AwAE/wQAAf8BHwL/BAAB/AEHAv8EAAHwAQEC/wQAAcABAQL/AYABAQIAAYABAQL/AYABAwIAAYABAQL/
AcABAwIAAcABAQL/AcABBwIAAcABAQL/AeABBwIAAcABAQL/AeABDwIAAcABAwL/AfABDwIAAcABBwL/
AfABHwIAAcABHwL/AfgBHwIAAeABfwL/AfgBPwIAAfED/wH8AX8CAAL/AYABPwGAAT8C/wGAAQABgAE/
AYABPwL/AgABgAEHAYABBwH/AR8CAAGAAQcBgAEHAfwBBwIAAYABBwGAAQcB8AEBAgABgAEAAYABAAHA
AQECAAGAAQABgAEAAYABAQIAAYABAAGAAQABgAEBAgABgAEAAYABAAHAAQECAAGAAQABgAEAAcABAQIA
AfABAAHwAQABwAEBAgAB8AEAAfABAAHAAQMBAAEBAfABAAHwAQABwAEHAYAB/wH+AQAB/gEAAcABHwHB
Af8B/gEAAf4BAAHgAX8C/wH+AQEB/gEBAfEH/wHAAQEG/wHAAQEG/wHAAQEG/wHAAQEG/wHAAQEG/wHA
AQEG/wHAAQEG/wHAAQEG/wHAAQEG/wHAAQEG/wHAAQEG/wHAAQEG/wHAAQEG/wHAAQMG/wHAAQcG/wHA
AQ+A/wQABP8BfwH+AgAE/wFgAQYCAAH/ASQB/wEkAWABBgIAAf8BJAH/ASQBYAEGAgAE/wFgAQYDAAE/
AQABPwFgAQYDAAE/AQABPwFgAQYDAAE/AQABPwFgAQYDAAE/AQABPwFgAQYDAAE/AQABPwFgAQYDAAE/
AQABPwFgAQYDAAE/AQABPwFgAQ4DAAE/AQABPwFgAR4DAAE/AQABPwF/Af4DAAE/AQABPwQABv8B8AEA
Af8BhwT/AfABAAH+AQMB/AEBAv8B8AEAAfwBAQH8AQEBAAE/AQABPwH4AQAB/AEBAQABPwEAAT8B+AIA
AQEBAAE/AQABPwH4AgABAQEAAQMBAAEDAfgCAAEBAQABAwEAAQMB+AIAAQEBAAEDAQABAwH4AgABAwEA
AQMBAAEDAeQBAQEAAQcBAAEDAQABAwHGAgABDwEAAQMBAAEDAYABBQEAAf8BAAEDAQABAwEAAR8BAQH/
AfABAwHwAQMBgAEjAQMB/wHwAQMB8AEDAccD/wHwAQMB8AEDAecB8Qb/AfABAAb/AfABAAb/AfABAAL/
AQABPwEAAT8BAAE/AQABPwEAAT8BAAE/AQABPwEAAT8BAAE/AQABPwEAAT8BAAE/AQABPwEAAQMBAAED
AQABPwEAAT8BAAEDAQABAwEAAT8BAAE/AQABAwEAAQMBAAE/AQABPwEAAQMBAAEDAQABPwEAAT8BAAED
AQABAwEAAT8BAAE/AQABAwEAAQMBAAE/AQABPwEAAQMBAAEDAQABPwL/AfABAwHwAQME/wHwAQMB8AED
BP8B8AEDAfABAwT/AfABAAL/AgAC/wHwAQAB8AEPAgAC/wHwAQAB4AEDAwABPwEAAT8B4AEBAQABBwEA
AT8BAAE/AfACAAEHAQABPwEAAT8B8AIAAQcBAAEDAQABAwH4AgABBwEAAQMBAAEDAfgCAAEHAQABAwEA
AQMBkAIAAQcBAAEDAQABAwMAAQcBAAEDAQABAwMAAQcBAAEDAQABAwMAAQcBAAEDAQABAwGYAgABBwHw
AQMB8AEDAfgCAAEPAfABAwHwAQMB+AIAAR8B8AEDAfABAwL/AQABPwH/AYcB/wGHAf8BhwL/Af4BAQH+
AQEB/gEBAv8B/gEAAf4BAAH+AQAC/wH8AQAB/AEAAfwCAAE/AfwBAAH8AQAB/AIAAT8B/AEAAfwBAAH8
AgABPwH+AQEB/gEBAf4BAQEAAT8B4AEBAeABAQHgAQEBAAE/AYABBwGAAQcBgAEHAQABPwGAAT8BgAE/
AYABPwEAAT8BAAE/AQABPwEAAT8BAAE/AQABPwEAAT8BAAE/AQABPwEAAT8BAAE/AQABPwEAAT8BgAF/
AYABfwGAAX8C/wGAAX8BgAF/AYABfwL/AeEB/wHhAf8B4QP/Af4BAAHhAf8B4QL/AYcB/gEAAeEB/wHh
Af8B/gEBAf4BAAHgAQAB4AEAAf4BAAH+AQAB4AEAAeABAAH8AQABgAEAAeABAAHgAQAB/AEAAYABAAGA
AQABgAEAAfwBAAGAAQABgAEAAYABAAH+AQEBgAUAAeABAQGABQABgAEHAYAFAAGAAT8BgAEBBQABPwGA
AQMBgAEAAYACAAE/AYABAwGAAQEBgAEBAQABPwGAAQcB4AEDAeABAwGAAX8BgAF/AfgBAwH4AQMBgAF/
AYABfwH4AQcB+AEHAeEB/wHgAT8B4AE/AeABPwHhAf8B4AEfAeABHwHgAR8B4QH/AeABDwHgAQ8B4AEP
AeEB/wHgAQcB4AEHAeABBwHhAf8B4AEDAeABAwHgAQMB4AEBAeABAQHgAQEB4AEBAYABAQHAAQEBwAEB
AcABAQGAAQEBgAEBAYABAQGAAQEBAAEBAYABAQGAAQEBgAEBAQABAQGAAQEBgAEBAYABAQEAAQEBgAEB
AYABAQGAAQECAAGAAQEBgAEBAYABAQGAAQABwAEBAcABAQHAAQEBgAEAAeEBAQHhAQEB4QEBAeABAQHx
AYMB8QGDAfEBgwH+AQEB+QH/AfkB/wH5Af8B/gEBAgAB/wG/AeABPwHgAT8CAAH/AX8B4AEfAeABHwMA
AQEB4AEPAeABDwMAAQEB4AEHAeABBwMAAQEB4AEDAeABAwMAAQEB4AEBAeABAQMAAQEBwAEBAcABAQMA
AQEBgAEBAYABAQMAAQEBgAEBAYABAQMAAQEBgAEBAYABAQMAAQEBgAEBAYABAQMAAQEBgAEBAYABAQMA
AQEBwAEBAcABAQMAAQEB4QEBAeEBAQIAAf4B/wHxAYMB8QGDAgAB/wF/AfkB/wH5Af8B/AP/BAAB+AF/
AYAB/wQAAfABfwHBAf8EAAGAAR8BwAF/BQABPwGAAQ8FAAEPAQABHwUAAQEBAAEBBQABAwEAAQMEAAGA
AQMBAAEDBAAB4AEBAYABAQQAAeABAQHAAQEEAAHwAQAB8AUAAfgBAQH4AQEEAAH+AQEB/AEBBAAB/wEB
Af8BAQQAAf8BgQH/AYMEAAL/AfABAAL/Af4BfwL/AfABAAL/AfgBHwL/AfABAAL/AeABBwEAAT8BAAE/
AfwBHwGAAQEBAAE/AQABPwH8AR8BAAEDAQABPwEAAT8B/AEfAYABAQEAAQMBAAEDAfwBHwEAAQMBAAED
AQABAwH8AR8BgAEBAQABAwEAAQMB+AEPAQABAwEAAQMBAAEDAfABBwGAAQEBAAEDAQABAwHgAQMBAAED
AQABAwEAAQMBwAEBAYABAQEAAQMBAAEDAwABAwHwAQMB8AEDAgABgAEHAfABAwHwAQMC/wHgAR8B8AED
AfABAwL/AfgBfwL/AfABgQH/AfcE/wHAAQEB/wHzAv8B7gEDAYABAQH/AeEC/wHmAQcBgAEDAQEBwAEA
AT8BwwEHAQABDwEDAYEBAAE/AYEBgwEAAQcBgwGTAQABPwEDAQEBAwEBAcEBtwEAAT8BJgEBAQMBAQGA
Ab8BAAE/AW4CAAEBAQABvwEAAT8BfgEBAYABAQEAAX8BAAE/AX4BAQGAAQcBAAH/AQABPwG+AQIBwAED
AQAB/wEAAT8B/wEAAcACAQF/AQABPwH/AYMBwAHgAYABfwT/AcAB/gHBBf8B4wv/AQABBwH8AQEB/AEB
AfwBAQEAAQcB/AEBAfwBAQH8AQEBAAEHAfwBAQH8AQEB/AEBAQABBwEAAQEBAAEBAQABAQEAAQcBAAEB
AQABAQEAAQEBAAEHAQABAQEAAQEBAAEBAQABBwEAAQEBAAEBAQABAQEAAQcBAAEDAQABAwEAAQMBAAEH
AQABBwEAAQcBAAEHAQABBwEAAQ8BAAEPAQABDwEAAQcBAAH/AQAB/wEAAf8BAAEHAQEB/wEBAf8BAQH/
AQABBwEDAf8BAwH/AQMB/wEAAQ8G/wEAAR8G/wEAAT8B/gF/AgAE/wH8AT8CAAH8AQEB/AEBAfgBHwIA
AfwBAQH8AQEB8AEPAQABBwH8AQEB/AEBAeABBwEAAQcBAAEBAQABAQHAAQMBAAEHAQABAQEAAQEBgAEB
AQABBwEAAQEBAAEBAwABBwEAAQEBAAEBAQABAQEAAQcBAAEDAQABAwGAAQMBAAEHAQABBwEAAQcBwAEH
AQABBwEAAQ8BAAEPAeABDwEAAQcBAAH/AQAB/wHwAR8BAAEHAQEB/wEBAf8B+AE/AQABDwEDAf8BAwH/
AfwBfwEAAR8E/wH+Af8BAAE/BP8L
</value>
</data>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>128, 17</value>
</metadata>
</root>

@ -0,0 +1,96 @@
namespace EDOKA_2024.UICintrols
{
partial class Vorlagenauswahl
{
/// <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.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.txtSearch = new System.Windows.Forms.ToolStripTextBox();
this.toolStrip1.SuspendLayout();
this.SuspendLayout();
//
// toolStrip1
//
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripButton1,
this.toolStripButton2,
this.txtSearch});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(671, 25);
this.toolStrip1.TabIndex = 0;
this.toolStrip1.Text = "toolStrip1";
//
// toolStripButton1
//
this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton1.Image = global::EDOKA_2024.Properties.Resources.exit1;
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton1.Name = "toolStripButton1";
this.toolStripButton1.Size = new System.Drawing.Size(23, 22);
this.toolStripButton1.Text = "Schliessen";
//
// toolStripButton2
//
this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton2.Image = global::EDOKA_2024.Properties.Resources.Searc_16x16;
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton2.Name = "toolStripButton2";
this.toolStripButton2.Size = new System.Drawing.Size(23, 22);
this.toolStripButton2.Text = "toolStripButton2";
//
// txtSearch
//
this.txtSearch.Font = new System.Drawing.Font("Segoe UI", 9F);
this.txtSearch.Name = "txtSearch";
this.txtSearch.Size = new System.Drawing.Size(200, 25);
this.txtSearch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtSearch_KeyDown);
//
// Vorlagenauswahl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.toolStrip1);
this.Name = "Vorlagenauswahl";
this.Size = new System.Drawing.Size(671, 676);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton toolStripButton1;
private System.Windows.Forms.ToolStripButton toolStripButton2;
private System.Windows.Forms.ToolStripTextBox txtSearch;
}
}

@ -0,0 +1,25 @@
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;
namespace EDOKA_2024.UICintrols
{
public partial class Vorlagenauswahl : UserControl
{
public Vorlagenauswahl()
{
InitializeComponent();
}
private void txtSearch_KeyDown(object sender, KeyEventArgs e)
{
}
}
}

@ -0,0 +1,123 @@
<?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>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

Binary file not shown.

Binary file not shown.

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

Loading…
Cancel
Save