diff --git a/API_NetFramework/bin/Database.dll b/API_NetFramework/bin/Database.dll index c33079f1..38908311 100644 Binary files a/API_NetFramework/bin/Database.dll and b/API_NetFramework/bin/Database.dll differ diff --git a/API_NetFramework/bin/Database.pdb b/API_NetFramework/bin/Database.pdb index ad0c5226..b1f3a73e 100644 Binary files a/API_NetFramework/bin/Database.pdb and b/API_NetFramework/bin/Database.pdb differ diff --git a/API_NetFramework/bin/Helper.dll b/API_NetFramework/bin/Helper.dll index 821177c5..26b96769 100644 Binary files a/API_NetFramework/bin/Helper.dll and b/API_NetFramework/bin/Helper.dll differ diff --git a/API_NetFramework/bin/Helper.pdb b/API_NetFramework/bin/Helper.pdb index 3ad377e2..c67ed204 100644 Binary files a/API_NetFramework/bin/Helper.pdb and b/API_NetFramework/bin/Helper.pdb differ diff --git a/API_NetFramework/bin/Model.dll b/API_NetFramework/bin/Model.dll index 4b694900..10381a11 100644 Binary files a/API_NetFramework/bin/Model.dll and b/API_NetFramework/bin/Model.dll differ diff --git a/API_NetFramework/bin/Model.pdb b/API_NetFramework/bin/Model.pdb index df130a02..16123dcf 100644 Binary files a/API_NetFramework/bin/Model.pdb and b/API_NetFramework/bin/Model.pdb differ diff --git a/API_NetFramework/bin/OnDoc_NetFramework.dll b/API_NetFramework/bin/OnDoc_NetFramework.dll index 773308fe..1a78d077 100644 Binary files a/API_NetFramework/bin/OnDoc_NetFramework.dll and b/API_NetFramework/bin/OnDoc_NetFramework.dll differ diff --git a/API_NetFramework/bin/OnDoc_NetFramework.pdb b/API_NetFramework/bin/OnDoc_NetFramework.pdb index d761d007..70e4afd6 100644 Binary files a/API_NetFramework/bin/OnDoc_NetFramework.pdb and b/API_NetFramework/bin/OnDoc_NetFramework.pdb differ diff --git a/API_NetFramework/obj/Debug/API_NetFramework.csproj.AssemblyReference.cache b/API_NetFramework/obj/Debug/API_NetFramework.csproj.AssemblyReference.cache index 37fbb93b..2a8f14ff 100644 Binary files a/API_NetFramework/obj/Debug/API_NetFramework.csproj.AssemblyReference.cache and b/API_NetFramework/obj/Debug/API_NetFramework.csproj.AssemblyReference.cache differ diff --git a/API_NetFramework/obj/Debug/OnDoc_NetFramework.dll b/API_NetFramework/obj/Debug/OnDoc_NetFramework.dll index 773308fe..1a78d077 100644 Binary files a/API_NetFramework/obj/Debug/OnDoc_NetFramework.dll and b/API_NetFramework/obj/Debug/OnDoc_NetFramework.dll differ diff --git a/API_NetFramework/obj/Debug/OnDoc_NetFramework.pdb b/API_NetFramework/obj/Debug/OnDoc_NetFramework.pdb index d761d007..70e4afd6 100644 Binary files a/API_NetFramework/obj/Debug/OnDoc_NetFramework.pdb and b/API_NetFramework/obj/Debug/OnDoc_NetFramework.pdb differ diff --git a/BarcodeLib/bin/Debug/Database.dll b/BarcodeLib/bin/Debug/Database.dll index c33079f1..38908311 100644 Binary files a/BarcodeLib/bin/Debug/Database.dll and b/BarcodeLib/bin/Debug/Database.dll differ diff --git a/BarcodeLib/bin/Debug/Database.pdb b/BarcodeLib/bin/Debug/Database.pdb index ad0c5226..b1f3a73e 100644 Binary files a/BarcodeLib/bin/Debug/Database.pdb and b/BarcodeLib/bin/Debug/Database.pdb differ diff --git a/BarcodeLib/bin/Debug/Helper.dll b/BarcodeLib/bin/Debug/Helper.dll index 821177c5..26b96769 100644 Binary files a/BarcodeLib/bin/Debug/Helper.dll and b/BarcodeLib/bin/Debug/Helper.dll differ diff --git a/BarcodeLib/bin/Debug/Helper.pdb b/BarcodeLib/bin/Debug/Helper.pdb index 3ad377e2..c67ed204 100644 Binary files a/BarcodeLib/bin/Debug/Helper.pdb and b/BarcodeLib/bin/Debug/Helper.pdb differ diff --git a/BarcodeLib/bin/Debug/Model.dll b/BarcodeLib/bin/Debug/Model.dll index 4b694900..10381a11 100644 Binary files a/BarcodeLib/bin/Debug/Model.dll and b/BarcodeLib/bin/Debug/Model.dll differ diff --git a/BarcodeLib/bin/Debug/Model.pdb b/BarcodeLib/bin/Debug/Model.pdb index df130a02..16123dcf 100644 Binary files a/BarcodeLib/bin/Debug/Model.pdb and b/BarcodeLib/bin/Debug/Model.pdb differ diff --git a/BarcodeLib/obj/Debug/BarcodeLib.csproj.AssemblyReference.cache b/BarcodeLib/obj/Debug/BarcodeLib.csproj.AssemblyReference.cache index 31591c0e..8d442957 100644 Binary files a/BarcodeLib/obj/Debug/BarcodeLib.csproj.AssemblyReference.cache and b/BarcodeLib/obj/Debug/BarcodeLib.csproj.AssemblyReference.cache differ diff --git a/Client/Client.csproj b/Client/Client.csproj index 9c053bc4..a59617b4 100644 --- a/Client/Client.csproj +++ b/Client/Client.csproj @@ -208,6 +208,12 @@ frmToApproval.cs + + Form + + + SerienbriefBearbeitung.cs + Form @@ -384,6 +390,9 @@ frmToApproval.cs + + SerienbriefBearbeitung.cs + Serienbrief_Sheetselect.cs diff --git a/Client/DocMgmt/Serienbrief.Designer.cs b/Client/DocMgmt/Serienbrief.Designer.cs index ca9fb351..5609fe34 100644 --- a/Client/DocMgmt/Serienbrief.Designer.cs +++ b/Client/DocMgmt/Serienbrief.Designer.cs @@ -58,7 +58,6 @@ this.lblVerantwortlich = new System.Windows.Forms.Label(); this.lblPostzustellung = new System.Windows.Forms.Label(); this.lblBezeichnung = new System.Windows.Forms.Label(); - this.txtbezeichnung = new System.Windows.Forms.TextBox(); this.GrpEmpfaenger = new System.Windows.Forms.GroupBox(); this.sfDataGridEmpfaenger = new Syncfusion.WinForms.DataGrid.SfDataGrid(); this.treeViewAdv1 = new Syncfusion.Windows.Forms.Tools.TreeViewAdv(); @@ -75,6 +74,16 @@ this.ribbonPanel4 = new System.Windows.Forms.RibbonPanel(); this.RibbonButtonEditWord = new System.Windows.Forms.RibbonButton(); this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.ribbonPanel5 = new System.Windows.Forms.RibbonPanel(); + this.ribbonbuttonsave = new System.Windows.Forms.RibbonButton(); + this.ribbonPanel6 = new System.Windows.Forms.RibbonPanel(); + this.txtbezeichnung = new System.Windows.Forms.TextBox(); + this.pnlLoad = new System.Windows.Forms.Panel(); + this.btnsbloadok = new System.Windows.Forms.Button(); + this.panel1 = new System.Windows.Forms.Panel(); + this.label1 = new System.Windows.Forms.Label(); + this.btnsbloadcancel = new System.Windows.Forms.Button(); + this.sfdatagridsbload = new Syncfusion.WinForms.DataGrid.SfDataGrid(); this.GrpDokumentInhalt.SuspendLayout(); this.groupBox8.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.cbboxteam)).BeginInit(); @@ -90,6 +99,9 @@ ((System.ComponentModel.ISupportInitialize)(this.sfDataGridEmpfaenger)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.treeViewAdv1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.GridEmpfänger)).BeginInit(); + this.pnlLoad.SuspendLayout(); + this.panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.sfdatagridsbload)).BeginInit(); this.SuspendLayout(); // // GrpDokumentInhalt @@ -102,7 +114,7 @@ this.GrpDokumentInhalt.Enabled = false; this.GrpDokumentInhalt.Location = new System.Drawing.Point(2, 101); this.GrpDokumentInhalt.Name = "GrpDokumentInhalt"; - this.GrpDokumentInhalt.Size = new System.Drawing.Size(1106, 254); + this.GrpDokumentInhalt.Size = new System.Drawing.Size(1255, 254); this.GrpDokumentInhalt.TabIndex = 1; this.GrpDokumentInhalt.TabStop = false; this.GrpDokumentInhalt.Text = "Dokument-Inahalt"; @@ -358,13 +370,6 @@ this.lblBezeichnung.TabIndex = 8; this.lblBezeichnung.Text = "Bezeichnung"; // - // txtbezeichnung - // - this.txtbezeichnung.Location = new System.Drawing.Point(120, 20); - this.txtbezeichnung.Name = "txtbezeichnung"; - this.txtbezeichnung.Size = new System.Drawing.Size(354, 20); - this.txtbezeichnung.TabIndex = 9; - // // GrpEmpfaenger // this.GrpEmpfaenger.Controls.Add(this.sfDataGridEmpfaenger); @@ -373,7 +378,7 @@ this.GrpEmpfaenger.Dock = System.Windows.Forms.DockStyle.Fill; this.GrpEmpfaenger.Location = new System.Drawing.Point(2, 355); this.GrpEmpfaenger.Name = "GrpEmpfaenger"; - this.GrpEmpfaenger.Size = new System.Drawing.Size(1106, 598); + this.GrpEmpfaenger.Size = new System.Drawing.Size(1255, 598); this.GrpEmpfaenger.TabIndex = 2; this.GrpEmpfaenger.TabStop = false; this.GrpEmpfaenger.Text = "Empfänger"; @@ -384,7 +389,7 @@ this.sfDataGridEmpfaenger.Dock = System.Windows.Forms.DockStyle.Fill; this.sfDataGridEmpfaenger.Location = new System.Drawing.Point(233, 16); this.sfDataGridEmpfaenger.Name = "sfDataGridEmpfaenger"; - this.sfDataGridEmpfaenger.Size = new System.Drawing.Size(870, 579); + this.sfDataGridEmpfaenger.Size = new System.Drawing.Size(1019, 579); this.sfDataGridEmpfaenger.TabIndex = 4; this.sfDataGridEmpfaenger.Text = "sfDataGrid1"; // @@ -474,6 +479,8 @@ this.treeViewAdv1.ToolTipControl.Size = new System.Drawing.Size(392, 112); this.treeViewAdv1.ToolTipControl.TabIndex = 0; this.treeViewAdv1.ToolTipControl.Visible = true; + this.treeViewAdv1.AfterSelect += new System.EventHandler(this.treeViewAdv1_AfterSelect); + this.treeViewAdv1.NodeMouseClick += new Syncfusion.Windows.Forms.Tools.TreeNodeAdvMouseClickArgs(this.treeViewAdv1_NodeMouseClick); // // GridEmpfänger // @@ -482,7 +489,7 @@ this.GridEmpfänger.EditMode = Syncfusion.WinForms.DataGrid.Enums.EditMode.SingleClick; this.GridEmpfänger.Location = new System.Drawing.Point(3, 16); this.GridEmpfänger.Name = "GridEmpfänger"; - this.GridEmpfänger.Size = new System.Drawing.Size(1100, 579); + this.GridEmpfänger.Size = new System.Drawing.Size(1249, 579); this.GridEmpfänger.TabIndex = 2; this.GridEmpfänger.Text = "sfDataGrid1"; // @@ -504,7 +511,7 @@ this.ribbon1.OrbStyle = System.Windows.Forms.RibbonOrbStyle.Office_2013; this.ribbon1.OrbVisible = false; this.ribbon1.RibbonTabFont = new System.Drawing.Font("Trebuchet MS", 9F); - this.ribbon1.Size = new System.Drawing.Size(1106, 99); + this.ribbon1.Size = new System.Drawing.Size(1255, 99); this.ribbon1.TabIndex = 3; this.ribbon1.Tabs.Add(this.ribbonTab1); this.ribbon1.TabSpacing = 4; @@ -517,6 +524,8 @@ this.ribbonTab1.Panels.Add(this.ribbonPanel2); this.ribbonTab1.Panels.Add(this.ribbonPanel3); this.ribbonTab1.Panels.Add(this.ribbonPanel4); + this.ribbonTab1.Panels.Add(this.ribbonPanel5); + this.ribbonTab1.Panels.Add(this.ribbonPanel6); this.ribbonTab1.Text = "Funktionen"; // // ribbonPanel1 @@ -558,6 +567,7 @@ this.RibbonButtonOpen.Name = "RibbonButtonOpen"; this.RibbonButtonOpen.SmallImage = global::OnDoc.Properties.Resources.EditSerienbrief_16x16_32; this.RibbonButtonOpen.Text = "Öffnen/bearbeiten"; + this.RibbonButtonOpen.Click += new System.EventHandler(this.RibbonButtonOpen_Click); // // ribbonPanel3 // @@ -598,11 +608,102 @@ // this.openFileDialog1.FileName = "openFileDialog1"; // + // ribbonPanel5 + // + this.ribbonPanel5.Items.Add(this.ribbonbuttonsave); + this.ribbonPanel5.Name = "ribbonPanel5"; + this.ribbonPanel5.Text = ""; + // + // ribbonbuttonsave + // + this.ribbonbuttonsave.Image = global::OnDoc.Properties.Resources.save_32x32_32; + this.ribbonbuttonsave.LargeImage = global::OnDoc.Properties.Resources.save_32x32_32; + this.ribbonbuttonsave.Name = "ribbonbuttonsave"; + this.ribbonbuttonsave.SmallImage = global::OnDoc.Properties.Resources.save_16x16_32; + this.ribbonbuttonsave.Text = "Speichern"; + this.ribbonbuttonsave.Click += new System.EventHandler(this.ribbonbuttonsave_Click); + // + // ribbonPanel6 + // + this.ribbonPanel6.Name = "ribbonPanel6"; + this.ribbonPanel6.Text = "ribbonPanel6"; + // + // txtbezeichnung + // + this.txtbezeichnung.Location = new System.Drawing.Point(120, 20); + this.txtbezeichnung.Name = "txtbezeichnung"; + this.txtbezeichnung.Size = new System.Drawing.Size(354, 20); + this.txtbezeichnung.TabIndex = 9; + // + // pnlLoad + // + this.pnlLoad.BackColor = System.Drawing.Color.Silver; + this.pnlLoad.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.pnlLoad.Controls.Add(this.sfdatagridsbload); + this.pnlLoad.Controls.Add(this.btnsbloadcancel); + this.pnlLoad.Controls.Add(this.panel1); + this.pnlLoad.Controls.Add(this.btnsbloadok); + this.pnlLoad.Location = new System.Drawing.Point(117, 52); + this.pnlLoad.Name = "pnlLoad"; + this.pnlLoad.Size = new System.Drawing.Size(965, 637); + this.pnlLoad.TabIndex = 4; + this.pnlLoad.Visible = false; + // + // btnsbloadok + // + this.btnsbloadok.Location = new System.Drawing.Point(870, 600); + this.btnsbloadok.Name = "btnsbloadok"; + this.btnsbloadok.Size = new System.Drawing.Size(75, 23); + this.btnsbloadok.TabIndex = 0; + this.btnsbloadok.Text = "öffnen"; + this.btnsbloadok.UseVisualStyleBackColor = true; + this.btnsbloadok.Click += new System.EventHandler(this.bntsbloadok_Click); + // + // panel1 + // + this.panel1.Controls.Add(this.label1); + this.panel1.Dock = System.Windows.Forms.DockStyle.Top; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(961, 47); + this.panel1.TabIndex = 1; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(385, 13); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(154, 20); + this.label1.TabIndex = 0; + this.label1.Text = "Serienbrief öffnen"; + // + // btnsbloadcancel + // + this.btnsbloadcancel.Location = new System.Drawing.Point(9, 600); + this.btnsbloadcancel.Name = "btnsbloadcancel"; + this.btnsbloadcancel.Size = new System.Drawing.Size(75, 23); + this.btnsbloadcancel.TabIndex = 2; + this.btnsbloadcancel.Text = "abbruch"; + this.btnsbloadcancel.UseVisualStyleBackColor = true; + this.btnsbloadcancel.Click += new System.EventHandler(this.btnsbloadcancel_Click); + // + // sfdatagridsbload + // + this.sfdatagridsbload.AccessibleName = "Table"; + this.sfdatagridsbload.Dock = System.Windows.Forms.DockStyle.Top; + this.sfdatagridsbload.Location = new System.Drawing.Point(0, 47); + this.sfdatagridsbload.Name = "sfdatagridsbload"; + this.sfdatagridsbload.Size = new System.Drawing.Size(961, 489); + this.sfdatagridsbload.TabIndex = 3; + this.sfdatagridsbload.Text = "sfDataGrid1"; + // // Serienbrief // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1110, 955); + this.ClientSize = new System.Drawing.Size(1259, 955); + this.Controls.Add(this.pnlLoad); this.Controls.Add(this.GrpEmpfaenger); this.Controls.Add(this.GrpDokumentInhalt); this.Controls.Add(this.ribbon1); @@ -631,6 +732,10 @@ ((System.ComponentModel.ISupportInitialize)(this.sfDataGridEmpfaenger)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.treeViewAdv1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.GridEmpfänger)).EndInit(); + this.pnlLoad.ResumeLayout(false); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.sfdatagridsbload)).EndInit(); this.ResumeLayout(false); } @@ -639,7 +744,6 @@ private System.Windows.Forms.GroupBox GrpDokumentInhalt; private System.Windows.Forms.GroupBox GrpEmpfaenger; private System.Windows.Forms.Label lblBezeichnung; - private System.Windows.Forms.TextBox txtbezeichnung; private Syncfusion.WinForms.ListView.SfComboBox cbboxverantwortlich; private System.Windows.Forms.Label lblVerantwortlich; private System.Windows.Forms.GroupBox groupBox8; @@ -677,5 +781,15 @@ private Syncfusion.Windows.Forms.Tools.TreeViewAdv treeViewAdv1; private System.Windows.Forms.OpenFileDialog openFileDialog1; private Syncfusion.WinForms.DataGrid.SfDataGrid sfDataGridEmpfaenger; + private System.Windows.Forms.RibbonPanel ribbonPanel5; + private System.Windows.Forms.RibbonButton ribbonbuttonsave; + private System.Windows.Forms.TextBox txtbezeichnung; + private System.Windows.Forms.RibbonPanel ribbonPanel6; + private System.Windows.Forms.Panel pnlLoad; + private System.Windows.Forms.Button btnsbloadok; + private System.Windows.Forms.Button btnsbloadcancel; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label label1; + private Syncfusion.WinForms.DataGrid.SfDataGrid sfdatagridsbload; } } \ No newline at end of file diff --git a/Client/DocMgmt/Serienbrief.cs b/Client/DocMgmt/Serienbrief.cs index 06998aca..5e3704d8 100644 --- a/Client/DocMgmt/Serienbrief.cs +++ b/Client/DocMgmt/Serienbrief.cs @@ -3,12 +3,15 @@ using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; +using System.IO; using System.Linq; using System.Runtime.Remoting.Messaging; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Database; +using Helper; +using Model; using OnDoc.Klassen; using OnDoc.UIControls.Administrator; using Syncfusion.Windows.Forms.Tools; @@ -16,6 +19,7 @@ using Syncfusion.WinForms.Controls; using Syncfusion.WinForms.DataGrid; using Syncfusion.WinForms.DataGrid.Interactivity; + namespace OnDoc.UIControls { public partial class Serienbrief : SfForm @@ -23,6 +27,9 @@ namespace OnDoc.UIControls private int dokumenttypnr = 0; private int officevorlagenr = 0; private int profilnr = 0; + private serienbrief sb = new serienbrief(); + private int serienbriefnr = 0; + private DataSet dsempfaenger = new DataSet(); public Serienbrief() { InitializeComponent(); @@ -42,12 +49,13 @@ namespace OnDoc.UIControls { Refresh_Lists(); Refresh_Team(); - + } private void Refresh_Lists() - {DB db = new DB(AppParams.connectionstring); - db.Get_Tabledata("Select nreintrag, bezeichnung from Postzustellung where aktiv=1 order by bezeichnung", false, true); + { + DB db = new DB(AppParams.connectionstring); + db.Get_Tabledata("Select nreintrag, bezeichnung from Postzustellung where aktiv=1 order by bezeichnung", false, true); cbboxpostzustellung.DataSource = db.dsdaten.Tables[0]; cbboxpostzustellung.ValueMember = "nreintrag"; cbboxpostzustellung.DisplayMember = "bezeichnung"; @@ -98,7 +106,8 @@ namespace OnDoc.UIControls string selected_sheetname = ""; var sheets = new List(); sheets = reader.Get_ExcelSheets(openFileDialog1.FileName); - if (sheets.Count > 1) { + if (sheets.Count > 1) + { DocMgmt.Serienbrief_Sheetselect sheetselect = new DocMgmt.Serienbrief_Sheetselect(sheets); sheetselect.ShowDialog(); if (sheetselect.DialogResult == DialogResult.OK) @@ -109,12 +118,12 @@ namespace OnDoc.UIControls } else { selected_sheetname = sheets[0]; } - reader.Excel_To_Datatabable(openFileDialog1.FileName, selected_sheetname,true, ref importdata); - if (importdata.Rows.Count < 1) - { - MessageBox.Show("Die ausgewählten Daten können nicht verwendet werden.", "Import", MessageBoxButtons.OK, MessageBoxIcon.Error); + reader.Excel_To_Datatabable(openFileDialog1.FileName, selected_sheetname, true, ref importdata); + if (importdata.Rows.Count < 1) + { + MessageBox.Show("Die ausgewählten Daten können nicht verwendet werden.", "Import", MessageBoxButtons.OK, MessageBoxIcon.Error); return; - } + } if (importdata.Columns[0].Caption.ToUpper() != "PARTNERNR") { MessageBox.Show("Die importierten Daten enthalten keine Spalte 'Partnernr'. Der Vorgang wird abgebrochen.", "Import", MessageBoxButtons.OK, MessageBoxIcon.Error); @@ -122,10 +131,69 @@ namespace OnDoc.UIControls importdata.Columns.Clear(); return; } - sfDataGridEmpfaenger.DataSource = importdata; + DB dB = new DB(AppParams.connectionstring); + dsempfaenger.Tables[0].Rows.Clear(); + foreach (System.Data.DataRow dr in importdata.Rows) + { + System.Data.DataRow r1 = dsempfaenger.Tables[0].NewRow(); + foreach (DataColumn col in importdata.Columns) + { + try + { + r1[col.ColumnName] = dr[col.ColumnName]; + + } + catch { } + + } + r1["Status"] = 0; + r1["Error"] = 0; + dB.Get_Tabledata("Select bkpar00 from partner where nrpar00=" + r1[0].ToString(), false, true); + if (dB.dsdaten.Tables[0].Rows.Count < 1) r1["Error"] = 1; else r1["Error"] = 0; + r1[1] = dB.dsdaten.Tables[0].Rows[0][0].ToString(); + dsempfaenger.Tables[0].Rows.Add(r1); + } + dB = null; + refresh_empfaenger(dsempfaenger.Tables[0]); + //sfDataGridEmpfaenger.DataSource = importdata; } } + private void refresh_empfaenger(DataTable dt) + { + sfDataGridEmpfaenger.DataSource = null; + sfDataGridEmpfaenger.DataSource = dt; + //sfDataGridEmpfaenger.Columns["STATUS"].Visible = false; + //sfDataGridEmpfaenger.Columns["FEHLERCODE"].Visible = false; + //sfDataGridEmpfaenger.Columns["BLKUNDE"].Visible = false; + //sfDataGridEmpfaenger.Columns["DOKUMENT_GEDRUCKT"].Visible = false; + //sfDataGridEmpfaenger.Columns["DOKUMENTID"].Visible = false; + //sfDataGridEmpfaenger.Columns["DOKUMENTIDBDR"].Visible = false; + //sfDataGridEmpfaenger.Columns["ERSTELLER"].Visible = false; + //sfDataGridEmpfaenger.Columns["DRUCKJOBID"].Visible = false; + //sfDataGridEmpfaenger.Columns["AKTIV"].Visible = false; + //sfDataGridEmpfaenger.Columns["Status"].Visible = false; + //sfDataGridEmpfaenger.Columns["Error"].Visible = false; + update_zahlen(); + } + private void init_empfaenger(int serienbriefnr) + { + Database.DB db = new DB(AppParams.connectionstring); + db.Get_Tabledata("Select dbo.BinaryToBase64(xmldata) as Data from edex_sb_empfaenger where serienbriefnr=" + serienbriefnr.ToString(), false, true); + Base64Helper bh = new Base64Helper(); + bh.Base64 = db.dsdaten.Tables[0].Rows[0][0].ToString(); + string xml = bh.DecodeBase64(); + string filename = AppParams.tempdir + @"\tmpsb.xml"; + System.IO.File.WriteAllText(filename, xml); + dsempfaenger.Tables.Clear(); + dsempfaenger.ReadXml(filename); + dsempfaenger.Tables[0].Columns.Add("Status"); + dsempfaenger.Tables[0].Columns.Add("Error"); + + refresh_empfaenger(dsempfaenger.Tables[0]); + System.IO.File.Delete(filename); + } + private void RibbonButtonNew_Click(object sender, EventArgs e) { OnDoc.DocMgmt.DokTypSelect DokTypSelect = new OnDoc.DocMgmt.DokTypSelect(); @@ -133,25 +201,201 @@ namespace OnDoc.UIControls DokTypSelect.ShowDialog(this); if (DokTypSelect.DialogResult == DialogResult.OK) { + this.sb = null; + this.sb = new serienbrief(); dokumenttypnr = DokTypSelect.dokumenttypnr; - GrpDokumentInhalt.Enabled=true; + GrpDokumentInhalt.Enabled = true; update_serienbrief_details(true, dokumenttypnr, 0); + init_empfaenger(0); + vorlagenfelder(dokumenttypnr); + refresh_empfaenger(dsempfaenger.Tables[0]); + + update_serienbriefdaten(true); + vorlage_auslesen_und_speichern(); } - else { + else + { this.GrpDokumentInhalt.Enabled = false; - return; } + return; + } + } + + private void vorlage_auslesen_und_speichern() + { + + } + private void vorlagenfelder(int dokumenttypnr) + { + DB db = new DB(AppParams.connectionstring); + db.clear_parameter(); + db.add_parameter("@dokumenttypnr", dokumenttypnr.ToString()); + db.Get_Tabledata("sp_edex_sb_get_vorlagenfelder", true, false); + string s = ""; + for (int i = 0, loopTo = db.dsdaten.Tables[0].Rows.Count - 1; i <= loopTo; i++) + { + try + { + string X; + X = this.dsempfaenger.Tables[0].Rows[0][db.dsdaten.Tables[0].Rows[i][0].ToString()].ToString(); + } + catch + { + + this.dsempfaenger.Tables[0].Columns.Add(db.dsdaten.Tables[0].Rows[i][0].ToString()); + this.dsempfaenger.Tables[0].Rows[0][i] = ""; + this.dsempfaenger.Tables[1].Columns.Add(db.dsdaten.Tables[0].Rows[i][0].ToString()); + try + { + if (Convert.ToBoolean(db.dsdaten.Tables[0].Rows[i][1])==true) + { + this.dsempfaenger.Tables[1].Rows[0][db.dsdaten.Tables[0].Rows[i][0].ToString()] = 1; + } + else + { + this.dsempfaenger.Tables[1].Rows[0][db.dsdaten.Tables[0].Rows[i][0].ToString()] = 0; + } + } + catch + { + this.dsempfaenger.Tables[1].Rows[0][db.dsdaten.Tables[0].Rows[i][0].ToString()] = 0; + } + s = s + "- " + db.dsdaten.Tables[0].Rows[i][0].ToString() + System.Environment.NewLine; + + } + + } + if (s !="") { MessageBox.Show("Folgende Spalten wurden aufgrund der gewählten Vorlage zur Liste hinzugefügt"+System.Environment.NewLine+ s,"Serienbrief",MessageBoxButtons.OK,MessageBoxIcon.Information); } + + //foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows) + //{ + // try + // { + // string x; + // x = dsempfaenger.Tables[0].Rows[0][dr[0].ToString()].ToString(); + // } + // catch + // { + + // } + // dsempfaenger.Tables[0].Columns.Add(dr[0].ToString()); + //} } + private void update_serienbrief_details(bool newsb = false, int dokumenttypnr = 0, int sbnummer = 0) { DB db = new DB(AppParams.connectionstring); if (newsb) { - db.Get_Tabledata("Select bezeichnung,office_vorlagenr from dokumenttyp where dokumenttypnr=" + dokumenttypnr.ToString(),false,true); + db.Get_Tabledata("Select bezeichnung,office_vorlagenr from dokumenttyp where dokumenttypnr=" + dokumenttypnr.ToString(), false, true); this.txtbezeichnung.Text = db.dsdaten.Tables[0].Rows[0][0].ToString(); officevorlagenr = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][1]); + + } + + } + private void update_serienbriefdaten(bool newsb) + { + sb.bezeichnung=this.txtbezeichnung.Text; + sb.verantwortlich=Convert.ToInt32(this.cbboxverantwortlich.SelectedValue.ToString()); + if (newsb) { sb.erstellt_am = DateTime.Now; } + sb.aktiv = true; + sb.mutiert_am = DateTime.Now; + sb.mutierer = AppParams.CurrentMitarbieter; + sb.dokumenttypnr=this.dokumenttypnr; + try {sb.postzustellung = Convert.ToInt32(cbboxpostzustellung.SelectedValue.ToString());} catch { sb.postzustellung = 0; } + try { sb.unterschriftlinks = Convert.ToInt32(cbboxunterschriftlinks.SelectedValue.ToString()); } catch { sb.unterschriftlinks = 0; } + try { sb.unterschriftrechts = Convert.ToInt32(cbboxunterschriftrechts.SelectedValue.ToString()); } catch { sb.unterschriftrechts = 0;} + try { sb.team = Convert.ToInt32(cbboxteam.SelectedValue.ToString()); } catch { sb.team = 0; } + DB db = new DB(AppParams.connectionstring); + this.serienbriefnr=db.Save_Serienbrief(sb); + } + + + + private void treeViewAdv1_NodeMouseClick(object sender, TreeViewAdvMouseClickEventArgs e) + { + + } + + private void update_zahlen() + { + try + { + DataView dv = new DataView(dsempfaenger.Tables[0]); + dv.RowFilter = "Status = 0"; + treeViewAdv1.Nodes[0].Text = "In Bearbeitung (" + dv.Count.ToString() + ")"; + dv.RowFilter = "Error <> 0"; + treeViewAdv1.Nodes[1].Text = "Fehlerhaft (" + dv.Count.ToString() + ")"; + dv.RowFilter = "Status = 1"; + treeViewAdv1.Nodes[2].Text = "Generiert (" + dv.Count.ToString() + ")"; + dv.RowFilter = "Status = 2"; + treeViewAdv1.Nodes[3].Text = "Abgeschlossen (" + dv.Count.ToString() + ")"; + } + catch { } + + } + private void treeViewAdv1_AfterSelect(object sender, EventArgs e) + { + { + string nodetext = treeViewAdv1.SelectedNode.Text; + DataView dv = new DataView(dsempfaenger.Tables[0]); + + switch (nodetext.Substring(0, 5)) + { + case "In Be": + dv.RowFilter = "Status = 0"; + sfDataGridEmpfaenger.DataSource = null; + sfDataGridEmpfaenger.DataSource = dv; + break; + case "Fehle": + dv.RowFilter = "Error <> 0"; + sfDataGridEmpfaenger.DataSource = null; + sfDataGridEmpfaenger.DataSource = dv; + break; + case "Gener": + dv.RowFilter = "Status = 1"; + sfDataGridEmpfaenger.DataSource = null; + sfDataGridEmpfaenger.DataSource = dv; + break; + case "Abges": + dv.RowFilter = "Status = 2"; + sfDataGridEmpfaenger.DataSource = null; + sfDataGridEmpfaenger.DataSource = dv; + break; + } + } + } + + private void ribbonbuttonsave_Click(object sender, EventArgs e) + { + update_serienbriefdaten(false); + } + + private void RibbonButtonOpen_Click(object sender, EventArgs e) + { + pnlLoad.Visible = true; + DB db = new DB(AppParams.connectionstring); + db.clear_parameter(); + db.add_parameter("@mitarbeiternr",AppParams.CurrentMitarbieter.ToString()); + db.Get_Tabledata("dbo.sp_edex_sb_get_serienbriefe", true, false); + sfdatagridsbload.DataSource = null; + sfdatagridsbload.DataSource = db.dsdaten.Tables[0]; + this.pnlLoad.Left = this.Left; + this.pnlLoad.Width = this.Width; + } + + private void bntsbloadok_Click(object sender, EventArgs e) + { + pnlLoad.Visible = false; + + } + + private void btnsbloadcancel_Click(object sender, EventArgs e) + { + pnlLoad.Visible = false; } } } diff --git a/Client/DocMgmt/SerienbriefBearbeitung.Designer.cs b/Client/DocMgmt/SerienbriefBearbeitung.Designer.cs new file mode 100644 index 00000000..5234263c --- /dev/null +++ b/Client/DocMgmt/SerienbriefBearbeitung.Designer.cs @@ -0,0 +1,62 @@ +namespace OnDoc.DocMgmt +{ + partial class SerienbriefBearbeitung + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SerienbriefBearbeitung)); + this.toolStrip1 = new System.Windows.Forms.ToolStrip(); + this.SuspendLayout(); + // + // toolStrip1 + // + this.toolStrip1.Location = new System.Drawing.Point(0, 0); + this.toolStrip1.Name = "toolStrip1"; + this.toolStrip1.Size = new System.Drawing.Size(386, 25); + this.toolStrip1.TabIndex = 0; + this.toolStrip1.Text = "toolStrip1"; + // + // SerienbriefBearbeitung + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(386, 478); + this.Controls.Add(this.toolStrip1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "SerienbriefBearbeitung"; + this.Text = "SerienbriefBearbeitung"; + this.Load += new System.EventHandler(this.SerienbriefBearbeitung_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ToolStrip toolStrip1; + } +} \ No newline at end of file diff --git a/Client/DocMgmt/SerienbriefBearbeitung.cs b/Client/DocMgmt/SerienbriefBearbeitung.cs new file mode 100644 index 00000000..f495f883 --- /dev/null +++ b/Client/DocMgmt/SerienbriefBearbeitung.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using OnDoc.Klassen; +using Syncfusion.Windows.Forms.Tools; +using Syncfusion.WinForms.Controls; +using Syncfusion.WinForms.DataGrid; +using Syncfusion.WinForms.DataGrid.Interactivity; + +namespace OnDoc.DocMgmt +{ + public partial class SerienbriefBearbeitung : SfForm + { + DataTable StdFelder = new DataTable(); + DataTable IDVFelder = new DataTable(); + DataTable UsedFelder = new DataTable(); + int dokumenttypnr = 0; + public SerienbriefBearbeitung() + { + InitializeComponent(); + this.Style.TitleBar.BackColor = Theaming.Titelbar(); + this.Style.TitleBar.ForeColor = Theaming.TitelFontColor(); + } + + private void SerienbriefBearbeitung_Load(object sender, EventArgs e) + { + StdFelder = get_vorlagenfelder(dokumenttypnr, 0); + IDVFelder = get_vorlagenfelder(dokumenttypnr, 1); + + } + private DataTable get_vorlagenfelder(int dokumenttypnr, int type) { + Database.DB db = new Database.DB(AppParams.connectionstring); + db.clear_parameter(); + db.add_parameter("@dokumenttypnr", dokumenttypnr.ToString()); + db.add_parameter("@type", type.ToString()); + db.Get_Tabledata("sp_edex_sp_get_standardvorlagenfelder",true,false); + return db.dsdaten.Tables[0]; + } + + public DataTable init_used_felder() + { return null; } + + } +} diff --git a/Client/DocMgmt/SerienbriefBearbeitung.resx b/Client/DocMgmt/SerienbriefBearbeitung.resx new file mode 100644 index 00000000..bd8e405f --- /dev/null +++ b/Client/DocMgmt/SerienbriefBearbeitung.resx @@ -0,0 +1,861 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + 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 + //6jdv/+o3b/+6Bw9L9kFAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw2ER + AclqHAzbgD8q44dKUuqNVHnskVmg8JNeyPOYZO7+o3X//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b/+6Bw9L9kFAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwGQUA8hqHhrcfTw+6I1U + ZeqPVo3uklu08ZZh2vidbPb+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b/+6Bw9b9kFBa/ZBMMv2QTDL9kEwy/ZBMMv2QT + DL9kEwy/ZBMMv2QTDL9kEwy/ZBMMv2QTDL9kEwy/ZBMMv2QTDL9kEwy/ZBMMv2QTDL9kEwy/YxUD65BY + xvugcfv+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//ugcPX7oHD1+6Bw + 9fugcPX7oHD1+6Bw9fugcPX7oHD1+6Bw9fugcPX7oHD1+6Bw9fugcPX7oHD1+6Bw9fugcPX7oHD1+6Bw + 9fugcPXqjlXF/qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //ugcPT7oHD0+6Bw9PugcPT7oHD0+6Bw9PugcPT7oHD0+6Bw9PugcPT7oHD0+6Bw9PugcPT7oHD0+6Bw + 9PugcPT7oHD0+6Bw9P6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b/+6Bw9b9lFRS/ZRUKv2UVCr9lFQq/ZRUKv2UVCr9lFQq/ZRUKv2UVCr9lFQq/ZRUKv2UV + Cr9lFQq/ZRUKv2UVCr9lFQq/ZRUKv2UVFPecavX+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b/+6Bw9L9kFAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv2QUC/ecavT+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b/+6Bw9L9kFAoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv2QUC/ecavT+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b/+6Bw9b9kFBa/ZBMMv2QT + DL9kEwy/ZBMMv2QTDL9kEwy/ZBMMv2QTDL9kEwy/ZBMMv2QTDL9kEwy/ZBMMv2QUDMZeDQMAAAAAv2QU + C/ecavT+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2/9qMZv/4n3P//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //ugcPX7oHD1+6Bw9fugcPX7oHD1+6Bw9fugcPX7oHD1+6Bw9fugcPX7oHD1+6Bw9fugcPX7oHD1+6Bw + 9euNV8LJUhEDv2QUC/ecavT+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2/zAfFv87JRr/h1Y+/9eKZP/7oXX//qN2 + //6jdv/+o3b//qN2//ugcPT7oHD0+6Bw9PugcPT7oHD0+6Bw9PugcPT7oHD0+6Bw9PugcPT7oHD0+6Bw + 9PugcPT7oHD0+6Bw9OuQWMG/ZhUDv2QUC/ecavT+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2/2RALv+oVwr/hEUK + /0EjCv8xHxX/d0w3/8mBXf/7oXX/+6Bw9b9lFRS/ZRUKv2UVCr9lFQq/ZRUKv2UVCr9lFQq/ZRUKv2UV + Cr9lFQq/ZRUKv2UVCr9lFQq/ZRUKv2UVCcBkFAIAAAAAv2QUC/ecavT+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//2idP/+o3X//qN2 + /5ZgRv+PSgj/y2UA/8llAv9MKxD/XzQO/0QlC/8uHRT/c0gy+C4YBDMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv2QUC/ecavT+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//yidP/x18X/8dfF//yidP/+o3b//qN2//6jdv/+o3b//KN1 + //Ldzv/04NP//KFz/8yDX/9lNAf/y2UA/3dBEf9cMw//y2UA/8tlAP/AYQb/gkMJ/gUCAO0AAAArAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv2QU + C/ecavT+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//iuh//5+fj/+fn4//iuhv/+o3b//qN2 + //6jdv/+o3b/9quC//n5+f/5+fn/962F//Sccf9IKQ//mlEO/z8kDv/FZAT/y2UA/8tlAP/LZQD/xWIA + /xgMAOgHAwDKSycHGb9kEwy/ZBMMv2QTDL9kEwy/ZBMMv2QTDL9kEwy/ZBMMv2QTDL9kEwy/ZBMMv2QU + DMZeDQMAAAAAv2QUC/ecavT+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//bFqv/5+fn/+fn5 + //bFqv/+o3b//qN2//6jdv/+o3b/9cWp//n5+f/5+fn/9cSp//6jdv9GLB//MR0O/7heB//LZQD/y2UA + /8BhA/9pNgX/ajcH/zUdB/6RTQ/9UDIi+Pedb/X7oHD1+6Bw9fugcPX7oHD1+6Bw9fugcPX7oHD1+6Bw + 9fugcPX7oHD1+6Bw9euNV8LJUhEDv2QUC/ecavT+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //Xf0f/5+fn/+fn5//Xf0P/+o3b//qN2//6jdv/+o3b/8tzM//n5+f/5+fn/9N7P//6jdv9vRzP/kUwM + /8tlAP/LZQD/y2UA/6pXB/84HQT/e0AI/0EjCf6HRQX+bjwR/n5QOv76n3D0+6Bw9PugcPT7oHD0+6Bw + 9PugcPT7oHD0+6Bw9PugcPT7oHD0+6Bw9OuQWMG/ZhUDv2QUC/ecavT+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b/+aV4//j18v/49vX/+Pb1//j18v/5pHj//qN2//6jdv/4o3X/+Pf1//j29P/59/b/+PXz + //ikd/+laUz/hEQI/8tlAP/LZQD/y2UA/6xYCf9ZLQD/y2UA/7pdAPUiEADom00A8C4XANokEwRZv2UV + Cr9lFQq/ZRUKv2UVCr9lFQq/ZRUKv2UVCr9lFQq/ZRUKv2UVCcBkFAIAAAAAv2QUC/ecavT+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b/97mY//n5+f/y28v/8tvL//n5+f/2uZf//qN2//6jdv/1uJX/+fn5 + //Xe0P/z3c7/+fn5//e6mP/ajGX/WS4H/8tlAP+eUAb/LxsK/y0aDP9HJgj/y2UA/8tlAP+iUQDtIBAA + 66FQAOkSCQDXAAAAJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv2QU + C/ecavT+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b/9tK+//n5+f/1xKj/9cWp//n5+f/10r7//qN2 + //6jdv/00bz/+fn5//bFqf/1xKj/+fn5//TRu//8onX/QiYS/8tlAP+KRgT/bzkG/69XAf9NKw7/hUcQ + /8tlAP/LZQD/gEAA5jUaAO+VSgDiBAIAxwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAv2QUC/ecavT+o3b//qN2//6jdv/+o3b//qN2//6jdv/9o3X/9evk//n5+f/2q4L/9quC + //n5+f/16+P//aN1//uic//16uL/+fn4//iuhv/3rYT/+fn5//Xq4v/9o3b/UzQk/7ldBP+HRQb/f0EG + /8tlAP/DYwX/Nh8N/ZNJAOjLZQD/y2UA/lksAORaLQDydToA3AIBAKllNQoPv2QTDL9kEwy/ZBMMv2QT + DL9kEwy/ZBMMv2QUDMZeDQMAAAAAv2QUC/ecavT+o3b//qN2//6jdv/+o3b//qN2//6jdv/3rIT/+fn5 + //Xr4//8o3X//KN1//Xr4//5+fn/9qyD//ashP/5+fj/9evi//yidP/8oXP/9ezk//n5+f/2rIP/h1Y+ + /w8JBP8eEgr/UywK/8tlAP/LZQD/sVsK/zEdDv67YAj/y2UA/8hkAf5IJwv+ikYF/ms6Ef5/UDf2+6Bw + 9fugcPX7oHD1+6Bw9fugcPX7oHD1+6Bw9euNV8LJUhEDv2QUC/ecavT+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/2xqr/+fn5//PPuf/+o3b//qN2//PPuf/5+fn/9cWq//XFqf/5+fn/9dK9//6jdv/+o3b/9NC6 + //n5+f/2xqv/959z/0ctIP+fVA7/UisG/4BDDP/LZQD/y2UA/5ZPDv8/JA7+xmQC/ctlAP/CYgX/MhwK + /qVUBv5IKA/9sHBR/PugcPT7oHD0+6Bw9PugcPT7oHD0+6Bw9OuQWMG/ZhUDv2QUC/ecavT+o3b//6R3 + //+kd///pHf//6R3//+kd//139H/+vr6//W4lf//pHf//6R3//W4lf/6+vr/9d7Q//Tdzv/6+vr/9rmW + //+kd///pHf/9riW//r6+v/z3c7//6R3/+SSav83Ihb/sFsL/zkfCP+gUwn/y2UA/8tlAP9YLADdRiMA + 3slkAP3LZQD/oFAA7SMRAOyjUQDqFwsA2DcdBTG/ZRUKv2UVCr9lFQq/ZRUKv2UVCcBkFAIAAAAAv2QU + C/ecavT+o3b//6R3//+kd///pHf//6R3//mleP/49fL/+PXy//ijdv//pHf//6R3//ijdv/49fL/+ff2 + //j29P/49/X/+qR3//+kd///pHf/+aV5//j18v/49/X/+aR2//+kd//Fflz/PiQQ/61ZCP8wGwn/ul8G + /8tlAP/HYwD6MhkA3G02AN7LZQD/y2UA/30+AOU3GwDvk0kA4gQCAMUAAAAPAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAv2QUC/ecavT+o3b//6R3//+kd///pHf//6R3//a5mP/6+vr/9N3P//+kd///pHf//6R3 + //+kd//03c//+vr6//r6+v/z3c3//6R3//+kd///pHf//qN1//Tez//6+vr/9biV//+kd//+o3b/mWJH + /1szEf+ZTgb/PCEK/sJhAPnLZQD/uFwA8hsNAN6SSQDly2UA/8tlAP9WKwDiWy0A8XI5ANoAAACnAAAA + AgAAAAAAAAAAAAAAAAAAAAAAAAAAv2QUC/ecavT+o3b//6R3//+kd///pHf//6R3//TRvP/6+vr/9MOn + //+kd///pHf//6R3//+kd//0w6f/+vr6//r6+v/2xqr//6R3//+kd///pHf//6R3//TDp//6+vr/9dK9 + //+kd//+o3b//aN2/2pEMf+ARRH/djwF/0cjAOTKZQD+y2UA/59PAOgXCwDgsVgA8MtlAP/HYwD7NBkA + 5YJBAPJMJQDZBQIAfL5jEwy/ZBMMv2QUDMZeDQMAAAAAv2QUC/ecavT+o3b//6R3//+kd///pHf//aR3 + //br4//6+vr/9quC//+kd///pHf//6R3//+kd//2q4L/+vr6//n5+f/2rIT//6R3//+kd///pHf//6R3 + //ethf/5+fj/9evj//yidP/+o3b//qN2//aecv9FLB//oFQO/1ApBv6CRAz/y2UA/8tlAP+UTg3+QSQN + /sdkA//LZQD/vmAE/jMcCv6mVAb9RygQ/bBvTfX7oHD1+6Bw9euNV8LJUhEDv2QUC/ecavT+o3b//6R3 + //+kd///pHf//aR3//Tg0//x3s///KJ0//+kd///pHf//6R3//+kd//8onT/89nI//HWw//9o3b//6R3 + //+kd///pHf//6R3//yidP/z3c7/8tzN//yidP/+o3b//qN2//6jdv/kk2r/NiEV/65aCv02HQf+olMJ + /spkAP/KZAD/cDwP/mE1D/7JZAD+ymQA/6xYCP8xGgf+sVsK/jcgEv3ViGH5+6Bw9OuQWMG/ZhUDv2QU + C/ecavT+o3b//6R3//+kd///pHf//6R3//uidP/8onT//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd//8onT//KJ0//+kd//+o3b//qN2//6jdv/+o3b/wXtZ + /SQSAN2gTwDtIA8A6q5XAPHKZAD/xWIA+jIZAN5uNwDfymQA/8pkAP98PgDmORwA8JFIAOIQCAHJWy8J + F8BkFAIAAAAAv2QUC/ecavT+o3b//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd//+o3b//qN2 + //6jdv/+o3b/+qBw9B8QA3M9HgDYjUYA8ioVAOXBYAD4ymQA/7ZaAPEaDADelEoA5cpkAP/KZAD/UykA + 4l4uAPFvNwDZAAAApQAAAAIAAAAAv2QUC/ecavT+o3b//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd//+o3b//qN2//6jdv/+o3b/+6Bw9H1BDQsAAACYYzEA2Go1APFHIwDiymQA/spkAP+eTgDoFgsA + 3q9XAO7KZAD/xWIA+jIZAOR7PQDwEAcA6gAAAHwAAAAAv2QUC/ecavT+o3b//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd//+o3b//qN2//6jdv/+o3b/+6Bw9b9kFBZjNAkUDwgBw4lEAOFDIQDxcDgA + 5cpkAP/KZAD/ej0A4CoVAN/CYAD5ymQA/7NZAPIKBQDxYzEA5xkMAOAAAABKv2QUC/ecavT+o3b//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd//+o3b//qN2//6jdv/+o3b//qN2//ugcPX7oHD13o5l + +TYgE/2xWwv+NBwH/qRUCf/KZAD/ymQA/206D/5kNg/+ymQA/3g9Bf9RKwj+m1AK/jMaBPgQCADWNhsF + LvecavT+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd//+o3b//qN2//6jdv/+o3b//qN2 + //ugcPT7oHD0+6Bw9L14VPQ+IxD9rFcH/TAbCf64XQX+ymQA/8hkAv9JKA79YjUO/zUcB/6tWQn+LxoJ + /qVTAvIbDQDhDAYAzOuVZ/f+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd//+o3b//qN2 + //6jdv/+o3b/+6Bw9b9lFRS/ZRUKv2UVCr9lFQoHAwBsQCAA24tFAPEsFgDmwmAA+cpkAP+dTgDsDgcA + 855PAOwmEwDnlEkA8TUaANxpNADlbzcA21s6Kf78onX//qN2//6jdv/+o3b//qR2//6kdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd//+o3b//qN2//6jdv/+o3b/+6Bw9L9kFAoAAAAAAAAAAAAAAAAAAAABAAAAmmYyANlnMwDxSiQA + 48FgAPsqFQDwjEYA7T8fAOJzOQDyWSwA2kIhAOTIYwD9yWQA/mQ3EP6bY0j//qN1//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd//+o3b//qN2//6jdv/+o3b/+6Bw9L9kFAoAAAAAAAAAAAAAAAAAAAAAAAAA + CgIBAL2KRADgQSAA8CAPAOppNADsZDIA4k0mAPGAPwDfIxEA5b9fAPjKZAD/ymQA/8NiA/9FKhv/64xU + xv6jdf7+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd//+o3b//qN2//6jdv/+o3b/+6Bw9b9kFBa/ZBMMv2QT + DL9kEwy/ZBMMv2QTDD8hBioTCQDVVSoA5kIhAO6LRQDnLRYA75tNAOcXCwDkrFUA8cpkAP/KZAD/ymQA + /8pkAP9BJAz/v2UWBNd7OCXkiEtf75Nem/CUX9X8oXL+/qN2//6jdv/+o3b//qN2//6jdv/+o3b//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd//+o3b//qN2//6jdv/+o3b//qN2 + //ugcPX7oHD1+6Bw9fugcPX7oHD1+6Bw9fugcPW9eVb8FQ0I/6hXDf4uGQj+rlkI/jYfDf6cUAj+ymQA + /8pkAP/KZAD/ymQA/8pkAP9BJRH/AAAAAAAAAAAAAAAAAAAAAAAAAADCZBAS3oNETOqOVIfxlWHC95xq + 8v6jdv/+o3b//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd//+o3b//qN2 + //6jdv/+o3b//qN2//ugcPT7oHD0+6Bw9PugcPT7oHD0+6Bw9PugcPT7oHD0i1g89BUNCP6aTgX9Ui0P + /ntAC/7KZAD/ymQA/8pkAP/KZAD/ymQA/59RCP5DJQ7KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAwWQRC9t/Pjjni1Jz7pJbrvWaZ+X9onP+/6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd//+o3b//qN2//6jdv/+o3b/+6Bw9b9lFRS/ZRUKv2UVCr9lFQq/ZRUKv2UVCr9lFQq/ZRUKe0EN + CwEAAJ0oFADYQSAA5slkAP3LZQD/y2UA/8tlAP/LZQD/tloA+RcLAN4AAAAeAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMBkEwTVeTMl6Y1VYOyRWZrwlV/V/KFz + /v+kd///pHf//6R3//+kd//+o3b//qN2//6jdv/+o3b/+6Bw9L9kFAoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAsAAADIhkMA3MtlAP/LZQD/y2UA/8tlAP/HYwD9MBcA7AAAAEEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAwGQTE9t/PUzskVmH7pNdwveca/L+o3b//qN2//6jdv/+o3b/+6Bw9L9kFAoAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeDgYA06xWAOvLZQD/y2UA/8tlAP9TKQDwAAAA + bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMFnFgvYfDo46YtSdPCTX670l2Tk65BY + wb9kFQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQyQRAN6xWADxw2EA + +GUyAOUBAACdAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADHVxIEvmQUAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAFMDAQDUCAQA4gAAAJcAAAAJAAAAAAAAAAAAAAAA////z///AAD///AH//8AAP/8AAf//wAA/AAA + B///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/+AAAAAAAB//4AAAAAAAAAAgA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAf/+AAAAAAAA//4AAAAAAAAAAgAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAgAAAAAAAA/+AAAAAAAAB/4AAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgA + AAAAAAAB+AAAAAAAAAD4AAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAA + AAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAB4AAAAAAAAAAAAAA + AAAAAAAAAAAA+AAAAAAAAAD/gAAAAAAAAP/4AAf4AQAA///AB/wDAAD///wH/gMAAP///8//BwAAKAAA + ACAAAABAAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL5iFQHRcysd54pRRNx6PCMAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAwWMTCtt9OzDqjlVX75RefvKXY6bzmGXN+J1s8/+kd///pHf/85hk + pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AMRhEAHRcysc5IhMRO2RWWvwlF6S9JhlufaaaOD8oXL+/6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd//0mWaqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AO2SW5X0mGTN+J1s8/+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//mebuP0mWar9Jlmq/SZZqv0mWar9Jlmq/SZZqv0mWar9Jlmq/SZZqv0mWar9Jlm + q/SZZqvskVmS/6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf/+Z5u4vSZZqn0mWap9JlmqfSZZqn0mWap9JlmqfSZZqn0mWap9Jlm + qfSZZqn0mWap9Zpoxv+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd//0mWaqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAADqj1ZV/6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//SZZqoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOqPVlX/pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf/+aB0//GbcP//pHf//6R3//+kd///pHf/+Z5u4/SZZqv0mWar9Jlm + q/SZZqv0mWar9Jlmq/SZZqv0mWar9Jlmq/OXZKjcej0j6o9WVf+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd//RhmH/QCUQ/3dMNf+zc1P/959z//+kd//5nm7i9Jlm + qfSZZqn0mWap9JlmqfSZZqn0mWap9JlmqfSZZqn0mWap9Jlmptp/PSLqj1ZV/6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//qN1//qgdP9yPAr/xmQC/10yDP9MKxD/bEQu + /5JbPLoAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOqPVlX/pHf//6R3 + //+kd///pHf//6R3//+kd//1zrf/9c63//+kd///pHf//6R3//e1kP/27eb//KR2/3hGIf+vWQf/ZjcO + /8tlAP/GZAL/azYE/gAAAIYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6o9W + Vf+kd///pHf//6R3//+kd///pHf//aN2//fw6//38Ov//aN2//+kd///pHf/99K+//r6+v/4tZL/g1I5 + /1cwDv/HZAL/zGYA/5pOBP9iMgP+XTEK8YBQM7L0mWar9Jlmq/SZZqv0mWar9Jlmq/SZZqv0mWar85dk + qNx6PSPqj1ZV/6R3//+kd///pHf//6R3//+kd//5so3/+vr6//r6+v/5so3//6R3//6jdf/26+P/+vr6 + //fOuP+na07/pVQH/8xmAP/MZgD/Wi8H/5JLBv9UKwP2ZzcN9bt2UMv0mWap9JlmqfSZZqn0mWap9Jlm + qfSZZqn0mWam2n89IuqPVlX/pHf//6R3//+kd///pHf//6R3//fKsf/26+P/9uvj//fKsf//pHf/+a2F + //r6+v/03s//9ufd/92OZ/+GRAX/t1wC/2Q0B/9MKAn/y2UA/5dLAPBhMADsLRYAxgAAABEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA6o9WVf+kd///pHf//6R3//+kd///pHf/9uPX//fSvf/30r3/9uPX + //+kd//3xqv/9/Dr//e0kP/5+fn/+Kh+/3E9D/+gUQP/i0cE/4lHCf+CQwn7zGYA/3I5AOp2OgDrFQoA + qAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADqj1ZV/6R3//+kd///pHf//6R3//qnfP/5+Pj/+LmX + //i5l//5+Pj/+qd8//Xez//31sT//KN2//jz8P/4wqX/Yz0m/0QkCP+ERAb/zGYA/2w5C/miUwb9y2UA + /10wBfaGRAb2WTciwfSZZqv0mWar9Jlmq/SZZqvzl2So3Ho9I+qPVlX/pHf//6R3//+kd///pHf/+b+g + //j29P/6pHf/+qR3//j29P/1v6H/+Pb0//m+n///pHf/9trK//bby//djmf/aDoU/2EzCP+yWgX/ymUB + /1QtCve1WgH3x2QC/1AqBvh6Pwj1lF5B2vSZZqn0mWap9JlmqfSZZqbafz0i6o9WVf+kd///pHf//6R3 + //+kd//318T/9d3P//+kd///pHf/9d7P//bu5//5+Pj/+qd8//+kd//3waT/+PTw//ykdv+5d1b/fEIO + /1UtCf/EYgL/uVwA9T0eAN7EYgD5slgA9U0mAO1LJQDXAAAALAAAAAAAAAAAAAAAAAAAAADqj1ZV/6R3 + //+kd///pHf//aN2//fw6//3xqr//6R3//+kd//3xqr/+vr6//bj1///pHf//6R3//mpfv/5+fn/+LWS + //+kd/+QXEL/i0kL/1gtBvfKZQD+oFAA708nAN/LZQD/lUoA8GIxAOwsFQDEAAAAEAAAAAAAAAAAAAAA + AOqPVlX/pHf//6R3//+kd//5so3/+vr6//ithP//pHf//6R3//ithP/6+vr/98qx//+kd///pHf//6R3 + //bn3f/3zrf//6R3//6jdv9uRS7/iUcJ/3M7BvnLZQD/h0UG94BCB/jLZQD/ej4F930/A/VHKRXR8Zdk + q/OXZKjcej0j6o9WVf+kd///pHf//6R3//uthf/0zbb//qN1//+kd///pHf//qN1//jLsv/6qoH//6R3 + //+kd///pHf/97yb//e7m///pHf//6R3//Occf9eOB39bzgE9ZJKBPjLZQD/aTcK955PA/fKZAD/XzEH + +IlGCPpyRzDk9Jlmptp/PSLqj1ZV/6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3/754UclDIQDTUigA7KpVAPTGYgD7Px8A + 3rJZAPTCYAD6RSIA6mg0AOEAAABQAAAAAOqPVlX/pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf/9JlmqgAAAEhjMQDfRSIA + 679fAPm3WwD1PR4A3sRhAPqvVwD1RiMA7RQJAN4AAAAr6o9WVf+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd//5nm7j9Jlm + q3hLM+OHRgj5Wi8H+cpkAP+kUgP3YzQK98ViAf9LJwX6czsG8xoNAMylZDxl/6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //mebuL0mWap85hmqUgqF82AQQT1cjoF9stlAP+HRQf5OR8H+oVEBvhmNAX4QCAA4UorFtz8onX//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf/9JlmqgAAAAAAAAAAAAAADCcTAL9mMwDrjUYA73Q5APR0OQDrSSQA7FYrAOCUSgDxn1AE + 945bQf/8oXL9/6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd//0mWaqAAAAAAAAAAAAAAAAAAAAJUUiANRHIwDuXy8A7EcjAOlvNwDlbjcA + 6stlAP/LZQD/bTsQ/+SGS0XvlF2L9JlmxvugcPj/pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//mebuP0mWar9Jlmq/SZZqv0mWarnmRE2DkeBvRkNAf3iEYI + /FctBfLKZAD/y2UA/8tlAP9uOgv/AAAAAAAAAAAAAAAAwmQQCOKHSj3vk1138pdjsveca+z/pHf//6R3 + //+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf/+Z5u4vSZZqn0mWap9JlmqfSZZqn0mWapXDkk + vVotA+5OKgn5xWMC/8tlAP/LZQD/vV4A/EAjC7sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwWMW + Adl9OinqjlVk85hln/SZZtn+o3X+/6R3//+kd///pHf//6R3//+kd//0mWaqAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAABAAAAqpdLAOrMZgD/zGYA/8lkAP48HgDWAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMxxKBbojVJQ75Rei/SZZsb7oHD5/6R3//SZZqcAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAANKBQAwMNhAPnLZQD/Xi8A6QAAADEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMZeDwjkhEo82n89 + IgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlJhMAyDcbANwAAABQAAAAAAAAAAD//h///4Af + /8AAH/8AAAAAAAAAAAAAH/wAAB/8AAAAAAAAAAAAAA/8AAAP/AAAAAAAAAAAAAAB/AAAAPwAAAAAAAAA + AAAAADwAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAYAAAAHAAAAAAA4AAAAP4AHwD/8B+B//8f + wygAAAAYAAAAMAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAzXEqDuSJTjPvk15a75JcbcNkDQEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIaBoD4YZJH+yQWEbxlWFu9JlmlfaaaLz4nGvj/aJ0 + /f+kd///pHf//aJz+sBlFQUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADuk1149ppo + qPebatD6n2/0/6R3//+jd///o3f//6N3//+jd///o3f//6N3//+jd///pHf//aJ1/PGWYoP0mWaA9Jlm + gPSZZoD0mWaA9JlmgPSZZoD0mWaA9JlmgO6TXHL/pHf//6N3//+kd///pHf//6R3//+jd///o3f//qN3 + //+jd///o3f//qN3//+jd///pHf//aJ1/PKXY4H1mmd/9Zpnf/WaZ3/1mmd/9Zpnf/WaZ3/1mmd/8phk + gfyhc/z/pHf//6R3//+kd///pHf//6R3//+kd///pHf//qR2//+kd///pHf//qR2//+kd///pHf//aJz + +sBlFQUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwGUVBfugcPr/o3f//6N3//+jd///pHf//6R3 + //+jd///o3f//6N3//+jd//1nnL//aJ2//+jd///pHf//aJ1/PGWYoP0mWaA9JlmgPSZZoD0mWaA9Jlm + gPSZZoDuklxxwmAUBvugcPr/pHf//6N3//+kd///pHf//6R3//+jd///o3f//qN3//+jd/+kaUz/e0Yb + /5FbPv/PhWD//aJ1/PKXY4H1mmd/9Zpnf/WaZ3/1mmd/9Zpnf/WaZ3/vlF9wwGUVBvugcPr/pHf//6R3 + //+kd//+o3b/+L2e//6jdv//pHf//qN2//jBo//XimP/o1IE/3pBDP+OSQb/eEIV/Q4GAFMAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAwGUVBfugcPr/o3f//6N3//+jd//7r4f/+fn5//uvh///o3f/+q6G + //n5+f/4rIX/VzET/6JTBv/JZAD/mU0D/zoeBuuaYD6E9JlmgPSZZoD0mWaA9JlmgPSZZoDuklxxwmAU + BvugcPr/pHf//6N3//+kd//5x6z/+fj3//nHrP//o3f/+Mar//n49//5x6z/ilAl/8xmAP+7XwT/djwD + /2k1A/ZtPBPxxXxTk/WaZ3/1mmd/9Zpnf/WaZ3/vlF9wwGUVBvugcPr/pHf//6R3//+kd//44NL/89C6 + //jg0v//pHf/99/R//XRvP/339L/nGE9/7BYAv9fMQf/eT8J/8FgAPpeLwDqNRoAqgAAAAQAAAAAAAAA + AAAAAAAAAAAAwGUVBfugcPr/o3f//6N3//ymef/38u7/+ad8//fy7v/5p3z/9/Lt//qnfP/38u7/s3ZX + /1svBv+aTgT/nVEH/5NLBfmuVwD4aDUE8lczGav0mWaA9JlmgPSZZoDuklxxwmAUBvugcPr+o3b//qN2 + //q7mv/33tD//qN2//ff0P/10bz/+N/S//6jdv/339H/+LmZ/4BNLP9vOgn/wWEC/35BB/aoVAD2mE0D + +m04BfSIVTi+9Jlmf/SZZn/vlF5wwGUVBvugcPr+o3b//qN2//jTv//4xqv//qN2//nGq//5+Pf/+ces + //6jdv/5xqz/+NO///CacP94RBz/cDoI/8hkAPxcLgDjvV4A+HU6AO1aLQDcAgAALgAAAAAAAAAAv2QV + BfugcPr+o3b//qR3//fs5f/6rYX//6R3//qthf/5+fn/+q6H//6jdv/6rob/9+zk//6jdv/XimT/d0AR + /3k9BPjAYAD5ZzUG88llAP5qNgP1VSwG1NKDVoDuklxxwmAUBvugcPr+o3b//qR3//fAov/+o3b//qN2 + //6jdv/4vZ7//qN2//6jdv/+o3b/97+h//6jdv//pHf/tnVU/mo2BPGPRwL2sloD/nM6A+7DYQL/ZjQE + 9Ww/Henbh1ZzwGUVBvugcPr+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv//o3f//aJz+isWAXxhMADop1MA9o5GAO6JRADsq1UA9l8vAOgFAgCDpFYSBfugcPr+o3b//6N3 + //6jdv//pHf//6R3//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv//pHf//aJ1/N6KWoVsPx7nZjQE + 9cFgAv93PAPvr1gD/WIxA/hSKgPvHQ4CVvugcPr+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2 + //6jdv/+o3b//qN2//6jdv//pHf//aJ1/PGWYoHXhll/UisG0Gg1A/XIYwD9Vi0H92o2BPRnNAPwQCAA + 29CFX/3+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv//pHf//aJz + +sBlFQUAAAAAAAAAKVgrANpbLQDuYTAA62AvAOlgLwDnymQA/oJJHf/vk1179ptpvvqfcPT/pHf//6R3 + //6jdv/+o3b//qN2//6jdv/+o3b//qN2//6jdv//pHf//aJ1/PGWYoP0mWaA9JlmgIxYOrxVLAX0ZTME + 9GEyBfLDYQD7y2UA/4VFB/8AAAAAAAAAAMJkEAXliU018ZVgcPWaZ6r4nW3k/qN2//6jdv/+o3b//qN2 + //6jdv//pHf//aJ1/PGWYoH0mWZ/9Jlmf/SZZn88JRenVSwF7rZcAv7LZQD/xWIA/U0oBrEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAC/ZBMB4YZJIe+UXVz0mWaX95xr0v2idPz/pHf//aJz+r9lFQUAAAAAAAAA + AAAAAAAAAAADLxcApsRiAPrLZQD/Wi0A0QAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAANN4MhHtkFpJ7pFca79lFQEAAAAAAAAAAAAAAAAAAAAAAAAAET0eAL5PJwDWAgAA + KgAAAAD/wf9B4AH/QQAAAEEAAABBAAH8QQAAAEEAAABBAAH8QQAAAEEAAABBAAA8QQAAAEEAAABBAAAM + QQAAAEEAAABBAAAAQQAAAEEAAABBAAEAQQAAAEHAAABB/AHAQf/h4UEoAAAAEAAAACAAAAABACAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMFjEwPkh0si8ZVhSfWaZ3D4nWyY7pJc + MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPGVYFj3m2qE+J1sq/mebtL8oHL3/6R3//+kd///pHf//6R3 + //abaY70mWZW9JlmVvSZZlb0mWZW9JlmVvCVYE//pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3 + //+kd//2m2mN9JlmVPSZZlT0mWZU9JlmVPSZZlT6n2/G/6R3//+kd///pHf//6R3//+kd///pHf/+qB0 + //+kd///pHf/9ptpjvSZZlb0mWZW9JlmVvSZZlbukVwz+Z5uqv+kd///pHf//6R3//+kd///pHf//qN2 + /59iPP+TVSb/q2xK/9GEWZL0mWZU9JlmVPSZZlT0mWZU75ReMvmebqr/pHf//6R3//rBo//6waP//6R3 + //fby/+8fFj/jUkJ/75fAf9QKQTdt3JLV/SZZlb0mWZW9JlmVu6RXDP5nm6q/6R3//+kd//42Mf/+NjH + //2mev/37+n/3KyS/6tXA/91PAb/kkkC+Wo8FtzfjF5Z9JlmVPSZZlTvlF4y+Z5uqv+kd//9pHj/99rJ + //fayf/5vJv/+Met//jWw/9uPBD/mU4F/5dNBvyEQgHyUy0MmPSZZlb0mWZW7pFcM/mebqr/pHf/+7eU + //rHrP/6x6z/9+fd//yrgv/328r/v3hS/3k/Cf+nVAP6n1AA83I6A/SFUC6h9JlmVO+UXjL5nm6q/6R3 + //rQuv/7rof/+66H//jo3///pHf/+suz//uzjf+iYzz/h0UF+5BIAfGrVgH5YjEC54lUNGPukVwz+Z5u + qv+kd//7sIr//qN2//6jdv/8r4j//6R3//2qgP/9qYD//KJ1/3JBG+SWSwH2g0ID8qdUAflqOQ7qm2A9 + Rvmebqr/pHf//6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd//Pg1mgajkO6aZTAfmCQQPygkEB + 9zEZArLrlWiu/6R3//+kd///pHf//6R3//+kd///pHf//6R3//+kd///pHf/9ptpjYtWN2BhMQLllUoB + 918wA/JkMgHrnV409PecarP7oHHv/6R3//+kd///pHf//6R3//+kd///pHf//6R3//abaY70mWZWiFIw + n1EpA/FlMwPvs1kA+pxQBv8AAAAAwmQQAuqPVi30mWZo+J1ro/qfb93+o3b//6R3//+kd//2m2mN9Jlm + VPSZZlQ9IgyWnk8D+MtlAP9lMwOoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IVGGfKXY1T3m2uP7pRd + MgAAAAAAAAAAAAAAA1UqAKpmMwDFAAAADPA/rEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACs + QQAArEEAAKxBAACsQQAArEEAAKxBgACsQfwwrEE= + + + \ No newline at end of file diff --git a/Client/Helper/FileHelper.cs b/Client/Helper/FileHelper.cs index 6ecd9941..f02b01cf 100644 --- a/Client/Helper/FileHelper.cs +++ b/Client/Helper/FileHelper.cs @@ -22,5 +22,15 @@ namespace OnDoc.Helper } } + + public Stream GenerateStreamFromString(string s) + { + var stream = new MemoryStream(); + var writer = new StreamWriter(stream); + writer.Write(s); + writer.Flush(); + stream.Position = 0; + return stream; + } } } diff --git a/Client/bin/Debug/Database.dll b/Client/bin/Debug/Database.dll index c33079f1..38908311 100644 Binary files a/Client/bin/Debug/Database.dll and b/Client/bin/Debug/Database.dll differ diff --git a/Client/bin/Debug/Database.pdb b/Client/bin/Debug/Database.pdb index ad0c5226..b1f3a73e 100644 Binary files a/Client/bin/Debug/Database.pdb and b/Client/bin/Debug/Database.pdb differ diff --git a/Client/bin/Debug/Helper.dll b/Client/bin/Debug/Helper.dll index 821177c5..26b96769 100644 Binary files a/Client/bin/Debug/Helper.dll and b/Client/bin/Debug/Helper.dll differ diff --git a/Client/bin/Debug/Helper.pdb b/Client/bin/Debug/Helper.pdb index 3ad377e2..c67ed204 100644 Binary files a/Client/bin/Debug/Helper.pdb and b/Client/bin/Debug/Helper.pdb differ diff --git a/Client/bin/Debug/Model.dll b/Client/bin/Debug/Model.dll index 4b694900..10381a11 100644 Binary files a/Client/bin/Debug/Model.dll and b/Client/bin/Debug/Model.dll differ diff --git a/Client/bin/Debug/Model.pdb b/Client/bin/Debug/Model.pdb index df130a02..16123dcf 100644 Binary files a/Client/bin/Debug/Model.pdb and b/Client/bin/Debug/Model.pdb differ diff --git a/Client/bin/Debug/OnDoc.exe b/Client/bin/Debug/OnDoc.exe index d9181940..fa9d274c 100644 Binary files a/Client/bin/Debug/OnDoc.exe and b/Client/bin/Debug/OnDoc.exe differ diff --git a/Client/bin/Debug/OnDoc.pdb b/Client/bin/Debug/OnDoc.pdb index 1b30fc52..6f82e2a6 100644 Binary files a/Client/bin/Debug/OnDoc.pdb and b/Client/bin/Debug/OnDoc.pdb differ diff --git a/Client/bin/Debug/de-DE/OnDoc.resources.dll b/Client/bin/Debug/de-DE/OnDoc.resources.dll index 5c7305c8..93744ffc 100644 Binary files a/Client/bin/Debug/de-DE/OnDoc.resources.dll and b/Client/bin/Debug/de-DE/OnDoc.resources.dll differ diff --git a/Client/obj/Debug/Client.csproj.AssemblyReference.cache b/Client/obj/Debug/Client.csproj.AssemblyReference.cache index f760fe7d..a8423d7c 100644 Binary files a/Client/obj/Debug/Client.csproj.AssemblyReference.cache and b/Client/obj/Debug/Client.csproj.AssemblyReference.cache differ diff --git a/Client/obj/Debug/Client.csproj.CoreCompileInputs.cache b/Client/obj/Debug/Client.csproj.CoreCompileInputs.cache index 0454be4f..5a224631 100644 --- a/Client/obj/Debug/Client.csproj.CoreCompileInputs.cache +++ b/Client/obj/Debug/Client.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -6d19ef59527180b68da16e17ca121e889b7ca8f0078a8a13a54a1a1868f81e50 +814802d754b2128b3f6dad2b8544b2a517e2d5ae467a7e6b9ae6acd890a15d4b diff --git a/Client/obj/Debug/Client.csproj.FileListAbsolute.txt b/Client/obj/Debug/Client.csproj.FileListAbsolute.txt index 371b438a..2493e6a2 100644 --- a/Client/obj/Debug/Client.csproj.FileListAbsolute.txt +++ b/Client/obj/Debug/Client.csproj.FileListAbsolute.txt @@ -247,3 +247,4 @@ E:\Software-Projekte\OnDoc\OnDoc\Client\obj\Debug\de-DE\OnDoc.resources.dll E:\Software-Projekte\OnDoc\OnDoc\Client\obj\Debug\Client.csproj.Up2Date E:\Software-Projekte\OnDoc\OnDoc\Client\obj\Debug\OnDoc.exe E:\Software-Projekte\OnDoc\OnDoc\Client\obj\Debug\OnDoc.pdb +E:\Software-Projekte\OnDoc\OnDoc\Client\obj\Debug\OnDoc.DocMgmt.SerienbriefBearbeitung.resources diff --git a/Client/obj/Debug/Client.csproj.GenerateResource.cache b/Client/obj/Debug/Client.csproj.GenerateResource.cache index 4bd9dcef..13ca0099 100644 Binary files a/Client/obj/Debug/Client.csproj.GenerateResource.cache and b/Client/obj/Debug/Client.csproj.GenerateResource.cache differ diff --git a/Client/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Client/obj/Debug/DesignTimeResolveAssemblyReferences.cache index eecb9dce..81f1ef39 100644 Binary files a/Client/obj/Debug/DesignTimeResolveAssemblyReferences.cache and b/Client/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/Client/obj/Debug/OnDoc.DocMgmt.SerienbriefBearbeitung.resources b/Client/obj/Debug/OnDoc.DocMgmt.SerienbriefBearbeitung.resources new file mode 100644 index 00000000..f5cea509 Binary files /dev/null and b/Client/obj/Debug/OnDoc.DocMgmt.SerienbriefBearbeitung.resources differ diff --git a/Client/obj/Debug/OnDoc.exe b/Client/obj/Debug/OnDoc.exe index d9181940..fa9d274c 100644 Binary files a/Client/obj/Debug/OnDoc.exe and b/Client/obj/Debug/OnDoc.exe differ diff --git a/Client/obj/Debug/OnDoc.pdb b/Client/obj/Debug/OnDoc.pdb index 1b30fc52..6f82e2a6 100644 Binary files a/Client/obj/Debug/OnDoc.pdb and b/Client/obj/Debug/OnDoc.pdb differ diff --git a/Client/obj/Debug/de-DE/OnDoc.resources.dll b/Client/obj/Debug/de-DE/OnDoc.resources.dll index 5c7305c8..93744ffc 100644 Binary files a/Client/obj/Debug/de-DE/OnDoc.resources.dll and b/Client/obj/Debug/de-DE/OnDoc.resources.dll differ diff --git a/DOCGEN/bin/Debug/Database.dll b/DOCGEN/bin/Debug/Database.dll index c33079f1..38908311 100644 Binary files a/DOCGEN/bin/Debug/Database.dll and b/DOCGEN/bin/Debug/Database.dll differ diff --git a/DOCGEN/bin/Debug/Database.pdb b/DOCGEN/bin/Debug/Database.pdb index ad0c5226..b1f3a73e 100644 Binary files a/DOCGEN/bin/Debug/Database.pdb and b/DOCGEN/bin/Debug/Database.pdb differ diff --git a/DOCGEN/bin/Debug/Helper.dll b/DOCGEN/bin/Debug/Helper.dll index 821177c5..26b96769 100644 Binary files a/DOCGEN/bin/Debug/Helper.dll and b/DOCGEN/bin/Debug/Helper.dll differ diff --git a/DOCGEN/bin/Debug/Helper.pdb b/DOCGEN/bin/Debug/Helper.pdb index 3ad377e2..c67ed204 100644 Binary files a/DOCGEN/bin/Debug/Helper.pdb and b/DOCGEN/bin/Debug/Helper.pdb differ diff --git a/DOCGEN/bin/Debug/Model.dll b/DOCGEN/bin/Debug/Model.dll index 4b694900..10381a11 100644 Binary files a/DOCGEN/bin/Debug/Model.dll and b/DOCGEN/bin/Debug/Model.dll differ diff --git a/DOCGEN/bin/Debug/Model.pdb b/DOCGEN/bin/Debug/Model.pdb index df130a02..16123dcf 100644 Binary files a/DOCGEN/bin/Debug/Model.pdb and b/DOCGEN/bin/Debug/Model.pdb differ diff --git a/DOCGEN/obj/Debug/DocGen.csproj.AssemblyReference.cache b/DOCGEN/obj/Debug/DocGen.csproj.AssemblyReference.cache index 20d5709b..ed711486 100644 Binary files a/DOCGEN/obj/Debug/DocGen.csproj.AssemblyReference.cache and b/DOCGEN/obj/Debug/DocGen.csproj.AssemblyReference.cache differ diff --git a/Database/DB/clsEdex_sb_serienbrief.cs b/Database/DB/clsEdex_sb_serienbrief.cs new file mode 100644 index 00000000..5a812dab --- /dev/null +++ b/Database/DB/clsEdex_sb_serienbrief.cs @@ -0,0 +1,765 @@ +using System; +using System.Data; +using System.Data.SqlTypes; +using System.Data.SqlClient; + +namespace edoka_dms +{ + public class clsEdex_sb_serienbrief : clsDBInteractionBase + { + #region Class Member Declarations + private SqlBoolean m_bAktiv; + private SqlDateTime m_daMutiert_am, m_daDokumentdatum, m_daArchivdatum, m_daTermin, m_daErstellt_am; + private SqlInt32 m_iBestaetigt, m_iGedruckt, m_iErstellt, m_iInBearbeitung, m_iFehlerhaft, m_iTreewidth, m_iWindowheight, m_iWindowwidth, m_iDokumenttypnr, m_iStatus, m_iSerienbriefnr, m_iAusgeloest, m_iTeam, m_iUnterschriftrechts, m_iUnterschriftlinks, m_iZustaendig, m_iPostzustellung, m_iVerantwortlich, m_iMutierer, m_iBldossier; + private SqlString m_sBemerkung, m_sBezeichnung; + #endregion + + + public clsEdex_sb_serienbrief() + { + // Nothing for now. + } + + + public override bool Insert() + { + SqlCommand scmCmdToExecute = new SqlCommand(); + scmCmdToExecute.CommandText = "dbo.[pr_edex_sb_serienbrief_Insert]"; + scmCmdToExecute.CommandType = CommandType.StoredProcedure; + + // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection; + + try + { + scmCmdToExecute.Parameters.Add(new SqlParameter("@sbezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iverantwortlich", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iVerantwortlich)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@ipostzustellung", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iPostzustellung)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@dadokumentdatum", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daDokumentdatum)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@izustaendig", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iZustaendig)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iunterschriftlinks", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iUnterschriftlinks)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iunterschriftrechts", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iUnterschriftrechts)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iteam", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iTeam)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@daarchivdatum", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daArchivdatum)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@datermin", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daTermin)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@sbemerkung", SqlDbType.VarChar, 1024, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sBemerkung)); + 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("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@istatus", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatus)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@idokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iDokumenttypnr)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iwindowwidth", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iWindowwidth)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iwindowheight", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iWindowheight)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@itreewidth", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iTreewidth)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@ifehlerhaft", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iFehlerhaft)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iinBearbeitung", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iInBearbeitung)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@ierstellt", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iErstellt)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@igedruckt", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iGedruckt)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@ibestaetigt", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iBestaetigt)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iausgeloest", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iAusgeloest)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@ibldossier", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iBldossier)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iserienbriefnr", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, m_iSerienbriefnr)); + 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_iSerienbriefnr = Convert.ToInt32(scmCmdToExecute.Parameters["@iserienbriefnr"].Value.ToString()); + m_iErrorCode = Convert.ToInt32(scmCmdToExecute.Parameters["@iErrorCode"].Value.ToString()); + + if(m_iErrorCode != (int)LLBLError.AllOk) + { + // Throw error. + throw new Exception("Stored Procedure 'pr_edex_sb_serienbrief_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("clsEdex_sb_serienbrief::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_edex_sb_serienbrief_Update]"; + scmCmdToExecute.CommandType = CommandType.StoredProcedure; + + // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection; + + try + { + scmCmdToExecute.Parameters.Add(new SqlParameter("@iserienbriefnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iSerienbriefnr)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@sbezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iverantwortlich", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iVerantwortlich)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@ipostzustellung", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iPostzustellung)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@dadokumentdatum", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daDokumentdatum)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@izustaendig", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iZustaendig)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iunterschriftlinks", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iUnterschriftlinks)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iunterschriftrechts", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iUnterschriftrechts)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iteam", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iTeam)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@daarchivdatum", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daArchivdatum)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@datermin", SqlDbType.DateTime, 8, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_daTermin)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@sbemerkung", SqlDbType.VarChar, 1024, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_sBemerkung)); + 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("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@istatus", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iStatus)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@idokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iDokumenttypnr)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iwindowwidth", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iWindowwidth)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iwindowheight", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iWindowheight)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@itreewidth", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iTreewidth)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@ifehlerhaft", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iFehlerhaft)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iinBearbeitung", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iInBearbeitung)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@ierstellt", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iErstellt)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@igedruckt", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iGedruckt)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@ibestaetigt", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iBestaetigt)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@iausgeloest", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iAusgeloest)); + scmCmdToExecute.Parameters.Add(new SqlParameter("@ibldossier", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, m_iBldossier)); + 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 = Convert.ToInt32(scmCmdToExecute.Parameters["@iErrorCode"].Value.ToString()); + + if(m_iErrorCode != (int)LLBLError.AllOk) + { + // Throw error. + throw new Exception("Stored Procedure 'pr_edex_sb_serienbrief_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("clsEdex_sb_serienbrief::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_edex_sb_serienbrief_Delete]"; + scmCmdToExecute.CommandType = CommandType.StoredProcedure; + + // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection; + + try + { + scmCmdToExecute.Parameters.Add(new SqlParameter("@iserienbriefnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iSerienbriefnr)); + 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_edex_sb_serienbrief_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("clsEdex_sb_serienbrief::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_edex_sb_serienbrief_SelectOne]"; + scmCmdToExecute.CommandType = CommandType.StoredProcedure; + DataTable dtToReturn = new DataTable("edex_sb_serienbrief"); + SqlDataAdapter sdaAdapter = new SqlDataAdapter(scmCmdToExecute); + + // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection; + + try + { + scmCmdToExecute.Parameters.Add(new SqlParameter("@iserienbriefnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iSerienbriefnr)); + 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 = Convert.ToInt32(scmCmdToExecute.Parameters["@iErrorCode"].Value.ToString()); + + if(m_iErrorCode != (int)LLBLError.AllOk) + { + // Throw error. + throw new Exception("Stored Procedure 'pr_edex_sb_serienbrief_SelectOne' reported the ErrorCode: " + m_iErrorCode); + } + + if(dtToReturn.Rows.Count > 0) + { + m_iSerienbriefnr = (Int32)dtToReturn.Rows[0]["serienbriefnr"]; + m_sBezeichnung = dtToReturn.Rows[0]["bezeichnung"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["bezeichnung"]; + m_iVerantwortlich = dtToReturn.Rows[0]["verantwortlich"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["verantwortlich"]; + m_iPostzustellung = dtToReturn.Rows[0]["postzustellung"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["postzustellung"]; + m_daDokumentdatum = dtToReturn.Rows[0]["dokumentdatum"] == System.DBNull.Value ? SqlDateTime.Null : (DateTime)dtToReturn.Rows[0]["dokumentdatum"]; + m_iZustaendig = dtToReturn.Rows[0]["zustaendig"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["zustaendig"]; + m_iUnterschriftlinks = dtToReturn.Rows[0]["unterschriftlinks"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["unterschriftlinks"]; + m_iUnterschriftrechts = dtToReturn.Rows[0]["unterschriftrechts"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["unterschriftrechts"]; + m_iTeam = dtToReturn.Rows[0]["team"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["team"]; + m_daArchivdatum = dtToReturn.Rows[0]["archivdatum"] == System.DBNull.Value ? SqlDateTime.Null : (DateTime)dtToReturn.Rows[0]["archivdatum"]; + m_daTermin = dtToReturn.Rows[0]["termin"] == System.DBNull.Value ? SqlDateTime.Null : (DateTime)dtToReturn.Rows[0]["termin"]; + m_sBemerkung = dtToReturn.Rows[0]["bemerkung"] == System.DBNull.Value ? SqlString.Null : (string)dtToReturn.Rows[0]["bemerkung"]; + 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_bAktiv = dtToReturn.Rows[0]["aktiv"] == System.DBNull.Value ? SqlBoolean.Null : (bool)dtToReturn.Rows[0]["aktiv"]; + m_iStatus = dtToReturn.Rows[0]["status"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["status"]; + m_iDokumenttypnr = dtToReturn.Rows[0]["dokumenttypnr"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["dokumenttypnr"]; + m_iWindowwidth = dtToReturn.Rows[0]["windowwidth"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["windowwidth"]; + m_iWindowheight = dtToReturn.Rows[0]["windowheight"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["windowheight"]; + m_iTreewidth = dtToReturn.Rows[0]["treewidth"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["treewidth"]; + m_iFehlerhaft = dtToReturn.Rows[0]["fehlerhaft"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["fehlerhaft"]; + m_iInBearbeitung = dtToReturn.Rows[0]["inBearbeitung"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["inBearbeitung"]; + m_iErstellt = dtToReturn.Rows[0]["erstellt"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["erstellt"]; + m_iGedruckt = dtToReturn.Rows[0]["gedruckt"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["gedruckt"]; + m_iBestaetigt = dtToReturn.Rows[0]["bestaetigt"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["bestaetigt"]; + m_iAusgeloest = dtToReturn.Rows[0]["ausgeloest"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["ausgeloest"]; + m_iBldossier = dtToReturn.Rows[0]["bldossier"] == System.DBNull.Value ? SqlInt32.Null : (Int32)dtToReturn.Rows[0]["bldossier"]; + } + return dtToReturn; + } + catch(Exception ex) + { + // some error occured. Bubble it to caller and encapsulate Exception object + throw new Exception("clsEdex_sb_serienbrief::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_edex_sb_serienbrief_SelectAll]"; + scmCmdToExecute.CommandType = CommandType.StoredProcedure; + DataTable dtToReturn = new DataTable("edex_sb_serienbrief"); + 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_edex_sb_serienbrief_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("clsEdex_sb_serienbrief::SelectAll::Error occured.", ex); + } + finally + { + if(m_bMainConnectionIsCreatedLocal) + { + // Close connection. + m_scoMainConnection.Close(); + } + scmCmdToExecute.Dispose(); + sdaAdapter.Dispose(); + } + } + + + #region Class Property Declarations + public SqlInt32 iSerienbriefnr + { + get + { + return m_iSerienbriefnr; + } + set + { + SqlInt32 iSerienbriefnrTmp = (SqlInt32)value; + if(iSerienbriefnrTmp.IsNull) + { + throw new ArgumentOutOfRangeException("iSerienbriefnr", "iSerienbriefnr can't be NULL"); + } + m_iSerienbriefnr = value; + } + } + + + public SqlString sBezeichnung + { + get + { + return m_sBezeichnung; + } + set + { + m_sBezeichnung = value; + } + } + + + public SqlInt32 iVerantwortlich + { + get + { + return m_iVerantwortlich; + } + set + { + m_iVerantwortlich = value; + } + } + + + public SqlInt32 iPostzustellung + { + get + { + return m_iPostzustellung; + } + set + { + m_iPostzustellung = value; + } + } + + + public SqlDateTime daDokumentdatum + { + get + { + return m_daDokumentdatum; + } + set + { + m_daDokumentdatum = value; + } + } + + + public SqlInt32 iZustaendig + { + get + { + return m_iZustaendig; + } + set + { + m_iZustaendig = value; + } + } + + + public SqlInt32 iUnterschriftlinks + { + get + { + return m_iUnterschriftlinks; + } + set + { + m_iUnterschriftlinks = value; + } + } + + + public SqlInt32 iUnterschriftrechts + { + get + { + return m_iUnterschriftrechts; + } + set + { + m_iUnterschriftrechts = value; + } + } + + + public SqlInt32 iTeam + { + get + { + return m_iTeam; + } + set + { + m_iTeam = value; + } + } + + + public SqlDateTime daArchivdatum + { + get + { + return m_daArchivdatum; + } + set + { + m_daArchivdatum = value; + } + } + + + public SqlDateTime daTermin + { + get + { + return m_daTermin; + } + set + { + m_daTermin = value; + } + } + + + public SqlString sBemerkung + { + get + { + return m_sBemerkung; + } + set + { + m_sBemerkung = 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 bAktiv + { + get + { + return m_bAktiv; + } + set + { + m_bAktiv = value; + } + } + + + public SqlInt32 iStatus + { + get + { + return m_iStatus; + } + set + { + m_iStatus = value; + } + } + + + public SqlInt32 iDokumenttypnr + { + get + { + return m_iDokumenttypnr; + } + set + { + m_iDokumenttypnr = value; + } + } + + + public SqlInt32 iWindowwidth + { + get + { + return m_iWindowwidth; + } + set + { + m_iWindowwidth = value; + } + } + + + public SqlInt32 iWindowheight + { + get + { + return m_iWindowheight; + } + set + { + m_iWindowheight = value; + } + } + + + public SqlInt32 iTreewidth + { + get + { + return m_iTreewidth; + } + set + { + m_iTreewidth = value; + } + } + + + public SqlInt32 iFehlerhaft + { + get + { + return m_iFehlerhaft; + } + set + { + m_iFehlerhaft = value; + } + } + + + public SqlInt32 iInBearbeitung + { + get + { + return m_iInBearbeitung; + } + set + { + m_iInBearbeitung = value; + } + } + + + public SqlInt32 iErstellt + { + get + { + return m_iErstellt; + } + set + { + m_iErstellt = value; + } + } + + + public SqlInt32 iGedruckt + { + get + { + return m_iGedruckt; + } + set + { + m_iGedruckt = value; + } + } + + + public SqlInt32 iBestaetigt + { + get + { + return m_iBestaetigt; + } + set + { + m_iBestaetigt = value; + } + } + + + public SqlInt32 iAusgeloest + { + get + { + return m_iAusgeloest; + } + set + { + m_iAusgeloest = value; + } + } + + + public SqlInt32 iBldossier + { + get + { + return m_iBldossier; + } + set + { + m_iBldossier = value; + } + } + #endregion + } +} diff --git a/Database/Database.csproj b/Database/Database.csproj index eb225438..2fac5169 100644 --- a/Database/Database.csproj +++ b/Database/Database.csproj @@ -60,6 +60,7 @@ + diff --git a/Database/bin/Debug/Database.dll b/Database/bin/Debug/Database.dll index c33079f1..38908311 100644 Binary files a/Database/bin/Debug/Database.dll and b/Database/bin/Debug/Database.dll differ diff --git a/Database/bin/Debug/Database.pdb b/Database/bin/Debug/Database.pdb index ad0c5226..b1f3a73e 100644 Binary files a/Database/bin/Debug/Database.pdb and b/Database/bin/Debug/Database.pdb differ diff --git a/Database/bin/Debug/Helper.dll b/Database/bin/Debug/Helper.dll index 821177c5..26b96769 100644 Binary files a/Database/bin/Debug/Helper.dll and b/Database/bin/Debug/Helper.dll differ diff --git a/Database/bin/Debug/Helper.pdb b/Database/bin/Debug/Helper.pdb index 3ad377e2..c67ed204 100644 Binary files a/Database/bin/Debug/Helper.pdb and b/Database/bin/Debug/Helper.pdb differ diff --git a/Database/bin/Debug/Model.dll b/Database/bin/Debug/Model.dll index 4b694900..10381a11 100644 Binary files a/Database/bin/Debug/Model.dll and b/Database/bin/Debug/Model.dll differ diff --git a/Database/bin/Debug/Model.pdb b/Database/bin/Debug/Model.pdb index df130a02..16123dcf 100644 Binary files a/Database/bin/Debug/Model.pdb and b/Database/bin/Debug/Model.pdb differ diff --git a/Database/db.cs b/Database/db.cs index f8f6afb4..5a5487fa 100644 --- a/Database/db.cs +++ b/Database/db.cs @@ -17,6 +17,7 @@ using System.Runtime.CompilerServices; + namespace Database { public class DB @@ -1182,6 +1183,66 @@ namespace Database } scmCmdToExecute.Dispose(); } + + public int Save_Serienbrief(serienbrief sb) + { + clsEdex_sb_serienbrief dbsb = new clsEdex_sb_serienbrief(); + clsConnectionProvider edoka_conn = new clsConnectionProvider(); + edoka_conn.sConnectionString = this.connectionstring; + + dbsb.cpMainConnectionProvider = edoka_conn; + if (sb.serienbriefnr != 0) + { + dbsb.iSerienbriefnr = sb.serienbriefnr; + dbsb.SelectOne(); + } + + dbsb.sBezeichnung = sb.bezeichnung; + dbsb.iSerienbriefnr = sb.serienbriefnr; + dbsb.iVerantwortlich = sb.verantwortlich; + dbsb.iPostzustellung = sb.postzustellung; + dbsb.daDokumentdatum = sb.dokumentdatum; + dbsb.iZustaendig = sb.zustaendig; + dbsb.iUnterschriftlinks = sb.unterschriftlinks; + dbsb.iUnterschriftrechts = sb.unterschriftrechts; + dbsb.iTeam = sb.team; + dbsb.daArchivdatum=sb.archivdatum; + dbsb.daTermin = sb.termin; + dbsb.sBemerkung = sb.bemerkung; + dbsb.daErstellt_am = sb.erstellt_am; + dbsb.daMutiert_am = sb.mutiert_am; + dbsb.iMutierer = sb.mutierer; + dbsb.bAktiv = sb.aktiv; + dbsb.iStatus = sb.status; + dbsb.iDokumenttypnr = sb.dokumenttypnr; + dbsb.iWindowwidth = sb.windowwidth; + dbsb.iWindowheight = sb.windowwidth; + dbsb.iTreewidth = sb.treewidth; + dbsb.iInBearbeitung = sb.inBearbeitung; + dbsb.iFehlerhaft = sb.fehlerhaft; + dbsb.iErstellt = sb.erstellt; + dbsb.iGedruckt = sb.gedruckt; + dbsb.iBestaetigt = sb.bestaetigt; + dbsb.iAusgeloest = sb.ausgeloest; + dbsb.iBldossier = sb.bldossier; + edoka_conn.OpenConnection(); + if (sb.serienbriefnr == 0) + { + dbsb.Insert(); + sb.serienbriefnr = Convert.ToInt32(dbsb.iSerienbriefnr.ToString()); + } + else + { + dbsb.Update(); + + } + edoka_conn.CloseConnection(true); + + + return sb.serienbriefnr; + } } + + } diff --git a/Database/obj/Debug/Database.csproj.AssemblyReference.cache b/Database/obj/Debug/Database.csproj.AssemblyReference.cache index b7da4e52..c982bf92 100644 Binary files a/Database/obj/Debug/Database.csproj.AssemblyReference.cache and b/Database/obj/Debug/Database.csproj.AssemblyReference.cache differ diff --git a/Database/obj/Debug/Database.csproj.CoreCompileInputs.cache b/Database/obj/Debug/Database.csproj.CoreCompileInputs.cache index 026af5d3..b8b74c82 100644 --- a/Database/obj/Debug/Database.csproj.CoreCompileInputs.cache +++ b/Database/obj/Debug/Database.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -219844af4b60f39689eba9c54a9ead08897ab32e2a1ed311a4f3958e327ba450 +ed5653783e13798ca2360f697ff55f1898ab7aa636a114d66b4bb1a604035ce9 diff --git a/Database/obj/Debug/Database.dll b/Database/obj/Debug/Database.dll index c33079f1..38908311 100644 Binary files a/Database/obj/Debug/Database.dll and b/Database/obj/Debug/Database.dll differ diff --git a/Database/obj/Debug/Database.pdb b/Database/obj/Debug/Database.pdb index ad0c5226..b1f3a73e 100644 Binary files a/Database/obj/Debug/Database.pdb and b/Database/obj/Debug/Database.pdb differ diff --git a/Helper/bin/Debug/Helper.dll b/Helper/bin/Debug/Helper.dll index 821177c5..26b96769 100644 Binary files a/Helper/bin/Debug/Helper.dll and b/Helper/bin/Debug/Helper.dll differ diff --git a/Helper/bin/Debug/Helper.pdb b/Helper/bin/Debug/Helper.pdb index 3ad377e2..c67ed204 100644 Binary files a/Helper/bin/Debug/Helper.pdb and b/Helper/bin/Debug/Helper.pdb differ diff --git a/Helper/clsFileHelper.cs b/Helper/clsFileHelper.cs index 9310aa7a..5e05d8c8 100644 --- a/Helper/clsFileHelper.cs +++ b/Helper/clsFileHelper.cs @@ -1,6 +1,7 @@ using NLog.LayoutRenderers; using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -37,5 +38,14 @@ namespace Helper } } + public Stream GenerateStreamFromString(string s) + { + var stream = new MemoryStream(); + var writer = new StreamWriter(stream); + writer.Write(s); + writer.Flush(); + stream.Position = 0; + return stream; + } } } diff --git a/Helper/obj/Debug/Helper.dll b/Helper/obj/Debug/Helper.dll index 821177c5..26b96769 100644 Binary files a/Helper/obj/Debug/Helper.dll and b/Helper/obj/Debug/Helper.dll differ diff --git a/Helper/obj/Debug/Helper.pdb b/Helper/obj/Debug/Helper.pdb index 3ad377e2..c67ed204 100644 Binary files a/Helper/obj/Debug/Helper.pdb and b/Helper/obj/Debug/Helper.pdb differ diff --git a/Model/Model.csproj b/Model/Model.csproj index f3d5bde1..57c422aa 100644 --- a/Model/Model.csproj +++ b/Model/Model.csproj @@ -46,6 +46,7 @@ + diff --git a/Model/bin/Debug/Model.dll b/Model/bin/Debug/Model.dll index 4b694900..10381a11 100644 Binary files a/Model/bin/Debug/Model.dll and b/Model/bin/Debug/Model.dll differ diff --git a/Model/bin/Debug/Model.pdb b/Model/bin/Debug/Model.pdb index df130a02..16123dcf 100644 Binary files a/Model/bin/Debug/Model.pdb and b/Model/bin/Debug/Model.pdb differ diff --git a/Model/clsSerienbrief.cs b/Model/clsSerienbrief.cs new file mode 100644 index 00000000..98d7c154 --- /dev/null +++ b/Model/clsSerienbrief.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Model +{ + + public class serienbrief + { + public int serienbriefnr { get; set; } = 0; + public string bezeichnung { get; set; } = ""; + public int verantwortlich { get; set; } = 0; + public int postzustellung { get; set; } = 0; + public DateTime dokumentdatum { get; set; } = DateTime.Now; + public int zustaendig { get; set; } = 0; + public int unterschriftlinks { get; set; } = 0; + public int unterschriftrechts { get; set; } = 0; + public int team { get; set; } = 0; + public DateTime archivdatum { get; set; } = DateTime.Now; + public DateTime termin { get; set; } = DateTime.Now; + public string bemerkung { get; set; } = ""; + public DateTime erstellt_am { get; set; } = DateTime.Now; + public DateTime mutiert_am { get; set; } = DateTime.Now; + public int mutierer { get; set; } = 0; + public bool aktiv { get; set; } = true; + public int status { get; set; } = 0; + public int dokumenttypnr { get; set; } = 0; + public int windowwidth { get; set; } = 0; + public int windowheight { get; set; } = 0; + public int treewidth { get; set; } = 0; + public int fehlerhaft { get; set; } = 0; + public int inBearbeitung { get; set; } = 0; + public int erstellt { get; set; } = 0; + public int gedruckt { get; set; } = 0; + public int bestaetigt { get; set; } = 0; + public int ausgeloest { get; set; } = 0; + public int bldossier { get; set; } = 0; + + + + } + + +} diff --git a/Model/obj/Debug/Model.csproj.AssemblyReference.cache b/Model/obj/Debug/Model.csproj.AssemblyReference.cache index 19ab67de..e32cfc63 100644 Binary files a/Model/obj/Debug/Model.csproj.AssemblyReference.cache and b/Model/obj/Debug/Model.csproj.AssemblyReference.cache differ diff --git a/Model/obj/Debug/Model.csproj.CoreCompileInputs.cache b/Model/obj/Debug/Model.csproj.CoreCompileInputs.cache index b0aba561..2787a2fb 100644 --- a/Model/obj/Debug/Model.csproj.CoreCompileInputs.cache +++ b/Model/obj/Debug/Model.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -57ab2ec78deebc61353d3ea8926b1991db41a4c8d288afce107b55baa70cb5fa +360cbe71b183e2000d2a6e9a40a1eec981199b034a930103ec6ff55518a1d358 diff --git a/Model/obj/Debug/Model.dll b/Model/obj/Debug/Model.dll index 4b694900..10381a11 100644 Binary files a/Model/obj/Debug/Model.dll and b/Model/obj/Debug/Model.dll differ diff --git a/Model/obj/Debug/Model.pdb b/Model/obj/Debug/Model.pdb index df130a02..16123dcf 100644 Binary files a/Model/obj/Debug/Model.pdb and b/Model/obj/Debug/Model.pdb differ