Compare commits

...

2 Commits

28 changed files with 2191 additions and 1545 deletions

View File

@ -54,7 +54,7 @@ namespace Deckungsbeitrag
buttonColumn = (OLVColumn)this.objectListViewArtikel.Columns[7];
buttonColumn.IsButton = true;
buttonColumn.ButtonSizing = OLVColumn.ButtonSizingMode.CellBounds;
Funktionen.Columns_Resize(this.objectListViewArtikel);
this.objectListViewArtikel = Funktionen.Columns_Resize(null, this.objectListViewArtikel).olv;
this.objectListViewArtikel.FilterMenuBuildStrategy = new MeinFilterMenu();

View File

@ -46,7 +46,7 @@ namespace Deckungsbeitrag
this.objectListViewAufgabe.Sort(sortcolumn);
this.objectListViewAufgabe.FilterMenuBuildStrategy = new MeinFilterMenu();
Funktionen.Columns_Resize(this.objectListViewAufgabe);
this.objectListViewAufgabe = Funktionen.Columns_Resize(null, this.objectListViewAufgabe).olv;
}

View File

@ -29,29 +29,356 @@
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAufleger));
this.tLPAuftrag = new System.Windows.Forms.TableLayoutPanel();
this.labelContT5 = new System.Windows.Forms.Label();
this.labelContT4 = new System.Windows.Forms.Label();
this.labelContT3 = new System.Windows.Forms.Label();
this.labelContT2 = new System.Windows.Forms.Label();
this.labelContT1 = new System.Windows.Forms.Label();
this.fLP_T5 = new System.Windows.Forms.FlowLayoutPanel();
this.fLP_T4 = new System.Windows.Forms.FlowLayoutPanel();
this.fLP_T3 = new System.Windows.Forms.FlowLayoutPanel();
this.fLP_T2 = new System.Windows.Forms.FlowLayoutPanel();
this.labelT5 = new System.Windows.Forms.Label();
this.labelT4 = new System.Windows.Forms.Label();
this.labelT3 = new System.Windows.Forms.Label();
this.labelT2 = new System.Windows.Forms.Label();
this.labelT1 = new System.Windows.Forms.Label();
this.fLP_T1 = new System.Windows.Forms.FlowLayoutPanel();
this.textBoxScan = new System.Windows.Forms.TextBox();
this.buttonCloseForm = new System.Windows.Forms.Button();
this.labelVersion = new System.Windows.Forms.Label();
this.tLPAuftrag.SuspendLayout();
this.SuspendLayout();
//
// tLPAuftrag
//
this.tLPAuftrag.ColumnCount = 5;
this.tLPAuftrag.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
this.tLPAuftrag.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
this.tLPAuftrag.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
this.tLPAuftrag.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
this.tLPAuftrag.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
this.tLPAuftrag.Controls.Add(this.labelContT5, 0, 2);
this.tLPAuftrag.Controls.Add(this.labelContT4, 1, 2);
this.tLPAuftrag.Controls.Add(this.labelContT3, 2, 2);
this.tLPAuftrag.Controls.Add(this.labelContT2, 3, 2);
this.tLPAuftrag.Controls.Add(this.labelContT1, 4, 2);
this.tLPAuftrag.Controls.Add(this.fLP_T5, 4, 1);
this.tLPAuftrag.Controls.Add(this.fLP_T4, 3, 1);
this.tLPAuftrag.Controls.Add(this.fLP_T3, 2, 1);
this.tLPAuftrag.Controls.Add(this.fLP_T2, 1, 1);
this.tLPAuftrag.Controls.Add(this.labelT5, 4, 0);
this.tLPAuftrag.Controls.Add(this.labelT4, 3, 0);
this.tLPAuftrag.Controls.Add(this.labelT3, 2, 0);
this.tLPAuftrag.Controls.Add(this.labelT2, 1, 0);
this.tLPAuftrag.Controls.Add(this.labelT1, 0, 0);
this.tLPAuftrag.Controls.Add(this.fLP_T1, 0, 1);
this.tLPAuftrag.Controls.Add(this.textBoxScan, 0, 3);
this.tLPAuftrag.Controls.Add(this.buttonCloseForm, 4, 3);
this.tLPAuftrag.Controls.Add(this.labelVersion, 2, 3);
this.tLPAuftrag.Dock = System.Windows.Forms.DockStyle.Fill;
this.tLPAuftrag.ForeColor = System.Drawing.Color.Black;
this.tLPAuftrag.Location = new System.Drawing.Point(0, 0);
this.tLPAuftrag.Name = "tLPAuftrag";
this.tLPAuftrag.RowCount = 4;
this.tLPAuftrag.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F));
this.tLPAuftrag.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tLPAuftrag.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F));
this.tLPAuftrag.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F));
this.tLPAuftrag.Size = new System.Drawing.Size(1037, 605);
this.tLPAuftrag.TabIndex = 2;
//
// labelContT5
//
this.labelContT5.AutoSize = true;
this.labelContT5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.labelContT5.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelContT5.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelContT5.ForeColor = System.Drawing.Color.White;
this.labelContT5.Location = new System.Drawing.Point(3, 505);
this.labelContT5.Name = "labelContT5";
this.labelContT5.Size = new System.Drawing.Size(201, 50);
this.labelContT5.TabIndex = 24;
this.labelContT5.Tag = "FR";
this.labelContT5.Text = "0";
this.labelContT5.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// labelContT4
//
this.labelContT4.AutoSize = true;
this.labelContT4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.labelContT4.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelContT4.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelContT4.ForeColor = System.Drawing.Color.White;
this.labelContT4.Location = new System.Drawing.Point(210, 505);
this.labelContT4.Name = "labelContT4";
this.labelContT4.Size = new System.Drawing.Size(201, 50);
this.labelContT4.TabIndex = 23;
this.labelContT4.Tag = "DO";
this.labelContT4.Text = "0";
this.labelContT4.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// labelContT3
//
this.labelContT3.AutoSize = true;
this.labelContT3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.labelContT3.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelContT3.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelContT3.ForeColor = System.Drawing.Color.White;
this.labelContT3.Location = new System.Drawing.Point(417, 505);
this.labelContT3.Name = "labelContT3";
this.labelContT3.Size = new System.Drawing.Size(201, 50);
this.labelContT3.TabIndex = 22;
this.labelContT3.Tag = "MI";
this.labelContT3.Text = "0";
this.labelContT3.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// labelContT2
//
this.labelContT2.AutoSize = true;
this.labelContT2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.labelContT2.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelContT2.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelContT2.ForeColor = System.Drawing.Color.White;
this.labelContT2.Location = new System.Drawing.Point(624, 505);
this.labelContT2.Name = "labelContT2";
this.labelContT2.Size = new System.Drawing.Size(201, 50);
this.labelContT2.TabIndex = 21;
this.labelContT2.Tag = "DI";
this.labelContT2.Text = "0";
this.labelContT2.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// labelContT1
//
this.labelContT1.AutoSize = true;
this.labelContT1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.labelContT1.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelContT1.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelContT1.ForeColor = System.Drawing.Color.White;
this.labelContT1.Location = new System.Drawing.Point(831, 505);
this.labelContT1.Name = "labelContT1";
this.labelContT1.Size = new System.Drawing.Size(203, 50);
this.labelContT1.TabIndex = 20;
this.labelContT1.Tag = "MO";
this.labelContT1.Text = "0";
this.labelContT1.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// fLP_T5
//
this.fLP_T5.AllowDrop = true;
this.fLP_T5.AutoScroll = true;
this.fLP_T5.BackColor = System.Drawing.SystemColors.ControlLight;
this.fLP_T5.Dock = System.Windows.Forms.DockStyle.Fill;
this.fLP_T5.Location = new System.Drawing.Point(831, 53);
this.fLP_T5.Name = "fLP_T5";
this.fLP_T5.Size = new System.Drawing.Size(203, 449);
this.fLP_T5.TabIndex = 19;
this.fLP_T5.Tag = "FR";
//
// fLP_T4
//
this.fLP_T4.AllowDrop = true;
this.fLP_T4.AutoScroll = true;
this.fLP_T4.BackColor = System.Drawing.SystemColors.ControlLight;
this.fLP_T4.Dock = System.Windows.Forms.DockStyle.Fill;
this.fLP_T4.Location = new System.Drawing.Point(624, 53);
this.fLP_T4.Name = "fLP_T4";
this.fLP_T4.Size = new System.Drawing.Size(201, 449);
this.fLP_T4.TabIndex = 18;
this.fLP_T4.Tag = "DO";
//
// fLP_T3
//
this.fLP_T3.AllowDrop = true;
this.fLP_T3.AutoScroll = true;
this.fLP_T3.BackColor = System.Drawing.SystemColors.ControlLight;
this.fLP_T3.Dock = System.Windows.Forms.DockStyle.Fill;
this.fLP_T3.Location = new System.Drawing.Point(417, 53);
this.fLP_T3.Name = "fLP_T3";
this.fLP_T3.Size = new System.Drawing.Size(201, 449);
this.fLP_T3.TabIndex = 17;
this.fLP_T3.Tag = "MI";
//
// fLP_T2
//
this.fLP_T2.AllowDrop = true;
this.fLP_T2.AutoScroll = true;
this.fLP_T2.BackColor = System.Drawing.SystemColors.ControlLight;
this.fLP_T2.Dock = System.Windows.Forms.DockStyle.Fill;
this.fLP_T2.Location = new System.Drawing.Point(210, 53);
this.fLP_T2.Name = "fLP_T2";
this.fLP_T2.Size = new System.Drawing.Size(201, 449);
this.fLP_T2.TabIndex = 16;
this.fLP_T2.Tag = "DI";
//
// labelT5
//
this.labelT5.AutoSize = true;
this.labelT5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.labelT5.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelT5.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelT5.ForeColor = System.Drawing.Color.White;
this.labelT5.Location = new System.Drawing.Point(831, 0);
this.labelT5.Name = "labelT5";
this.labelT5.Size = new System.Drawing.Size(203, 50);
this.labelT5.TabIndex = 4;
this.labelT5.Text = "FR";
this.labelT5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelT4
//
this.labelT4.AutoSize = true;
this.labelT4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.labelT4.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelT4.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelT4.ForeColor = System.Drawing.Color.White;
this.labelT4.Location = new System.Drawing.Point(624, 0);
this.labelT4.Name = "labelT4";
this.labelT4.Size = new System.Drawing.Size(201, 50);
this.labelT4.TabIndex = 3;
this.labelT4.Text = "DO";
this.labelT4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelT3
//
this.labelT3.AutoSize = true;
this.labelT3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.labelT3.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelT3.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelT3.ForeColor = System.Drawing.Color.White;
this.labelT3.Location = new System.Drawing.Point(417, 0);
this.labelT3.Name = "labelT3";
this.labelT3.Size = new System.Drawing.Size(201, 50);
this.labelT3.TabIndex = 2;
this.labelT3.Text = "MI";
this.labelT3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelT2
//
this.labelT2.AutoSize = true;
this.labelT2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.labelT2.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelT2.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelT2.ForeColor = System.Drawing.Color.White;
this.labelT2.Location = new System.Drawing.Point(210, 0);
this.labelT2.Name = "labelT2";
this.labelT2.Size = new System.Drawing.Size(201, 50);
this.labelT2.TabIndex = 1;
this.labelT2.Text = "DI";
this.labelT2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelT1
//
this.labelT1.AutoSize = true;
this.labelT1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.labelT1.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelT1.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelT1.ForeColor = System.Drawing.Color.White;
this.labelT1.Location = new System.Drawing.Point(3, 0);
this.labelT1.Name = "labelT1";
this.labelT1.Size = new System.Drawing.Size(201, 50);
this.labelT1.TabIndex = 0;
this.labelT1.Text = "MO";
this.labelT1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// fLP_T1
//
this.fLP_T1.AllowDrop = true;
this.fLP_T1.AutoScroll = true;
this.fLP_T1.BackColor = System.Drawing.SystemColors.ControlLight;
this.fLP_T1.Dock = System.Windows.Forms.DockStyle.Fill;
this.fLP_T1.Location = new System.Drawing.Point(3, 53);
this.fLP_T1.Name = "fLP_T1";
this.fLP_T1.Size = new System.Drawing.Size(201, 449);
this.fLP_T1.TabIndex = 15;
this.fLP_T1.Tag = "MO";
//
// textBoxScan
//
this.textBoxScan.Dock = System.Windows.Forms.DockStyle.Fill;
this.textBoxScan.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxScan.Location = new System.Drawing.Point(3, 558);
this.textBoxScan.Name = "textBoxScan";
this.textBoxScan.Size = new System.Drawing.Size(201, 38);
this.textBoxScan.TabIndex = 25;
this.textBoxScan.TextChanged += new System.EventHandler(this.textBoxScan_TextChanged);
//
// buttonCloseForm
//
this.buttonCloseForm.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.buttonCloseForm.Dock = System.Windows.Forms.DockStyle.Fill;
this.buttonCloseForm.FlatAppearance.BorderColor = System.Drawing.Color.White;
this.buttonCloseForm.FlatAppearance.BorderSize = 2;
this.buttonCloseForm.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonCloseForm.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonCloseForm.ForeColor = System.Drawing.Color.White;
this.buttonCloseForm.Location = new System.Drawing.Point(830, 557);
this.buttonCloseForm.Margin = new System.Windows.Forms.Padding(2);
this.buttonCloseForm.Name = "buttonCloseForm";
this.buttonCloseForm.Size = new System.Drawing.Size(205, 46);
this.buttonCloseForm.TabIndex = 27;
this.buttonCloseForm.Text = "Schließen";
this.buttonCloseForm.UseVisualStyleBackColor = false;
this.buttonCloseForm.Click += new System.EventHandler(this.buttonCloseForm_Click);
//
// labelVersion
//
this.labelVersion.AutoSize = true;
this.labelVersion.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelVersion.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
this.labelVersion.Location = new System.Drawing.Point(417, 555);
this.labelVersion.Name = "labelVersion";
this.labelVersion.Size = new System.Drawing.Size(201, 50);
this.labelVersion.TabIndex = 28;
this.labelVersion.Text = "Version: ";
this.labelVersion.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
//
// FormAufleger
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.ClientSize = new System.Drawing.Size(1383, 745);
this.ClientSize = new System.Drawing.Size(1037, 605);
this.Controls.Add(this.tLPAuftrag);
this.ForeColor = System.Drawing.Color.White;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.KeyPreview = true;
this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.Margin = new System.Windows.Forms.Padding(2);
this.Name = "FormAufleger";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Text = "Waschstrasse";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormAufleger_FormClosing);
this.Load += new System.EventHandler(this.FormAufleger_Load);
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.FormWaschstrasse_KeyDown);
this.Shown += new System.EventHandler(this.FormAufleger_Shown);
this.tLPAuftrag.ResumeLayout(false);
this.tLPAuftrag.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TableLayoutPanel tLPAuftrag;
private System.Windows.Forms.FlowLayoutPanel fLP_T5;
private System.Windows.Forms.FlowLayoutPanel fLP_T4;
private System.Windows.Forms.FlowLayoutPanel fLP_T3;
private System.Windows.Forms.FlowLayoutPanel fLP_T2;
private System.Windows.Forms.Label labelT5;
private System.Windows.Forms.Label labelT4;
private System.Windows.Forms.Label labelT3;
private System.Windows.Forms.Label labelT2;
private System.Windows.Forms.Label labelT1;
private System.Windows.Forms.FlowLayoutPanel fLP_T1;
private System.Windows.Forms.Label labelContT5;
private System.Windows.Forms.Label labelContT4;
private System.Windows.Forms.Label labelContT3;
private System.Windows.Forms.Label labelContT2;
private System.Windows.Forms.Label labelContT1;
private System.Windows.Forms.TextBox textBoxScan;
private System.Windows.Forms.Button buttonCloseForm;
private System.Windows.Forms.Label labelVersion;
}
}

View File

@ -1,12 +1,19 @@
using DatenDB;
using BrightIdeasSoftware;
using DatenDB;
using Npgsql;
using System;
using System.CodeDom;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Drawing;
using System.Drawing.Printing;
using System.Linq;
using System.Reflection;
using System.Runtime.ConstrainedExecution;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
@ -14,522 +21,296 @@ namespace Deckungsbeitrag
{
public partial class FormAufleger : Form
{
public Fach fach; //Das aktuelle Fach welches gerade beladen wird.
private readonly SPSDaten _monitor; //Ziel der Eventanfragen für die SPS.
private Screen[] screens; //Aktueller Plan mit Screen spiegeln erfordert die Unterscheidung nicht. //Wurde zur Untescheidung der Anzeigen benötigt.
private Benutzer person; //Ist der Bediener. Daraus werden bestimmte Rechte und Funktionen abgeleitet.
public FormAusschlager ausschlager; //Wird wegen Umbau nicht mehr gebraucht. //Ansicht für den Ausschlager.
public Kunde extrakunde;
public List<Fach> fachliste; //Ist der Inhalt der jeweiligen Maschine.
public Maschine maschine; //Bearbeitete Maschine.
public Auftrag auftrag; //Ein Auftrag ist eine Abholung/Lieferung eines bestimmten Kunden zu einem bestimmten Liefertag mit X Anzahl an Containern.
public Auftrag auftragsummary; //Wir zur Erstellung einer Tischsummary benötigt.
private Dictionary<DateTime, List<Auftrag>> auftragliste;
private System.Windows.Forms.Timer timer;
private Auftrag auftrag;
private Meldungen meldung = new Meldungen();
private bool iswechsel = false;
public FormAufleger()
{
InitializeComponent();
//Die Auswahl der Maschine wird eingeblendet um die richtige MaschineID zu bekommen.
FormMSAuswahl auswahl = new FormMSAuswahl();
if (auswahl.ShowDialog() == DialogResult.OK) maschine = Maschine.GetMaschine(auswahl.s, string.Empty);
//Der Inhalt der Maschine wird aus der DB View geladen.
fachliste = Fach.GetInhalt(maschine.MaschineID, maschine.Faecher);
//Das erste Fach in der fachliste ist der aktuelle Auftrag.
this.fach = fachliste[0]; //NEUPROGRAMMIERUNG EVENTUELL UNNÖTIG
//NEUPROGRAMMIERUNG AUFTRAG WIRD AUFGERUFEN UND BEI TRANSPORT WIRD FACH ERSTELLT
if (this.auftrag == null) this.auftrag = Auftrag.GetAuftrag(fachliste[0].AuftragID);
}
public FormAufleger(Screen[] screens, Benutzer person) : this()
{
this.screens = screens;
this.person = person;
this._monitor = new SPSDaten();
this.Tag = maschine;
//Je nach Maschine werden die richtigen Events erstellt.
if (maschine.MaschineID == 1)
{
_monitor.WS1Transport += Transport_ValueChanged;
_monitor.Presse1Leer += WS1_Value_Changed;
_monitor.Trockner1Beladen += WS1_Value_Changed;
_monitor.Trockner1Entladen += WS1_Value_Changed;
_monitor.TischSummaryWS1_print += TischSummary_print;
_monitor.BegleitzettelWS1_print += Begleitzettel_print;
} //Maschine 1
else
{
_monitor.WS2Transport += Transport_ValueChanged;
_monitor.Presse2Leer += WS2_Value_Changed;
_monitor.Trockner2Beladen += WS2_Value_Changed;
_monitor.Trockner2Entladen += WS2_Value_Changed;
_monitor.TischSummaryWS2_print += TischSummary_print;
_monitor.BegleitzettelWS2_print += Begleitzettel_print;
} //Maschine 2
// Timer für Wartezeit bis TextChanged eintritt.
timer = new System.Windows.Forms.Timer();
timer.Interval = 700; // 0,7 Sekunden
timer.Tick += Timer_Tick;
}
private void FormAufleger_Load(object sender, EventArgs e)
private async void FormAufleger_Load(object sender, EventArgs e)
{
this.Cursor = Cursors.WaitCursor;
Funktionen.HideControls(this.Controls);
this.SuspendLayout();
this.labelVersion.Text += Assembly.GetExecutingAssembly().GetName().Version;
//Wenn bei der Maschine ein Trockner kaputt ist wird die Fachanzahl um 1 reduziert.
if (maschine.TrocknerKaputt == true) maschine.Faecher--;
//Die Position und Größe der Labels wir hier berechnet.
int height = (this.Height / maschine.Faecher) - 1;
Point loc = new Point(this.Width / 2 - 400, 10);
//Die angezeigten Label werden erstellt zugeordnet und geholt. Je nach Maschine unterschiedlich viele.
for (int i = 1; i <= maschine.Faecher; i++)
try
{
Funktionen funk = new Funktionen();
this.Controls.AddRange(funk.GetFachLabels(i, maschine, height, loc, this.Width, "Aufleger"));
await GetAuftraege();
//Bei Maschine 1 wird das 4 Beladefach bereits an die Waschstraße übergeben.
if (maschine.MaschineID == 1 & i <= 3)
this.Invoke(new Action(() =>
{
foreach (Label lbl in this.Controls.OfType<Label>())
LoadPanel();
SortFlowLayoutPanels();
}));
}
finally
{
//Click auf den Kundennamen wird ein neuer Kunde also neuer Auftrag erstellt. (Alle Facheinstellungen möglich)
if (lbl.Name == $"Kunde {i}") lbl.MouseClick += Neuer_Kunde_MouseClick;
//Click auf Label Liefertag oder Wschprogramm wird nur das Fach bearbeitet. (Waschprogramm und Extras)
if (lbl.Name == $"Tag {i}" || lbl.Name == $"PR {i}") lbl.MouseClick += Fach_bearbeiten_MouseClick;
this.ResumeLayout(true);
this.Cursor = Cursors.Default;
this.textBoxScan.Focus();
}
}
private void LoadPanel()
{
this.Cursor = Cursors.WaitCursor;
this.SuspendLayout();
for (int i = 0; i < this.tLPAuftrag.RowCount; i++)
{
if(i == 0)
{
int index = 0;
foreach (var key in auftragliste.Keys.OrderBy(k => k))
{
Control ctr = this.tLPAuftrag.GetControlFromPosition(index, i);
ctr.Text = Funktionen.GetWochentagDeutsch(key.DayOfWeek);
ctr.Text += " (" + key.ToShortDateString() + ")"; // "13.02.2026"
index++;
}
}
//Bei Maschine 2 sind 5 Beladefächer verfügbar und das 5 Beladefach wird bereits an die Waschstraße übergeben.
if (maschine.MaschineID == 2 & i <= 4)
if(i == 1)
{
foreach (Label lbl in this.Controls.OfType<Label>())
// 1. Dictionary: Column-Index → FlowLayoutPanel
var flpDictionary = new Dictionary<int, FlowLayoutPanel>();
for (int column = 0; column < this.tLPAuftrag.ColumnCount; column++)
{
//Click auf den Kundennamen wird ein neuer Kunde also neuer Auftrag erstellt. (Alle Facheinstellungen möglich)
if (lbl.Name == $"Kunde {i}") lbl.MouseClick += Neuer_Kunde_MouseClick;
//Click auf Label Liefertag oder Wschprogramm wird nur das Fach bearbeitet. (Waschprogramm und Extras)
if (lbl.Name == $"Tag {i}" || lbl.Name == $"PR {i}") lbl.MouseClick += Fach_bearbeiten_MouseClick;
Control ctr = this.tLPAuftrag.GetControlFromPosition(column, i);
if (ctr is FlowLayoutPanel flp)
flpDictionary[column] = flp;
}
// 2. Dictionary: Column → Array aller UCAuftrag für diesen Tag
var ucArrays = new Dictionary<int, UCAuftrag[]>();
int col = 0;
foreach (List<Auftrag> liste in auftragliste.Values)
{
UCAuftrag[] alleUCA = new UCAuftrag[liste.Count];
int anzUCA = 0;
foreach (Auftrag auftrag in liste)
{
UCAuftrag uca = new UCAuftrag(auftrag);
uca.Tag = auftrag;
if (auftrag.Status == AuftragStatus.Aufgelegt)
{
this.auftrag = auftrag;
uca.BackColor = Color.YellowGreen;
}
else
uca.BackColor = Color.Silver;
uca.Size = new Size(flpDictionary[col].Width - 30, uca.Height);
alleUCA[anzUCA] = uca;
anzUCA++;
}
ucArrays[col] = alleUCA;
col++;
}
// 3. ATOMAR: Alle FLPs leeren + Arrays auf einmal hinzufügen
foreach (var kvp in flpDictionary)
{
if (ucArrays.TryGetValue(kvp.Key, out UCAuftrag[] ucArray))
{
kvp.Value.Controls.Clear();
kvp.Value.Controls.AddRange(ucArray); // EIN Paint-Event pro FLP!
}
}
}
if(i == 2)
{
foreach (FlowLayoutPanel flowpanel in this.tLPAuftrag.Controls.OfType<FlowLayoutPanel>())
{
int column = this.tLPAuftrag.GetColumn(flowpanel);
int container = 0;
foreach (UCAuftrag uca in flowpanel.Controls) container += int.Parse(uca.ContainerAnzahl);
Control ctr = this.tLPAuftrag.GetControlFromPosition(column, i);
ctr.Text = container.ToString();
}
}
}
} //Label für neuen Screen von Funktion holen.
Funktionen.ShowControls(this.Controls);
this.ResumeLayout(true);
this.Cursor = Cursors.Default;
}
/// <summary>
/// BEI UMBAU NICHT BENÖTIGT. KLICK AUF FACH ZUM KUNDENSCANNEN
/// </summary>
//private void Load_ComboBox()
//{
// List<Aufgabe> aufgabenlist1 = Aufgabe.GetList(3);
// this.comboBoxExtra.DataSource = aufgabenlist1;
// this.comboBoxExtra.DisplayMember = "Bezeichnung";
// this.comboBoxExtra.SelectedIndex = -1;
// this.comboBoxExtra.Text = "EXTRA";
// List<WProgramm> programmlist1 = WProgramm.GetList();
// this.comboBoxProgramm.DataSource = programmlist1;
// this.comboBoxProgramm.DisplayMember = "Nummer";
// this.comboBoxProgramm.SelectedIndex = 0;
//}
//private void GroupBox_Position()
//{
// groupBox1.Height = this.Height;
// groupBox1.Dock = DockStyle.Right;
//}
//private void Extra_comboBox_Leave(object sender, EventArgs e)
//{
// ComboBox cb = (ComboBox)sender;
// if (cb.SelectedItem != null && cb.SelectedItem.GetType() == typeof(Aufgabe))
// {
// Aufgabe aufg = (Aufgabe)cb.SelectedItem;
// if (aufg.Bezeichnung == "Extra Kunde")
// {
// FormNeuerAuftrag liste = new FormNeuerAuftrag(person, maschine, true, null);
// if (liste.ShowDialog() == DialogResult.OK)
// {
// if (this.fach == null) this.fach = new Fach();
// extrakunde = liste.kunde;
// this.fach.ExtraAuftragID = liste.fach.ExtraAuftragID;
// this.labelKndName.Text = extrakunde.Suchtext;
// }
// }
// }
//} //Wenn die ComboBox verlassen wird und "Extra Kunde" gewählt ist. Öffnet sich Kundenliste um Extra Kunde zu wählen.
//private void buttonAuftrag_Click(object sender, EventArgs e)
//{
// FormNeuerAuftrag nauftrag = new FormNeuerAuftrag(person, maschine, false, null);
// if (nauftrag.ShowDialog() == DialogResult.OK)
// {
// if (this.fach == null) this.fach = new Fach();
// this.fach = nauftrag.fach;
// if (Kunde.GetKunde(string.Empty, fach.KundeID, string.Empty).Suchtext == "?") this.labelKndName.Text = Auftrag.GetAuftrag(fach.AuftragID).ZusatzInfo;
// else this.labelKndName.Text = Kunde.GetKunde(string.Empty, fach.KundeID, string.Empty).Suchtext;
// this.buttonAltAuftrag.Enabled = false;
// this.buttonAltAuftrag.BackColor = Color.Gray;
// }
// while (groupBox1.Width < TextRenderer.MeasureText(labelKndName.Text, labelKndName.Font).Width)
// {
// labelKndName.Font = new Font(labelKndName.Font.FontFamily, labelKndName.Font.Size - 1);
// }
//}
//private void buttonAltAuftrag_Click(object sender, EventArgs e)
//{
// if (MessageBox.Show("Möchtest du den letzten erstellten Auftrag zurückholen?", "Frage", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
// {
// //Auftrag auft = Auftrag.GetLastAuftrag(person.BenutzerID);
// Fach fach = Fach.GetInhalt(maschine.MaschineID, 1)[0];
// Auftrag auft = Auftrag.GetAuftrag(fach.AuftragID);
// FormNeuerAuftrag neuerAuftrag = new FormNeuerAuftrag(person, maschine, false, auft);
// if (neuerAuftrag.ShowDialog() == DialogResult.OK)
// {
// this.fach = neuerAuftrag.fach;
// this.labelKndName.Text = Kunde.GetKunde(string.Empty, fach.KundeID, string.Empty).Suchtext;
// this.buttonAltAuftrag.Enabled = false;
// this.buttonAltAuftrag.BackColor = Color.Gray;
// }
// }
// while (groupBox1.Width < TextRenderer.MeasureText(labelKndName.Text, labelKndName.Font).Width)
// {
// labelKndName.Font = new Font(labelKndName.Font.FontFamily, labelKndName.Font.Size - 1);
// }
//}
//private void buttonExtraDel_Click(object sender, EventArgs e)
//{
// if (this.comboBoxExtra.SelectedIndex > -1) this.comboBoxExtra.SelectedIndex = -1;
//}
//private void comboBoxExtra_DropDownClosed(object sender, EventArgs e)
//{
// Extra_comboBox_Leave(sender, e);
//}
//private void comboBoxExtra_MouseClick(object sender, MouseEventArgs e)
//{
// comboBoxExtra.DroppedDown = true;
//}
//private void comboBoxExtra_MouseDoubleClick(object sender, MouseEventArgs e)
//{
// if (this.comboBoxExtra.SelectedIndex > -1) this.comboBoxExtra.SelectedIndex = -1;
//}
//private void comboBoxProgramm_MouseClick(object sender, MouseEventArgs e)
//{
// comboBoxProgramm.DroppedDown = true;
//}
//private void comboBoxExtra_SelectedIndexChanged(object sender, EventArgs e)
//{
// if (comboBoxExtra.SelectedIndex < 0)
// {
// this.buttonExtraDel.Visible = this.buttonExtraDel.Enabled = false;
// this.comboBoxExtra.Text = "EXTRA";
// }
// else
// {
// this.buttonExtraDel.Visible = this.buttonExtraDel.Enabled = true;
// }
//}
//
private void Call_Funktionen(Label lbl, Maschine maschine, SPSDaten _monitor)
private async Task GetAuftraege()
{
Funktionen.Label_Refresh(lbl, maschine, _monitor, "Aufleger");
var conn = new NpgsqlConnection(ConfigurationManager.AppSettings["ConnectionString"]); // Pro Task!
try
{
await conn.OpenAsync();
auftragliste = await Auftrag.GetAuftraegeProLiefertagAsync(conn, AuftragTyp.Standart, AuftragStatus.Aufgelegt);
}
//Nach einer Interaktion mit der SPS wird die Ansicht neu geladen.
private void Refresh_Form(Form form)
finally
{
maschine = (Maschine)this.Tag;
foreach (Label lbl in this.Controls.OfType<Label>())
{
Call_Funktionen(lbl, maschine, _monitor);
if (conn.State == ConnectionState.Open)
conn.Close();
conn.Dispose();
}
}
//Wird bei Click auf Label Tag oder Waschprogramm sofort aufgerufen. Bei Click auf Label Kunde erst nach dem Kundenscann.
private void Fach_Bearbeiten(Label btn)
{
FormFachBearbeiten formbearbeiten = new FormFachBearbeiten(btn, person, maschine);
if (formbearbeiten.ShowDialog() == DialogResult.OK)
{
this.fach = formbearbeiten.fach;
Refresh_Form(this);
}
}
//Mauslose Bedienung mit ShortCuts wird wahrscheinlich nicht benötigt da Touchscreen.
private void FormWaschstrasse_KeyDown(object sender, KeyEventArgs e)
private void FormAufleger_Shown(object sender, EventArgs e)
{
e.Handled = true;
e.SuppressKeyPress = true;
this.ResumeLayout(true);
this.Cursor = Cursors.Default;
switch (e.KeyCode)
this.textBoxScan.Focus();
}
protected override bool ProcessDialogKey(Keys keyData)
{
//TODO: Umbau in Switch.
// Escape [ESC] schließt den Screen.
if (Form.ModifierKeys == Keys.None && keyData == Keys.Escape)
{
case Keys.F1:
foreach (Label btn in this.Controls.OfType<Label>()) if (btn.Name == "Fach 1") Fach_Bearbeiten(btn);
break;
case Keys.F2:
foreach (Label btn in this.Controls.OfType<Label>()) if (btn.Name == "Fach 2") Fach_Bearbeiten(btn);
break;
case Keys.F3:
foreach (Label btn in this.Controls.OfType<Label>()) if (btn.Name == "Fach 3") Fach_Bearbeiten(btn);
break;
case Keys.F5:
//buttonAuftrag_Click(sender, e);
break;
case Keys.E:
break;
case Keys.P:
if (((Maschine)this.Tag).MaschineID == 1) _monitor.Presse1_Leer = true;
if (((Maschine)this.Tag).MaschineID == 2) _monitor.Presse2_Leer = true;//Statt SPS -> auslösen Presse Leer Event
break;
case Keys.H:
if (((Maschine)this.Tag).MaschineID == 1) _monitor.Trockner11_Beladen = true;//Statt SPS -> auslösen Trockner beladen Event
if (((Maschine)this.Tag).MaschineID == 2) _monitor.Trockner21_Beladen = true;
break;
case Keys.S:
if (((Maschine)this.Tag).MaschineID == 1) _monitor.Trockner12_Entladen = true;
if (((Maschine)this.Tag).MaschineID == 2) _monitor.Trockner22_Entladen = true;//Statt SPS -> auslösen Trockner entladen Event
break;
case Keys.W:
break;
case Keys.End:
this.Close();
break;
case Keys.R:
Cursor.Current = Cursors.WaitCursor;
this.SuspendLayout();
if (((Maschine)this.Tag).MaschineID == 1)
{
if (fach == null) MessageBox.Show($"Kein Kunde ausgewählt. Bitte JETZT erledigen.", "ACHTUNG", MessageBoxButtons.OK, MessageBoxIcon.Warning);
else _monitor.WS_1_Transport = true;
}
if (((Maschine)this.Tag).MaschineID == 2)
{
if (fach == null) MessageBox.Show($"Kein Kunde ausgewählt. Bitte JETZT erledigen.", "ACHTUNG", MessageBoxButtons.OK, MessageBoxIcon.Warning);
else _monitor.WS_2_Transport = true;
}
this.ResumeLayout();
Cursor.Current = Cursors.Default;
break;
case Keys.PageDown:
this.WindowState = FormWindowState.Minimized;
break;
case Keys.B:
if (((Maschine)this.Tag).MaschineID == 1) _monitor.Begleitzettel_WS1 = true;
if (((Maschine)this.Tag).MaschineID == 2) _monitor.Begleitzettel_WS2 = true;
break;
case Keys.X:
if (((Maschine)this.Tag).MaschineID == 1) _monitor.TischSummary_WS1 = true;
if (((Maschine)this.Tag).MaschineID == 2) _monitor.TischSummary_WS2 = true;
break;
default:
break;
return true;
}
} //SHORTCUTS FÜR MAUSLOSE BEDIENUNG ERKENNEN UND AUSFÜHREN
//Bei Click auf Label Kunde wird ein neuer Kunde bzw. Auftrag erstellt.
private void Neuer_Kunde_MouseClick(object sender, MouseEventArgs e)
{
Label label = (Label)sender;
this.fach = (Fach)label.Tag;
//WENN LABEL IST 1 FACH DANN WIRD NEUER AUFTRAG ERSTELLT SONST WIRD AUFTRAG BEARBEITET
if (!label.Name.Contains("1")) this.auftrag = Auftrag.GetAuftrag(this.fach.AuftragID);
else this.auftrag = null;
//FormNeuerAuftrag nauftrag = new FormNeuerAuftrag(person, maschine, false, this.auftrag, this.fach);
//if (nauftrag.ShowDialog() == DialogResult.OK)
//{
// this.auftrag = nauftrag.Auftrag;
// this.fach = nauftrag.fach;
// //this.fach.AuftragID = nauftrag.Auftrag.AuftragID;
// //this.fach.KundeID = nauftrag.Auftrag.KundeID;
// //this.fach.Lieferdatum = nauftrag.Auftrag.Liefertag;
// //this.fach.Liefertag = (Liefertag)nauftrag.Auftrag.Liefertag.DayOfWeek;
// //if (nauftrag.extraAuftrag == null) { this.fach.ExtraAuftragID = null; this.fach.ExtraKundeID = null; }
// //else { this.fach.ExtraAuftragID = nauftrag.extraAuftrag.AuftragID; this.fach.ExtraKundeID = nauftrag.extraAuftrag.KundeID; }
// //this.fach.Gewaschen = (DateTime)nauftrag.Auftrag.Erstellt;
// label.Tag = this.fach;
// Refresh_Form(this);
//}
}
private void Kunde_hinzufügen_MouseDoubleClick(object sender, MouseEventArgs e)
{
Label label = (Label)sender;
this.fach = (Fach)label.Tag;
//FormNeuerAuftrag nauftrag = new FormNeuerAuftrag(person, maschine, false, null, null);
//if (nauftrag.ShowDialog() == DialogResult.OK)
//{
// this.fach.AuftragID = nauftrag.Auftrag.AuftragID;
// this.fach.KundeID = nauftrag.Auftrag.KundeID;
// this.fach.Lieferdatum = nauftrag.Auftrag.Liefertag;
// this.fach.Liefertag = (Liefertag)nauftrag.Auftrag.Liefertag.DayOfWeek;
// label.Tag = this.fach;
// Fach_Bearbeiten(label);
//}
return base.ProcessDialogKey(keyData);
}
//Fach bearbeiten bei Click auf Label Tag oder Waschprogramm.
private void Fach_bearbeiten_MouseClick(object sender, MouseEventArgs e)
private void textBoxScan_TextChanged(object sender, EventArgs e)
{
// TextChanged tritt nur ein wenn x Sekunden keine Eingabe erfolgt. Logik befindet sich in Timer_Tick
timer.Stop(); // Alten Timer beenden
timer.Start(); // Neuen Timer starten
Label label = (Label)sender;
this.fach = (Fach)label.Tag;
}
private void Timer_Tick(object sender, EventArgs e)
{
this.Cursor = Cursors.WaitCursor;
timer.Stop(); // Timer stoppen
Kunde kunde;
string zusatz = string.Empty;
Fach_Bearbeiten(label);
if (string.IsNullOrEmpty(textBoxScan.Text)) { return; }
if (int.TryParse(textBoxScan.Text, out _)) kunde = Kunde.GetKunde(textBoxScan.Text, null, null);
else
{
if (textBoxScan.Text.Contains(","))
{
kunde = Kunde.GetKunde(textBoxScan.Text.Substring(0, textBoxScan.Text.IndexOf(',')), null, null);
zusatz = textBoxScan.Text.Substring(textBoxScan.Text.IndexOf(',') + 1);
}
else kunde = Kunde.GetKunde(null, null, textBoxScan.Text);
}
List<Auftrag> auftList = Auftrag.FindeAuftragVonKunde(kunde, zusatz);
if (auftList.Count == 0) { meldung.GetFehler(this, "Es konnte kein Auftrag zum eingescannten Kunden gefunden werden.\nBitte Informiere deinen Vorgesetzten."); return; }
/// <summary>
/// SPS-Steuerung
/// </summary>
private void Transport_ValueChanged(object sender, EventArgs e)
// Alten Auftrag Speichern (Status Gewaschen) wenn neuer Auftrag gefunden wurde.
if(auftrag != null)
{
this.SuspendLayout();
//while (_monitor.WS_1_Transport == true & _monitor.WS_2_Transport == true)
//{
//} //Warten bis erster Transport durchgeführt wurde.
this.fach.FachID = null;
if(_monitor.WS_1_Transport || _monitor.WS_2_Transport)
if (AuftragSpeichern() == false) return;
iswechsel = true;
}
if (auftList.Count == 1) auftrag = auftList[0];
if (auftList.Count > 1)
{
Maschine ms = (Maschine)this.Tag;
if (fach != null)
if (meldung.GetFrage(this, $"Es konnten mehrere Aufträge für den gescannten Kunden gefunden werden.\nIst auf der Containerkarte Auftrag 2 vermerkt?", false) == DialogResult.Yes)
{
fach.MaschineID = (int)((Maschine)this.Tag).MaschineID;
fach.Gewaschen = DateTime.Now;
if (fach.Save() == 1) fachliste = Fach.GetInhalt(ms.MaschineID, ms.Faecher);
auftrag = auftList.Find(a => a.ZusatzInfo.Contains("Auftrag 2"));
}
else
{
MessageBox.Show($"Kein Auftrag erstellt. LEERFACH wird eingegeben. Bitte in BB1 bearbeiten.");
} //WENN kein Kunde gewählt dann Fach mit KundeID 0.
Refresh_Form(this);
_monitor.WS_2_Transport = _monitor.WS_1_Transport = false;
fach.FachID = null;
fach.Extra = null;
fach.ExtraKundeID = null;
fach.ExtraAuftragID = null;
auftrag = auftList.Find(a => !a.ZusatzInfo.Contains("Auftrag 2"));
}
}
this.ResumeLayout(false);
} //Wenn sich SPSDaten Transport ändert wird Event ausgelöst. (Bis jetzt mit Button ausgelöst)
private void WS1_Value_Changed(object sender, EventArgs e)
SucheAuftrag();
this.Cursor = Cursors.Default;
}
private void SortFlowLayoutPanels()
{
Maschine maschine = (Maschine)this.Tag;
foreach (FlowLayoutPanel flp in this.tLPAuftrag.Controls.OfType<FlowLayoutPanel>())
{
if (flp.Controls.Count > 0)
{
var controls = flp.Controls.Cast<Control>()
.OrderBy(c => ((Auftrag)c.Tag).Fahrer) // oder c.Tag
.ToArray();
foreach (Label lbl in this.Controls.OfType<Label>())
flp.SuspendLayout();
for (int i = 0; i < controls.Length; i++)
{
if (_monitor.Presse1_Leer)
{
if (lbl.Name.Contains("14") || lbl.Name.Contains("15")) Call_Funktionen(lbl, maschine, _monitor);
} //SPS Steuerung hat Presse 1 entladen und auf true geschaltet.
if (_monitor.Trockner11_Beladen || _monitor.Trockner12_Beladen)
{
if (lbl.Name.Contains("15") || lbl.Name.Contains("16") || lbl.Name.Contains("17")) Call_Funktionen(lbl, maschine, _monitor);
} //SPS Steuerung hat Trockner beladen und auf true geschaltet.
if (_monitor.Trockner11_Entladen || _monitor.Trockner12_Entladen)
{
if (lbl.Name.Contains("18") || lbl.Name.Contains("16") || lbl.Name.Contains("17")) Call_Funktionen(lbl, maschine, _monitor);
} //SPS Steuerung hat Trockner entladen und auf true geschaltet.
flp.Controls.SetChildIndex(controls[i], i);
}
//ausschlager.Form_Refresh(Maschine.GetMaschine(1, string.Empty), _monitor);
}
private void WS2_Value_Changed(object sender, EventArgs e)
{
Maschine maschine = (Maschine)this.Tag;
foreach (Label lbl in this.Controls.OfType<Label>())
{
if (_monitor.Presse2_Leer)
{
if (lbl.Name.Contains("17") || lbl.Name.Contains("18")) Call_Funktionen(lbl, maschine, _monitor);
} //SPS Steuerung hat Presse 2 entladen und auf true geschaltet.
if (_monitor.Trockner21_Beladen || _monitor.Trockner22_Beladen)
{
if (lbl.Name.Contains("18") || lbl.Name.Contains("19") || lbl.Name.Contains("20")) Call_Funktionen(lbl, maschine, _monitor);
} //SPS Steuerung hat Trockner beladen und auf true geschaltet.
if (_monitor.Trockner21_Entladen || _monitor.Trockner22_Entladen)
{
if (lbl.Name.Contains("21") || lbl.Name.Contains("19") || lbl.Name.Contains("20")) Call_Funktionen(lbl, maschine, _monitor);
} //SPS Steuerung hat Trockner entladen und auf true geschalltet.
}
ausschlager.Form_Refresh(Maschine.GetMaschine(2, string.Empty), _monitor);
}
private void Begleitzettel_print(object sender, EventArgs e)
{
PrintDialog dialog = new PrintDialog();
//foreach (string printer in PrinterSettings.InstalledPrinters) if (printer.Contains(ConfigurationManager.AppSettings["PrinterName"])) dialog.PrinterSettings.PrinterName = printer;
//dialog.PrinterSettings.Copies = 10;
if (dialog.ShowDialog() == DialogResult.OK)
{
PrintDocument printDocument = new PrintDocument();
printDocument.PrintPage += new PrintPageEventHandler(PrintDocument_PrintPage_Begleitzettel);
printDocument.PrinterSettings = dialog.PrinterSettings;
printDocument.Print();
}
//STATUS VON AUFTRAG AUF AUSGESCHLAGE ÄNDERN??
}
private void PrintDocument_PrintPage_Begleitzettel(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
auftrag = Auftrag.GetAuftrag(fachliste.Last().AuftragID);
Image etikett = Funktionen.Etikett_Entwurf(this, auftrag, false);
//etikett.RotateFlip(RotateFlipType.Rotate180FlipNone);
e.Graphics.DrawImage(etikett, e.PageBounds);
}
private void PrintDocument_PrintPage_Tischsummary(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Image etikett = Funktionen.Etikett_Entwurf(this, auftragsummary, false);
//etikett.RotateFlip(RotateFlipType.Rotate180FlipNone);
e.Graphics.DrawImage(etikett, e.PageBounds);
}
private void TischSummary_print(object sender, EventArgs e)
{
List<int> auftragliste = Fach.GetTischSummary(maschine.MaschineID);
foreach (int auf in auftragliste)
{
auftragsummary = Auftrag.GetAuftrag(auf);
PrintDialog dialog = new PrintDialog();
if (dialog.ShowDialog() == DialogResult.OK)
{
PrintDocument printDocument = new PrintDocument();
printDocument.PrintPage += new PrintPageEventHandler(PrintDocument_PrintPage_Tischsummary);
printDocument.PrinterSettings = dialog.PrinterSettings;
printDocument.Print();
flp.ResumeLayout();
}
}
Fach fach = fachliste.Last();
fach.TischSummary = true;
fach.Save();
}
private void SucheAuftrag()
{
this.textBoxScan.TextChanged -= textBoxScan_TextChanged;
foreach (FlowLayoutPanel flp in this.tLPAuftrag.Controls.OfType<FlowLayoutPanel>())
{
foreach (UCAuftrag uca in flp.Controls)
{
if (((Auftrag)uca.Tag).AuftragID == this.auftrag.AuftragID)
{
// Wenn neuer Auftrag gefunden dann Status Aufgelegt und UserControl Grüner Hintergrund.
this.auftrag.Status = AuftragStatus.Aufgelegt;
this.auftrag.Save();
uca.Tag = this.auftrag;
if (this.auftrag.Status == AuftragStatus.Aufgelegt) uca.BackColor = Color.YellowGreen;
}
}
}
if (iswechsel) { FormAufleger_Load(this, null); iswechsel = false; }
this.textBoxScan.Clear();
this.textBoxScan.Focus();
this.textBoxScan.TextChanged += textBoxScan_TextChanged;
}
private bool AuftragSpeichern()
{
auftrag.Status = AuftragStatus.Gewaschen;
if (auftrag.Save()[0] == 1) auftrag = null;
else { meldung.Speicherfehler(); return false; }
return true;
}
private void FormAufleger_FormClosing(object sender, FormClosingEventArgs e)
{
//if (auftrag == null) return;
//if (AuftragSpeichern() == false) e.Cancel = true;
}
private void buttonCloseForm_Click(object sender, EventArgs e)
{
if (meldung.GetFrage(this, "Möchtest du das Programm wirklich schließen?", false) == DialogResult.No) return;
Application.Exit();
}
}
}
//CHANGES: Form für Aufleger soweit fertig.
//CHANGES: Kontrolle ob mehrere Aufträge vorhanden fertig.
//CHANGES: Status anpassen fertig.
//CHANGES: Programm wird mit Button geschlossen. (Sicherheitsabfrage ob wirklich gewollt wird gemacht.)
//CHANGES: Hintergrundfarbe wird jetzt immer richtig zugewiesen.

View File

@ -110,8 +110,8 @@ namespace Deckungsbeitrag
}
int width = this.listViewDavor.Width;
this.listViewDavor = Funktionen.Columns_Resize(this.listViewDavor);
this.listViewDanach = Funktionen.Columns_Resize(this.listViewDanach);
this.listViewDavor = Funktionen.Columns_Resize(this.listViewDavor, null).lv;
this.listViewDanach = Funktionen.Columns_Resize(this.listViewDanach, null).lv;
this.listViewDanach.Width = this.listViewDavor.Width = width;
}
else listViewDanach.Visible = listViewDavor.Visible = label3.Visible = label4.Visible = false;
@ -138,7 +138,7 @@ namespace Deckungsbeitrag
}
Funktionen.Columns_Resize(this.listViewArtikel);
this.listViewArtikel = Funktionen.Columns_Resize(this.listViewArtikel, null).lv;
}
//WENN STATUS VORBEREITET BUTTON FERTIG ENABLEN

View File

@ -42,7 +42,6 @@
this.objectListViewBenutzer.CellEditActivation = BrightIdeasSoftware.ObjectListView.CellEditActivateMode.DoubleClick;
this.objectListViewBenutzer.CellEditUseWholeCell = false;
this.objectListViewBenutzer.Cursor = System.Windows.Forms.Cursors.Default;
this.objectListViewBenutzer.Dock = System.Windows.Forms.DockStyle.Top;
this.objectListViewBenutzer.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.objectListViewBenutzer.FullRowSelect = true;
this.objectListViewBenutzer.GridLines = true;
@ -61,6 +60,7 @@
this.objectListViewBenutzer.UseFiltering = true;
this.objectListViewBenutzer.View = System.Windows.Forms.View.Details;
this.objectListViewBenutzer.CellEditFinished += new BrightIdeasSoftware.CellEditEventHandler(this.objectListViewBenutzer_CellEditFinished);
this.objectListViewBenutzer.CellEditStarting += new BrightIdeasSoftware.CellEditEventHandler(this.objectListViewBenutzer_CellEditStarting);
this.objectListViewBenutzer.SubItemChecking += new System.EventHandler<BrightIdeasSoftware.SubItemCheckingEventArgs>(this.objectListViewBenutzer_SubItemChecking);
this.objectListViewBenutzer.SelectedIndexChanged += new System.EventHandler(this.objectListViewBenutzer_SelectedIndexChanged);
//
@ -133,6 +133,7 @@
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "BENUTZERVERWALTUNG";
this.Load += new System.EventHandler(this.FormBenutzerVW_Load);
this.Shown += new System.EventHandler(this.FormBenutzerVW_Shown);
((System.ComponentModel.ISupportInitialize)(this.objectListViewBenutzer)).EndInit();
this.ResumeLayout(false);

View File

@ -18,19 +18,28 @@ namespace Deckungsbeitrag
{
public Meldungen meldung = new Meldungen();
public Benutzer user;
private List<Benutzer> fahrerliste;
public FormBenutzerVW()
{
InitializeComponent();
//Load_ListView();
}
public FormBenutzerVW(List<Benutzer> fahrerliste) : this()
{
this.fahrerliste = fahrerliste;
}
private void FormBenutzerVW_Load(object sender, EventArgs e)
{
List<object> list = new List<object>();
List<Benutzer> list = new List<Benutzer>();
try
{
list = new List<object>(Benutzer.GetList());
if (this.fahrerliste.Count > 0) list = this.fahrerliste;
else list = new List<Benutzer>(Benutzer.GetList());
Load_OLV(list);
this.Width = this.objectListViewBenutzer.Width + 10;
}
catch (Exception ex)
{
@ -40,7 +49,7 @@ namespace Deckungsbeitrag
}
private void Load_OLV(List<object> alist)
private void Load_OLV(List<Benutzer> alist)
{
Generator.GenerateColumns(this.objectListViewBenutzer, typeof(Benutzer), true);
this.objectListViewBenutzer.SetObjects(alist);
@ -55,7 +64,8 @@ namespace Deckungsbeitrag
Funktionen.Columns_Resize(this.objectListViewBenutzer);
this.objectListViewBenutzer = Funktionen.Columns_Resize(null, this.objectListViewBenutzer).olv;
}
@ -96,5 +106,20 @@ namespace Deckungsbeitrag
{
}
private void objectListViewBenutzer_CellEditStarting(object sender, CellEditEventArgs e)
{
ObjectListView olv = (ObjectListView)sender;
user = e.RowObject as Benutzer;
if (user == null) return;
else { this.DialogResult = DialogResult.OK; this.Close(); }
}
private void FormBenutzerVW_Shown(object sender, EventArgs e)
{
this.CenterToScreen();
}
}
}

View File

@ -28,28 +28,11 @@
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend();
System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series();
System.Windows.Forms.DataVisualization.Charting.Title title1 = new System.Windows.Forms.DataVisualization.Charting.Title();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormExpedit));
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
System.Windows.Forms.DataVisualization.Charting.Legend legend2 = new System.Windows.Forms.DataVisualization.Charting.Legend();
System.Windows.Forms.DataVisualization.Charting.Series series2 = new System.Windows.Forms.DataVisualization.Charting.Series();
System.Windows.Forms.DataVisualization.Charting.Title title2 = new System.Windows.Forms.DataVisualization.Charting.Title();
this.label10 = new System.Windows.Forms.Label();
this.buttonDrucken = new System.Windows.Forms.Button();
this.groupBoxEtikett = new System.Windows.Forms.GroupBox();
this.textBoxCont = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.cBNoCont = new System.Windows.Forms.CheckBox();
this.rBDI = new System.Windows.Forms.RadioButton();
this.rBMI = new System.Windows.Forms.RadioButton();
this.rBDO = new System.Windows.Forms.RadioButton();
this.rBFR = new System.Windows.Forms.RadioButton();
this.rBMO = new System.Windows.Forms.RadioButton();
this.dTPLiefertag = new System.Windows.Forms.DateTimePicker();
this.label1 = new System.Windows.Forms.Label();
this.pictureBoxMinus = new System.Windows.Forms.PictureBox();
this.pictureBoxPlus = new System.Windows.Forms.PictureBox();
this.pictureBoxEntwurf = new System.Windows.Forms.PictureBox();
this.buttonKundeNr = new System.Windows.Forms.Button();
this.buttonNeuerAuftrag = new System.Windows.Forms.Button();
this.dGArtikel = new System.Windows.Forms.DataGridView();
this.KundeArtikelID = new System.Windows.Forms.DataGridViewTextBoxColumn();
@ -94,10 +77,7 @@
this.tableLayoutPanelInfo = new System.Windows.Forms.TableLayoutPanel();
this.labelAnmerkung = new System.Windows.Forms.Label();
this.labelAufgabe = new System.Windows.Forms.Label();
this.groupBoxEtikett.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxMinus)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxPlus)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxEntwurf)).BeginInit();
this.buttonTourenListe = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.dGArtikel)).BeginInit();
this.tabPageSonder.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.objectListViewSonder)).BeginInit();
@ -113,298 +93,6 @@
this.tableLayoutPanelInfo.SuspendLayout();
this.SuspendLayout();
//
// label10
//
this.label10.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.label10.AutoSize = true;
this.label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label10.Location = new System.Drawing.Point(10, 196);
this.label10.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(157, 16);
this.label10.TabIndex = 12;
this.label10.Text = "Anzahl Container/Pakete:";
//
// buttonDrucken
//
this.buttonDrucken.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonDrucken.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.buttonDrucken.FlatAppearance.BorderSize = 0;
this.buttonDrucken.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonDrucken.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonDrucken.Location = new System.Drawing.Point(9, 362);
this.buttonDrucken.Margin = new System.Windows.Forms.Padding(2);
this.buttonDrucken.Name = "buttonDrucken";
this.buttonDrucken.Size = new System.Drawing.Size(286, 41);
this.buttonDrucken.TabIndex = 13;
this.buttonDrucken.Text = "Etikett-Drucken";
this.buttonDrucken.UseVisualStyleBackColor = false;
this.buttonDrucken.Click += new System.EventHandler(this.buttonDrucken_Click);
//
// groupBoxEtikett
//
this.groupBoxEtikett.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.groupBoxEtikett.Controls.Add(this.textBoxCont);
this.groupBoxEtikett.Controls.Add(this.label5);
this.groupBoxEtikett.Controls.Add(this.cBNoCont);
this.groupBoxEtikett.Controls.Add(this.rBDI);
this.groupBoxEtikett.Controls.Add(this.rBMI);
this.groupBoxEtikett.Controls.Add(this.rBDO);
this.groupBoxEtikett.Controls.Add(this.rBFR);
this.groupBoxEtikett.Controls.Add(this.rBMO);
this.groupBoxEtikett.Controls.Add(this.dTPLiefertag);
this.groupBoxEtikett.Controls.Add(this.label1);
this.groupBoxEtikett.Controls.Add(this.pictureBoxMinus);
this.groupBoxEtikett.Controls.Add(this.pictureBoxPlus);
this.groupBoxEtikett.Controls.Add(this.buttonDrucken);
this.groupBoxEtikett.Controls.Add(this.pictureBoxEntwurf);
this.groupBoxEtikett.Controls.Add(this.label10);
this.groupBoxEtikett.Controls.Add(this.buttonKundeNr);
this.groupBoxEtikett.ForeColor = System.Drawing.Color.White;
this.groupBoxEtikett.Location = new System.Drawing.Point(668, 650);
this.groupBoxEtikett.Margin = new System.Windows.Forms.Padding(2);
this.groupBoxEtikett.Name = "groupBoxEtikett";
this.groupBoxEtikett.Padding = new System.Windows.Forms.Padding(2);
this.groupBoxEtikett.Size = new System.Drawing.Size(302, 412);
this.groupBoxEtikett.TabIndex = 2;
this.groupBoxEtikett.TabStop = false;
this.groupBoxEtikett.Text = "Etikett-Druck";
this.groupBoxEtikett.Visible = false;
//
// textBoxCont
//
this.textBoxCont.Font = new System.Drawing.Font("Microsoft Sans Serif", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxCont.Location = new System.Drawing.Point(218, 181);
this.textBoxCont.MaxLength = 2;
this.textBoxCont.Name = "textBoxCont";
this.textBoxCont.Size = new System.Drawing.Size(39, 40);
this.textBoxCont.TabIndex = 45;
this.textBoxCont.Text = "0";
this.textBoxCont.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.textBoxCont.TextChanged += new System.EventHandler(this.textBoxCont_TextChanged);
//
// label5
//
this.label5.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label5.Location = new System.Drawing.Point(136, 318);
this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(138, 16);
this.label5.TabIndex = 44;
this.label5.Text = "Container ausblenden";
//
// cBNoCont
//
this.cBNoCont.AutoSize = true;
this.cBNoCont.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
this.cBNoCont.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cBNoCont.Location = new System.Drawing.Point(138, 317);
this.cBNoCont.Name = "cBNoCont";
this.cBNoCont.Size = new System.Drawing.Size(157, 20);
this.cBNoCont.TabIndex = 42;
this.cBNoCont.Text = "Container ausblenden";
this.cBNoCont.UseVisualStyleBackColor = true;
this.cBNoCont.CheckedChanged += new System.EventHandler(this.cBNoCont_CheckedChanged);
this.cBNoCont.Click += new System.EventHandler(this.cBNoCont_Click);
//
// rBDI
//
this.rBDI.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.rBDI.Appearance = System.Windows.Forms.Appearance.Button;
this.rBDI.BackColor = System.Drawing.SystemColors.ButtonFace;
this.rBDI.Enabled = false;
this.rBDI.FlatAppearance.BorderSize = 0;
this.rBDI.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.rBDI.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rBDI.ForeColor = System.Drawing.Color.Black;
this.rBDI.Location = new System.Drawing.Point(72, 89);
this.rBDI.Margin = new System.Windows.Forms.Padding(2);
this.rBDI.Name = "rBDI";
this.rBDI.Size = new System.Drawing.Size(45, 45);
this.rBDI.TabIndex = 38;
this.rBDI.TabStop = true;
this.rBDI.Text = "DI";
this.rBDI.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.rBDI.UseVisualStyleBackColor = false;
this.rBDI.CheckedChanged += new System.EventHandler(this.Liefertag_rB_Checked);
this.rBDI.Click += new System.EventHandler(this.Liefertag_rB_Click);
//
// rBMI
//
this.rBMI.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.rBMI.Appearance = System.Windows.Forms.Appearance.Button;
this.rBMI.BackColor = System.Drawing.SystemColors.ButtonFace;
this.rBMI.Enabled = false;
this.rBMI.FlatAppearance.BorderSize = 0;
this.rBMI.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.rBMI.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rBMI.ForeColor = System.Drawing.Color.Black;
this.rBMI.Location = new System.Drawing.Point(131, 89);
this.rBMI.Margin = new System.Windows.Forms.Padding(2);
this.rBMI.Name = "rBMI";
this.rBMI.Size = new System.Drawing.Size(45, 45);
this.rBMI.TabIndex = 39;
this.rBMI.TabStop = true;
this.rBMI.Text = "MI";
this.rBMI.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.rBMI.UseVisualStyleBackColor = false;
this.rBMI.CheckedChanged += new System.EventHandler(this.Liefertag_rB_Checked);
this.rBMI.Click += new System.EventHandler(this.Liefertag_rB_Click);
//
// rBDO
//
this.rBDO.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.rBDO.Appearance = System.Windows.Forms.Appearance.Button;
this.rBDO.BackColor = System.Drawing.SystemColors.ButtonFace;
this.rBDO.Enabled = false;
this.rBDO.FlatAppearance.BorderSize = 0;
this.rBDO.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.rBDO.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rBDO.ForeColor = System.Drawing.Color.Black;
this.rBDO.Location = new System.Drawing.Point(188, 89);
this.rBDO.Margin = new System.Windows.Forms.Padding(2);
this.rBDO.Name = "rBDO";
this.rBDO.Size = new System.Drawing.Size(45, 45);
this.rBDO.TabIndex = 40;
this.rBDO.TabStop = true;
this.rBDO.Text = "DO";
this.rBDO.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.rBDO.UseVisualStyleBackColor = false;
this.rBDO.CheckedChanged += new System.EventHandler(this.Liefertag_rB_Checked);
this.rBDO.Click += new System.EventHandler(this.Liefertag_rB_Click);
//
// rBFR
//
this.rBFR.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.rBFR.Appearance = System.Windows.Forms.Appearance.Button;
this.rBFR.BackColor = System.Drawing.SystemColors.ButtonFace;
this.rBFR.Enabled = false;
this.rBFR.FlatAppearance.BorderSize = 0;
this.rBFR.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.rBFR.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rBFR.ForeColor = System.Drawing.Color.Black;
this.rBFR.Location = new System.Drawing.Point(245, 89);
this.rBFR.Margin = new System.Windows.Forms.Padding(2);
this.rBFR.Name = "rBFR";
this.rBFR.Size = new System.Drawing.Size(45, 45);
this.rBFR.TabIndex = 41;
this.rBFR.TabStop = true;
this.rBFR.Text = "FR";
this.rBFR.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.rBFR.UseVisualStyleBackColor = false;
this.rBFR.CheckedChanged += new System.EventHandler(this.Liefertag_rB_Checked);
this.rBFR.Click += new System.EventHandler(this.Liefertag_rB_Click);
//
// rBMO
//
this.rBMO.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.rBMO.Appearance = System.Windows.Forms.Appearance.Button;
this.rBMO.BackColor = System.Drawing.SystemColors.ButtonFace;
this.rBMO.Enabled = false;
this.rBMO.FlatAppearance.BorderSize = 0;
this.rBMO.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.rBMO.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rBMO.ForeColor = System.Drawing.Color.Black;
this.rBMO.Location = new System.Drawing.Point(13, 89);
this.rBMO.Margin = new System.Windows.Forms.Padding(2);
this.rBMO.Name = "rBMO";
this.rBMO.Size = new System.Drawing.Size(45, 45);
this.rBMO.TabIndex = 37;
this.rBMO.TabStop = true;
this.rBMO.Tag = "";
this.rBMO.Text = "MO";
this.rBMO.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.rBMO.UseVisualStyleBackColor = false;
this.rBMO.CheckedChanged += new System.EventHandler(this.Liefertag_rB_Checked);
this.rBMO.Click += new System.EventHandler(this.Liefertag_rB_Click);
//
// dTPLiefertag
//
this.dTPLiefertag.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.dTPLiefertag.CalendarFont = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.dTPLiefertag.Cursor = System.Windows.Forms.Cursors.Default;
this.dTPLiefertag.CustomFormat = "";
this.dTPLiefertag.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.dTPLiefertag.Format = System.Windows.Forms.DateTimePickerFormat.Short;
this.dTPLiefertag.Location = new System.Drawing.Point(163, 143);
this.dTPLiefertag.Name = "dTPLiefertag";
this.dTPLiefertag.Size = new System.Drawing.Size(132, 26);
this.dTPLiefertag.TabIndex = 36;
this.dTPLiefertag.ValueChanged += new System.EventHandler(this.dTPLiefertag_ValueChanged);
this.dTPLiefertag.Leave += new System.EventHandler(this.dTPLiefertag_Leave);
//
// label1
//
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(14, 17);
this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(79, 20);
this.label1.TabIndex = 34;
this.label1.Text = "Kunde Nr:";
//
// pictureBoxMinus
//
this.pictureBoxMinus.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.pictureBoxMinus.BackColor = System.Drawing.Color.Gray;
this.pictureBoxMinus.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxMinus.Image")));
this.pictureBoxMinus.Location = new System.Drawing.Point(181, 181);
this.pictureBoxMinus.Margin = new System.Windows.Forms.Padding(2);
this.pictureBoxMinus.Name = "pictureBoxMinus";
this.pictureBoxMinus.Size = new System.Drawing.Size(38, 40);
this.pictureBoxMinus.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pictureBoxMinus.TabIndex = 33;
this.pictureBoxMinus.TabStop = false;
this.pictureBoxMinus.Click += new System.EventHandler(this.Container_Click);
//
// pictureBoxPlus
//
this.pictureBoxPlus.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.pictureBoxPlus.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.pictureBoxPlus.Enabled = false;
this.pictureBoxPlus.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxPlus.Image")));
this.pictureBoxPlus.Location = new System.Drawing.Point(257, 181);
this.pictureBoxPlus.Margin = new System.Windows.Forms.Padding(2);
this.pictureBoxPlus.Name = "pictureBoxPlus";
this.pictureBoxPlus.Size = new System.Drawing.Size(38, 40);
this.pictureBoxPlus.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pictureBoxPlus.TabIndex = 32;
this.pictureBoxPlus.TabStop = false;
this.pictureBoxPlus.Click += new System.EventHandler(this.Container_Click);
//
// pictureBoxEntwurf
//
this.pictureBoxEntwurf.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.pictureBoxEntwurf.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pictureBoxEntwurf.Location = new System.Drawing.Point(9, 232);
this.pictureBoxEntwurf.Margin = new System.Windows.Forms.Padding(2);
this.pictureBoxEntwurf.Name = "pictureBoxEntwurf";
this.pictureBoxEntwurf.Size = new System.Drawing.Size(286, 80);
this.pictureBoxEntwurf.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pictureBoxEntwurf.TabIndex = 15;
this.pictureBoxEntwurf.TabStop = false;
//
// buttonKundeNr
//
this.buttonKundeNr.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.buttonKundeNr.BackColor = System.Drawing.Color.White;
this.buttonKundeNr.Enabled = false;
this.buttonKundeNr.FlatAppearance.BorderSize = 0;
this.buttonKundeNr.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonKundeNr.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonKundeNr.ForeColor = System.Drawing.Color.Black;
this.buttonKundeNr.Location = new System.Drawing.Point(9, 37);
this.buttonKundeNr.Margin = new System.Windows.Forms.Padding(2);
this.buttonKundeNr.Name = "buttonKundeNr";
this.buttonKundeNr.Size = new System.Drawing.Size(286, 41);
this.buttonKundeNr.TabIndex = 35;
this.buttonKundeNr.Text = "Auftrag in der Liste wählen";
this.buttonKundeNr.UseVisualStyleBackColor = false;
//
// buttonNeuerAuftrag
//
this.buttonNeuerAuftrag.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
@ -966,26 +654,26 @@
| System.Windows.Forms.AnchorStyles.Right)));
this.chartFehlmenge.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.chartFehlmenge.BorderSkin.PageColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
chartArea2.InnerPlotPosition.Auto = false;
chartArea2.InnerPlotPosition.Height = 92.2266F;
chartArea2.InnerPlotPosition.Width = 76.05405F;
chartArea2.InnerPlotPosition.X = 20.54054F;
chartArea2.Name = "ChartArea1";
this.chartFehlmenge.ChartAreas.Add(chartArea2);
legend2.Name = "Legend1";
this.chartFehlmenge.Legends.Add(legend2);
chartArea1.InnerPlotPosition.Auto = false;
chartArea1.InnerPlotPosition.Height = 92.2266F;
chartArea1.InnerPlotPosition.Width = 76.05405F;
chartArea1.InnerPlotPosition.X = 20.54054F;
chartArea1.Name = "ChartArea1";
this.chartFehlmenge.ChartAreas.Add(chartArea1);
legend1.Name = "Legend1";
this.chartFehlmenge.Legends.Add(legend1);
this.chartFehlmenge.Location = new System.Drawing.Point(908, 12);
this.chartFehlmenge.Name = "chartFehlmenge";
series2.ChartArea = "ChartArea1";
series2.Legend = "Legend1";
series2.Name = "Series1";
this.chartFehlmenge.Series.Add(series2);
series1.ChartArea = "ChartArea1";
series1.Legend = "Legend1";
series1.Name = "Series1";
this.chartFehlmenge.Series.Add(series1);
this.chartFehlmenge.Size = new System.Drawing.Size(301, 434);
this.chartFehlmenge.TabIndex = 2;
this.chartFehlmenge.Text = "chart1";
title2.Name = "Title1";
title2.Text = "Hallo Test";
this.chartFehlmenge.Titles.Add(title2);
title1.Name = "Title1";
title1.Text = "Hallo Test";
this.chartFehlmenge.Titles.Add(title1);
this.chartFehlmenge.Visible = false;
//
// groupBoxKndInfo
@ -1039,11 +727,30 @@
this.labelAufgabe.TabIndex = 1;
this.labelAufgabe.Text = "label3";
//
// buttonTourenListe
//
this.buttonTourenListe.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.buttonTourenListe.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.buttonTourenListe.BackColor = System.Drawing.Color.PaleVioletRed;
this.buttonTourenListe.FlatAppearance.BorderSize = 0;
this.buttonTourenListe.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonTourenListe.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonTourenListe.ForeColor = System.Drawing.Color.Black;
this.buttonTourenListe.Location = new System.Drawing.Point(413, 649);
this.buttonTourenListe.Margin = new System.Windows.Forms.Padding(2);
this.buttonTourenListe.Name = "buttonTourenListe";
this.buttonTourenListe.Size = new System.Drawing.Size(200, 41);
this.buttonTourenListe.TabIndex = 66;
this.buttonTourenListe.Text = "Tourenliste Drucken";
this.buttonTourenListe.UseVisualStyleBackColor = false;
this.buttonTourenListe.Click += new System.EventHandler(this.buttonTourenListe_Click);
//
// FormExpedit
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.ClientSize = new System.Drawing.Size(1221, 703);
this.Controls.Add(this.buttonTourenListe);
this.Controls.Add(this.groupBoxKndInfo);
this.Controls.Add(this.chartFehlmenge);
this.Controls.Add(this.buttonReklamation);
@ -1053,7 +760,6 @@
this.Controls.Add(this.buttonNeuerAuftrag);
this.Controls.Add(this.buttonSWS_Drucken);
this.Controls.Add(this.tabControlAuftragList);
this.Controls.Add(this.groupBoxEtikett);
this.Controls.Add(this.dGArtikel);
this.Controls.Add(this.groupBoxStatistik);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
@ -1069,11 +775,6 @@
this.Load += new System.EventHandler(this.FormExpedit_Load);
this.Shown += new System.EventHandler(this.FormExpedit_Shown);
this.Resize += new System.EventHandler(this.FormExpedit_Resize);
this.groupBoxEtikett.ResumeLayout(false);
this.groupBoxEtikett.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxMinus)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxPlus)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxEntwurf)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dGArtikel)).EndInit();
this.tabPageSonder.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.objectListViewSonder)).EndInit();
@ -1094,26 +795,9 @@
}
#endregion
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Button buttonDrucken;
private System.Windows.Forms.PictureBox pictureBoxEntwurf;
private System.Windows.Forms.GroupBox groupBoxEtikett;
private System.Windows.Forms.PictureBox pictureBoxMinus;
private System.Windows.Forms.PictureBox pictureBoxPlus;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button buttonSWS_Drucken;
private System.Windows.Forms.Button buttonKundeNr;
private System.Windows.Forms.DateTimePicker dTPLiefertag;
private System.Windows.Forms.RadioButton rBDI;
private System.Windows.Forms.RadioButton rBMI;
private System.Windows.Forms.RadioButton rBDO;
private System.Windows.Forms.RadioButton rBFR;
private System.Windows.Forms.RadioButton rBMO;
private System.Windows.Forms.CheckBox cBNoCont;
private System.Windows.Forms.Button buttonNeuerAuftrag;
private System.Windows.Forms.DataGridView dGArtikel;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox textBoxCont;
private System.Windows.Forms.TabPage tabPageSonder;
private BrightIdeasSoftware.ObjectListView objectListViewSonder;
private System.Windows.Forms.TabPage tabPageAll;
@ -1155,5 +839,6 @@
private System.Windows.Forms.TableLayoutPanel tableLayoutPanelInfo;
private System.Windows.Forms.Label labelAnmerkung;
private System.Windows.Forms.Label labelAufgabe;
private System.Windows.Forms.Button buttonTourenListe;
}
}

View File

@ -11,6 +11,7 @@ using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Net.Sockets;
using System.Reflection;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Resolvers;
@ -87,6 +88,7 @@ namespace Deckungsbeitrag
this.Cursor = Cursors.WaitCursor;
this.Visible = false;
this.SuspendLayout();
this.Text += " Version: " + Assembly.GetExecutingAssembly().GetName().Version;
_settings.Load();
@ -124,17 +126,6 @@ namespace Deckungsbeitrag
string.Format("Laden fehlgeschlagen: {0}", ex.Message))));
}
});
//TODO: Wenn GroupBox nicht notwendig, dann löschen.
//Load_Etikett_GroupBox();
this.groupBoxEtikett.Visible = false;
if (letzterLiefertag != null) this.dTPLiefertag.Value = (DateTime)letzterLiefertag;
else this.dTPLiefertag.Value = DateTime.Today.AddDays(1);
if (this.kunde != null) Funktionen.Get_RadioButtons(this.groupBoxEtikett);
}
@ -146,22 +137,22 @@ namespace Deckungsbeitrag
switch (this.benutzer.Rolle)
{
case BenutzerRolle.Verwaltung:
this.buttonDrucken.Enabled = this.buttonNeuerAuftrag.Enabled = this.buttonSWS_Drucken.Enabled = false;
this.groupBoxEtikett.Enabled = false;
this.buttonNeuerAuftrag.Enabled = this.buttonSWS_Drucken.Enabled = false;
GetUnvisibleButtonColumn();
break;
case BenutzerRolle.Fahrer:
this.buttonDrucken.Enabled = this.buttonNeuerAuftrag.Enabled = this.buttonSWS_Drucken.Enabled = false;
this.groupBoxEtikett.Enabled = false;
this.buttonNeuerAuftrag.Enabled = this.buttonSWS_Drucken.Enabled = false;
GetUnvisibleButtonColumn();
break;
case BenutzerRolle.Admin:
break;
case BenutzerRolle.Waschstrasse:
this.buttonDrucken.Enabled = this.buttonNeuerAuftrag.Enabled = this.buttonSWS_Drucken.Enabled = false;
this.groupBoxEtikett.Enabled = false;
this.buttonNeuerAuftrag.Enabled = this.buttonSWS_Drucken.Enabled = false;
GetUnvisibleButtonColumn();
break;
@ -170,15 +161,15 @@ namespace Deckungsbeitrag
case BenutzerRolle.Expedit:
break;
case BenutzerRolle.Frottee:
this.buttonDrucken.Visible = this.buttonNeuerAuftrag.Visible = this.buttonSWS_Drucken.Visible = false;
this.buttonNeuerAuftrag.Visible = this.buttonSWS_Drucken.Visible = false;
this.buttonStats.Visible = this.buttonEinstellung.Visible = this.buttonReklamation.Visible = false; // buttonReklamation einblenden wenn Frottee-Expedit auch Reklamation bearbeitet.
this.groupBoxEtikett.Enabled = false;
GetUnvisibleButtonColumn();
break;
case BenutzerRolle.Flach:
this.buttonDrucken.Enabled = this.buttonNeuerAuftrag.Enabled = this.buttonSWS_Drucken.Enabled = false;
this.groupBoxEtikett.Enabled = false;
this.buttonNeuerAuftrag.Enabled = this.buttonSWS_Drucken.Enabled = false;
// WENN Rolle Frottee (Expedit Frottee) dann ButtonClick deaktiviert. Nur Expedit kann abschließen
GetUnvisibleButtonColumn();
@ -361,97 +352,7 @@ namespace Deckungsbeitrag
//}
}
#region Container-Events
/// <summary>
/// Containeranzahl bearbeiten und Funktion wenn Text geändert wird.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Container_Click(object sender, EventArgs e)
{
PictureBox pb = (PictureBox)sender;
int cont = int.Parse(this.textBoxCont.Text);
if (pb.Name.ToString().Contains("Plus")) { cont++; }
if (pb.Name.ToString().Contains("Minus"))
{
if (cont > 0)
{
cont--;
}
//else { pb.BackColor = Color.Gray; pb.Enabled = false; }
}
this.textBoxCont.Text = cont.ToString();
//Load_Etikett_GroupBox();
}
private void textBoxCont_TextChanged(object sender, EventArgs e)
{
if(int.TryParse(this.textBoxCont.Text, out int result))
{
if (this.auftrag != null) { neuecontclean = result; altecontclean = this.auftrag.ContainerClean; }
if (result == 0) { this.pictureBoxMinus.Enabled = false; this.pictureBoxMinus.BackColor = Color.Gray; }
else { this.pictureBoxMinus.Enabled = true; this.pictureBoxMinus.BackColor = Color.Red; }
if (!nocontclicked)
{
if (result >= 10) { nocont = true; cBNoCont.Checked = true; }
else { nocont = false; cBNoCont.Checked = false; }
}
Load_Etikett_GroupBox();
}
else
{
meldung.Eingabefehler();
this.textBoxCont.Text = "0";
this.textBoxCont.Focus();
}
}
private void cBNoCont_CheckedChanged(object sender, EventArgs e)
{
if (cBNoCont.Checked) nocont = true;
else nocont = false;
if (kunde != null) Load_Etikett_GroupBox();
}
private void cBNoCont_Click(object sender, EventArgs e)
{
if (cBNoCont.Checked) nocont = nocontclicked = true;
else { nocont = false; nocontclicked = true; }
}
#endregion
#region Button_Click-Events
private void buttonDrucken_Click(object sender, EventArgs e)
{
if (this.auftrag.AufgabeID != null)
{
if (meldung.GetAchtung(this, $"Bei dem ausgewählten Auftrag ist die Aufgabe {Aufgabe.GetAufgabe(null, auftrag.AufgabeID).Bezeichnung} zu erledigen. Hast du die Aufgabe erledigt? ", false) == DialogResult.No) return;
}
if (this.textBoxCont.Text != "0")
{
//AUFTRAG UPDATE
this.auftrag.ContainerClean = int.Parse(this.textBoxCont.Text);
letzterLiefertag = this.auftrag.Liefertag = this.dTPLiefertag.Value;
//ETIKETT DRUCKEN
DialogResult result = Funktionen.Etikett_Drucken(auftrag, nocont);
if (result == DialogResult.OK)
{
this.auftrag.Gedruckt = this.auftrag.Erstellt = DateTime.Now;
this.auftrag.GedrucktVon = this.auftrag.ErstelltVon = (int)this.benutzer.BenutzerID;
this.auftrag.Status = AuftragStatus.Vorbereitet;
this.auftrag.Save();
this.auftrag = null;
//FormExpedit_Load(this, e);
this.dGArtikel.DataSource = null;
this.dGArtikel.Rows.Clear();
}
}
}
private async void buttonNeuerAuftrag_Click(object sender, EventArgs e)
{
FormNeuerAuftrag neuerAuftrag = new FormNeuerAuftrag(benutzer, this.letzterLiefertag, AuftragTyp.Standart);
@ -720,7 +621,7 @@ namespace Deckungsbeitrag
olv.Sort();
// ========== SPALTEN ANPASSEN ==========
Funktionen.Columns_Resize(olv); // Externe Funktion für responsive Spaltenbreiten
olv = Funktionen.Columns_Resize(null, olv).olv; // Externe Funktion für responsive Spaltenbreiten
olv.FilterMenuBuildStrategy = new MeinFilterMenu();
// ========== AUFRÄUMEN & AKTIVIEREN ==========
@ -787,10 +688,11 @@ namespace Deckungsbeitrag
// Chart wird eingeblendet statt Gridview. NUR wenn isttest = true.
var chartliste = await KundeArtikel.LoadArtikelDatenAsync(kunde);
if (chartliste.Count > 0)
{
if (isttest) { this.chartFehlmenge = Funktionen.Load_FehlmengeChart(chartliste, chartFehlmenge); this.chartFehlmenge.Visible = true; }
else Load_Gridview(this.auftrag);
if (this.chartFehlmenge.Visible)
{
}
this.groupBoxKndInfo.Visible = true;
if (!string.IsNullOrWhiteSpace(this.kunde.Anmerkung)) { labelAnmerkung.Visible = true; labelAnmerkung.Text = this.kunde.Anmerkung; }
else labelAnmerkung.Visible = false;
@ -802,13 +704,10 @@ namespace Deckungsbeitrag
}
else labelAufgabe.Visible = false;
}
}
else
{
fehlermeldung.AuftragFertig();
}
foreach (Control ctr in this.groupBoxEtikett.Controls) if (ctr.Enabled == false) ctr.Enabled = true;
this.buttonKundeNr.Enabled = false;
olv.Focus();
@ -988,7 +887,7 @@ namespace Deckungsbeitrag
if (this.auftrag.ContainerClean != 0)
{
//AUFTRAG UPDATE
letzterLiefertag = this.auftrag.Liefertag = this.dTPLiefertag.Value;
letzterLiefertag = this.auftrag.Liefertag;
}
else
@ -1131,47 +1030,6 @@ namespace Deckungsbeitrag
this.dGArtikel.Visible = false;
}
#region Liefertag-Events
/// <summary>
/// Liefertag wird ermittelt und in Day of Week umgerechnet. RadioButtons werden Checked oder Unchecked und Click wird registriert.
/// </summary>
private void dTPLiefertag_Leave(object sender, EventArgs e)
{
foreach (RadioButton liefertag in this.groupBoxEtikett.Controls.OfType<RadioButton>())
{
if (liefertag.Name.Contains(((Liefertag)dTPLiefertag.Value.DayOfWeek).ToString())) liefertag.Checked = true;
}
}
private void Liefertag_rB_Checked(object sender, EventArgs e)
{
foreach (RadioButton radioButton in this.groupBoxEtikett.Controls.OfType<RadioButton>())
{
if (radioButton.Checked) radioButton.BackColor = Color.Yellow;
else { radioButton.BackColor = Color.Gray; }
}
}
private void Liefertag_rB_Click(object sender, EventArgs e)
{
RadioButton radioButton = (RadioButton)sender;
foreach (Liefertag tag in Enum.GetValues(typeof(Liefertag)))
{
if (radioButton.Name.Contains(tag.ToString())) this.dTPLiefertag.Value = Berechnungen.GetNextWeekday((int)tag);
}
this.dTPLiefertag.Enabled = false;
}
private void dTPLiefertag_ValueChanged(object sender, EventArgs e)
{
dTPLiefertag_Leave(sender, e);
if (this.auftrag != null)
{
this.auftrag.Liefertag = this.dTPLiefertag.Value;
this.auftrag.Save();
Load_Etikett_GroupBox();
this.objectListViewAuftrag.RefreshObject(this.auftrag);
}
}
#endregion
/// <summary>
/// Wenn das dritte Tab gewählt ist, wird die GroupBox Etikett ausgeblendet. 3.Tab wäre für vergangene Aufträge - weshalb kein Etikett mehr notwendig.
@ -1181,8 +1039,6 @@ namespace Deckungsbeitrag
private void tabControlAuftragList_Selected(object sender, TabControlEventArgs e)
{
TabControl tabControl = (TabControl)sender;
if(tabControl.SelectedIndex < 3) { this.groupBoxEtikett.Visible = false; }
if(tabControl.SelectedIndex == 3) { this.groupBoxEtikett.Visible = false; }
}
/// <summary>
@ -1403,6 +1259,19 @@ namespace Deckungsbeitrag
this.Cursor = Cursors.Default;
WindowState = FormWindowState.Maximized;
}
private void buttonTourenListe_Click(object sender, EventArgs e)
{
List<Benutzer> fahrerliste = Benutzer.GetFahrerList();
Benutzer fahrer = new Benutzer();
FormBenutzerVW benutzerVW = new FormBenutzerVW(fahrerliste);
if (benutzerVW.ShowDialog() == DialogResult.OK)
{
fahrer = benutzerVW.user;
List<Auftrag> auftragliste = Auftrag.GetTourenListe(fahrer);
if (fahrer != null) Funktionen.TourenListe_Drucken(auftragliste, fahrer, this);
}
}
}
}
//INSTALL-REMINDER: Spalte Abteilungen in Auftrag muss in Wirl_DB_17012023 eingefügt werden.

View File

@ -117,81 +117,37 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="KundeArtikelID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="KundeID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ArtikelNR.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ArtikelName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Stand.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Fehlmenge.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Korrektur.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="StandBearbeitet.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="FehlmengeBearbeitet.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="KorrekturBearbeitet.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pictureBoxMinus.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAADJJREFUOE9jYBgF1Affv393IITR9aCAb9++/SeE0fWgAJACJycnnJg+BhDC6HpG
wUADABXZimqO3LMmAAAAAElFTkSuQmCC
</value>
</data>
<data name="pictureBoxPlus.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAFZJREFUOE+9kEEKACEMxHxb//+eXruwbGEwHhwKK+QSaqSuqloTIFwgXCBcKL6T
maW0xzyEBCLixQroqxpo9vljoC/u/BcYrTD+RA0o1wEXCBcIFwiXB07Nzd/k/DvRAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="KundeArtikelID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="KundeID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ArtikelNR.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ArtikelName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Stand.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Fehlmenge.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Korrektur.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="StandBearbeitet.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="FehlmengeBearbeitet.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="KorrekturBearbeitet.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="KundeArtikelID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="KundeID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ArtikelNR.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ArtikelName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Stand.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Fehlmenge.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Korrektur.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="StandBearbeitet.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="FehlmengeBearbeitet.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="KorrekturBearbeitet.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAAAAAAAEAIAC5FQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAEAAAABAAgGAAAAXHKoZgAAAAFv

View File

@ -8,6 +8,7 @@ using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI.WebControls.WebParts;
@ -51,7 +52,7 @@ namespace Deckungsbeitrag
private void FormFehlmengeCount_Load(object sender, EventArgs e)
{
videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
this.Text = " Version: " + Assembly.GetExecutingAssembly().GetName().Version;
//Kunde wird durch Scan oder Handeingabe Ausgewählt.
//this.kunde = Funktionen.KundenAuswahl();
@ -100,7 +101,7 @@ namespace Deckungsbeitrag
this.artikelListe = KundeArtikel.GetList(kunde.KundeID.ToString());
this.textBoxScann.Text = this.kunde.KundeNummer;
this.textBoxScann.Enabled = false;
if (userid.Contains("reklamation") || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Expedit)) Reklamation_GroupBox();
if (userid.Contains("reklamation") || (this.benutzer != null & this.benutzer.Rolle == BenutzerRolle.Expedit)) Reklamation_GroupBox();
else GroupBox_Load();
if (kunde.Aufgabe != null)
@ -115,7 +116,7 @@ namespace Deckungsbeitrag
// AbteilungsStatus Begonnen wird hier gesetzt.
if (userid.Contains("kleinteile")) { auftrag.Abteilungen |= AbteilungsStatus.KleinteileBegonnen; auftrag.Save(); }
if (userid.Contains("grossteile")) { auftrag.Abteilungen |= AbteilungsStatus.GrossteileBegonnen; auftrag.Save(); }
if (userid.Contains("frottee")) { auftrag.Abteilungen |= AbteilungsStatus.FrotteeBegonnen; auftrag.Save(); }
if (userid.Contains("frottee") || userid.Contains("spannleintuch")) { auftrag.Abteilungen |= AbteilungsStatus.FrotteeBegonnen; auftrag.Save(); }
}
@ -370,7 +371,7 @@ namespace Deckungsbeitrag
}
}
if (userid.Contains("reklamation") || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Expedit))
if (userid.Contains("reklamation") || (this.benutzer != null & this.benutzer.Rolle == BenutzerRolle.Expedit))
{
DialogResult result = meldung.GetFrage(this, "Möchtest du eine weitere Reklamation eingeben?", false);
switch (result)
@ -387,7 +388,7 @@ namespace Deckungsbeitrag
else
{
// AbteilungsStatus für Kleinteile und Großteile wird hier gesetzt.
if (!userid.Contains("frottee"))
if (!userid.Contains("frottee") & !userid.Contains("spannleintuch"))
{
if (userid.Contains("kleinteile")) { auftrag.Abteilungen |= AbteilungsStatus.KleinteileBeendet; auftrag.Save(); }
if (userid.Contains("grossteile")) { auftrag.Abteilungen |= AbteilungsStatus.GrossteileBeendet; auftrag.Save(); }
@ -406,7 +407,7 @@ namespace Deckungsbeitrag
if (userid.Contains("reklamation") || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Expedit)) auftragsliste = null;
if (userid.Contains("reklamation") || (this.benutzer != null & this.benutzer.Rolle == BenutzerRolle.Expedit)) auftragsliste = null;
else auftragsliste = new List<object>(Auftrag.GetFinishingList());
FormListe liste = new FormListe(auftragsliste, 0);

View File

@ -275,7 +275,7 @@ namespace Deckungsbeitrag
{
timer.Stop(); // Timer stoppen
if(string.IsNullOrEmpty(textBoxKunde.Text)) { return; }
if (string.IsNullOrEmpty(textBoxKunde.Text)) { return; }
// Wenn kein Fragezeichen am Anfang wird Kundenliste erstellt.
if (!textBoxKunde.Text.StartsWith("?"))
@ -294,6 +294,7 @@ namespace Deckungsbeitrag
}
}
private void listViewKunde_MouseClick(object sender, MouseEventArgs e)
{
ListViewItem item = this.listViewKunde.GetItemAt(e.X, e.Y);

View File

@ -47,6 +47,35 @@ namespace Deckungsbeitrag
this.tSBTourenplanung = new System.Windows.Forms.ToolStripButton();
this.toolStripBeenden = new System.Windows.Forms.ToolStripButton();
this.panelMain = new System.Windows.Forms.Panel();
this.groupBoxContAnz = new System.Windows.Forms.GroupBox();
this.tLPContAnz = new System.Windows.Forms.TableLayoutPanel();
this.label14 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.labelContGes = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.labelContZahl5 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.labelZeit52 = new System.Windows.Forms.Label();
this.labelZeit42 = new System.Windows.Forms.Label();
this.labelZeit32 = new System.Windows.Forms.Label();
this.labelZeit22 = new System.Windows.Forms.Label();
this.labelZeit12 = new System.Windows.Forms.Label();
this.labelZeit5 = new System.Windows.Forms.Label();
this.labelZeit4 = new System.Windows.Forms.Label();
this.labelZeit3 = new System.Windows.Forms.Label();
this.labelZeit2 = new System.Windows.Forms.Label();
this.labelZeit1 = new System.Windows.Forms.Label();
this.labelContZahl4 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.labelContZahl3 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.labelContZahl2 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.labelContZahl1 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.groupBoxSaison = new System.Windows.Forms.GroupBox();
this.comboBoxSaison = new System.Windows.Forms.ComboBox();
this.buttonNeuerStand = new System.Windows.Forms.Button();
@ -92,6 +121,8 @@ namespace Deckungsbeitrag
this.labelScannTest = new System.Windows.Forms.Label();
this.toolStripMenu.SuspendLayout();
this.panelMain.SuspendLayout();
this.groupBoxContAnz.SuspendLayout();
this.tLPContAnz.SuspendLayout();
this.groupBoxSaison.SuspendLayout();
this.groupBoxStatistik.SuspendLayout();
this.tableLayoutPanelStatistik.SuspendLayout();
@ -427,6 +458,7 @@ namespace Deckungsbeitrag
//
this.panelMain.AllowDrop = true;
this.panelMain.BackColor = System.Drawing.Color.White;
this.panelMain.Controls.Add(this.groupBoxContAnz);
this.panelMain.Controls.Add(this.groupBoxSaison);
this.panelMain.Controls.Add(this.buttonNeuerStand);
this.panelMain.Controls.Add(this.buttonNeueInventur);
@ -443,20 +475,432 @@ namespace Deckungsbeitrag
this.panelMain.Name = "panelMain";
this.panelMain.Size = new System.Drawing.Size(938, 689);
this.panelMain.TabIndex = 5;
this.panelMain.DragDrop += new System.Windows.Forms.DragEventHandler(this.panelMain_DragDrop);
this.panelMain.DragEnter += new System.Windows.Forms.DragEventHandler(this.panelMain_DragEnter);
this.panelMain.Paint += new System.Windows.Forms.PaintEventHandler(this.panelMain_Paint);
//
// groupBoxContAnz
//
this.groupBoxContAnz.AutoSize = true;
this.groupBoxContAnz.Controls.Add(this.tLPContAnz);
this.groupBoxContAnz.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.groupBoxContAnz.Location = new System.Drawing.Point(324, 57);
this.groupBoxContAnz.Name = "groupBoxContAnz";
this.groupBoxContAnz.Size = new System.Drawing.Size(305, 248);
this.groupBoxContAnz.TabIndex = 62;
this.groupBoxContAnz.TabStop = false;
this.groupBoxContAnz.Text = "CONT. ANZAHL / WASCHZEIT";
this.groupBoxContAnz.GiveFeedback += new System.Windows.Forms.GiveFeedbackEventHandler(this.groupBox_GiveFeedback);
this.groupBoxContAnz.Paint += new System.Windows.Forms.PaintEventHandler(this.groupBox_Paint);
//
// tLPContAnz
//
this.tLPContAnz.AutoSize = true;
this.tLPContAnz.ColumnCount = 4;
this.tLPContAnz.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tLPContAnz.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tLPContAnz.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tLPContAnz.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tLPContAnz.Controls.Add(this.label14, 3, 6);
this.tLPContAnz.Controls.Add(this.label13, 2, 6);
this.tLPContAnz.Controls.Add(this.labelContGes, 1, 6);
this.tLPContAnz.Controls.Add(this.label9, 0, 6);
this.tLPContAnz.Controls.Add(this.label5, 3, 5);
this.tLPContAnz.Controls.Add(this.label4, 2, 5);
this.tLPContAnz.Controls.Add(this.labelContZahl5, 1, 5);
this.tLPContAnz.Controls.Add(this.label2, 0, 5);
this.tLPContAnz.Controls.Add(this.labelZeit52, 3, 4);
this.tLPContAnz.Controls.Add(this.labelZeit42, 3, 3);
this.tLPContAnz.Controls.Add(this.labelZeit32, 3, 2);
this.tLPContAnz.Controls.Add(this.labelZeit22, 3, 1);
this.tLPContAnz.Controls.Add(this.labelZeit12, 3, 0);
this.tLPContAnz.Controls.Add(this.labelZeit5, 2, 4);
this.tLPContAnz.Controls.Add(this.labelZeit4, 2, 3);
this.tLPContAnz.Controls.Add(this.labelZeit3, 2, 2);
this.tLPContAnz.Controls.Add(this.labelZeit2, 2, 1);
this.tLPContAnz.Controls.Add(this.labelZeit1, 2, 0);
this.tLPContAnz.Controls.Add(this.labelContZahl4, 1, 4);
this.tLPContAnz.Controls.Add(this.label1, 0, 4);
this.tLPContAnz.Controls.Add(this.labelContZahl3, 1, 3);
this.tLPContAnz.Controls.Add(this.label6, 0, 3);
this.tLPContAnz.Controls.Add(this.labelContZahl2, 1, 2);
this.tLPContAnz.Controls.Add(this.label8, 0, 2);
this.tLPContAnz.Controls.Add(this.labelContZahl1, 1, 1);
this.tLPContAnz.Controls.Add(this.label10, 0, 1);
this.tLPContAnz.Controls.Add(this.label12, 0, 0);
this.tLPContAnz.Location = new System.Drawing.Point(3, 19);
this.tLPContAnz.Name = "tLPContAnz";
this.tLPContAnz.RowCount = 7;
this.tLPContAnz.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tLPContAnz.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tLPContAnz.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tLPContAnz.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tLPContAnz.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tLPContAnz.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tLPContAnz.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tLPContAnz.Size = new System.Drawing.Size(296, 210);
this.tLPContAnz.TabIndex = 0;
//
// label14
//
this.label14.AutoSize = true;
this.label14.Dock = System.Windows.Forms.DockStyle.Right;
this.label14.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label14.ForeColor = System.Drawing.SystemColors.ControlText;
this.label14.Location = new System.Drawing.Point(249, 180);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(44, 30);
this.label14.TabIndex = 29;
this.label14.Text = "0,00";
this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label13
//
this.label13.AutoSize = true;
this.label13.Dock = System.Windows.Forms.DockStyle.Right;
this.label13.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label13.ForeColor = System.Drawing.SystemColors.ControlText;
this.label13.Location = new System.Drawing.Point(199, 180);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(44, 30);
this.label13.TabIndex = 28;
this.label13.Text = "0,00";
this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelContGes
//
this.labelContGes.AutoSize = true;
this.labelContGes.Dock = System.Windows.Forms.DockStyle.Left;
this.labelContGes.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelContGes.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelContGes.Location = new System.Drawing.Point(134, 180);
this.labelContGes.Name = "labelContGes";
this.labelContGes.Size = new System.Drawing.Size(59, 30);
this.labelContGes.TabIndex = 27;
this.labelContGes.Text = "Zahl 5";
this.labelContGes.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label9
//
this.label9.AutoSize = true;
this.label9.Dock = System.Windows.Forms.DockStyle.Left;
this.label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label9.ForeColor = System.Drawing.SystemColors.ControlText;
this.label9.Location = new System.Drawing.Point(3, 180);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(72, 30);
this.label9.TabIndex = 25;
this.label9.Text = "Gesamt";
this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Dock = System.Windows.Forms.DockStyle.Right;
this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label5.ForeColor = System.Drawing.SystemColors.ControlText;
this.label5.Location = new System.Drawing.Point(253, 150);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(40, 30);
this.label5.TabIndex = 23;
this.label5.Text = "0,00";
this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Dock = System.Windows.Forms.DockStyle.Right;
this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label4.ForeColor = System.Drawing.SystemColors.ControlText;
this.label4.Location = new System.Drawing.Point(203, 150);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(40, 30);
this.label4.TabIndex = 22;
this.label4.Text = "0,00";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelContZahl5
//
this.labelContZahl5.AutoSize = true;
this.labelContZahl5.Dock = System.Windows.Forms.DockStyle.Left;
this.labelContZahl5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelContZahl5.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelContZahl5.Location = new System.Drawing.Point(134, 150);
this.labelContZahl5.Name = "labelContZahl5";
this.labelContZahl5.Size = new System.Drawing.Size(53, 30);
this.labelContZahl5.TabIndex = 21;
this.labelContZahl5.Text = "Zahl 5";
this.labelContZahl5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Dock = System.Windows.Forms.DockStyle.Left;
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.ForeColor = System.Drawing.SystemColors.ControlText;
this.label2.Location = new System.Drawing.Point(3, 150);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(90, 30);
this.label2.TabIndex = 20;
this.label2.Text = "Cont Rest";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// labelZeit52
//
this.labelZeit52.AutoSize = true;
this.labelZeit52.Dock = System.Windows.Forms.DockStyle.Right;
this.labelZeit52.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZeit52.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZeit52.Location = new System.Drawing.Point(253, 120);
this.labelZeit52.Name = "labelZeit52";
this.labelZeit52.Size = new System.Drawing.Size(40, 30);
this.labelZeit52.TabIndex = 19;
this.labelZeit52.Text = "0,00";
this.labelZeit52.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelZeit42
//
this.labelZeit42.AutoSize = true;
this.labelZeit42.Dock = System.Windows.Forms.DockStyle.Right;
this.labelZeit42.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZeit42.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZeit42.Location = new System.Drawing.Point(253, 90);
this.labelZeit42.Name = "labelZeit42";
this.labelZeit42.Size = new System.Drawing.Size(40, 30);
this.labelZeit42.TabIndex = 18;
this.labelZeit42.Text = "0,00";
this.labelZeit42.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelZeit32
//
this.labelZeit32.AutoSize = true;
this.labelZeit32.Dock = System.Windows.Forms.DockStyle.Right;
this.labelZeit32.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZeit32.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZeit32.Location = new System.Drawing.Point(253, 60);
this.labelZeit32.Name = "labelZeit32";
this.labelZeit32.Size = new System.Drawing.Size(40, 30);
this.labelZeit32.TabIndex = 17;
this.labelZeit32.Text = "0,00";
this.labelZeit32.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelZeit22
//
this.labelZeit22.AutoSize = true;
this.labelZeit22.Dock = System.Windows.Forms.DockStyle.Right;
this.labelZeit22.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZeit22.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZeit22.Location = new System.Drawing.Point(253, 30);
this.labelZeit22.Name = "labelZeit22";
this.labelZeit22.Size = new System.Drawing.Size(40, 30);
this.labelZeit22.TabIndex = 16;
this.labelZeit22.Text = "0,00";
this.labelZeit22.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelZeit12
//
this.labelZeit12.AutoSize = true;
this.labelZeit12.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelZeit12.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZeit12.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZeit12.Location = new System.Drawing.Point(249, 0);
this.labelZeit12.Name = "labelZeit12";
this.labelZeit12.Size = new System.Drawing.Size(44, 30);
this.labelZeit12.TabIndex = 15;
this.labelZeit12.Text = "2";
this.labelZeit12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelZeit5
//
this.labelZeit5.AutoSize = true;
this.labelZeit5.Dock = System.Windows.Forms.DockStyle.Right;
this.labelZeit5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZeit5.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZeit5.Location = new System.Drawing.Point(203, 120);
this.labelZeit5.Name = "labelZeit5";
this.labelZeit5.Size = new System.Drawing.Size(40, 30);
this.labelZeit5.TabIndex = 14;
this.labelZeit5.Text = "0,00";
this.labelZeit5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelZeit4
//
this.labelZeit4.AutoSize = true;
this.labelZeit4.Dock = System.Windows.Forms.DockStyle.Right;
this.labelZeit4.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZeit4.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZeit4.Location = new System.Drawing.Point(203, 90);
this.labelZeit4.Name = "labelZeit4";
this.labelZeit4.Size = new System.Drawing.Size(40, 30);
this.labelZeit4.TabIndex = 13;
this.labelZeit4.Text = "0,00";
this.labelZeit4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelZeit3
//
this.labelZeit3.AutoSize = true;
this.labelZeit3.Dock = System.Windows.Forms.DockStyle.Right;
this.labelZeit3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZeit3.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZeit3.Location = new System.Drawing.Point(203, 60);
this.labelZeit3.Name = "labelZeit3";
this.labelZeit3.Size = new System.Drawing.Size(40, 30);
this.labelZeit3.TabIndex = 12;
this.labelZeit3.Text = "0,00";
this.labelZeit3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelZeit2
//
this.labelZeit2.AutoSize = true;
this.labelZeit2.Dock = System.Windows.Forms.DockStyle.Right;
this.labelZeit2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZeit2.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZeit2.Location = new System.Drawing.Point(203, 30);
this.labelZeit2.Name = "labelZeit2";
this.labelZeit2.Size = new System.Drawing.Size(40, 30);
this.labelZeit2.TabIndex = 11;
this.labelZeit2.Text = "0,00";
this.labelZeit2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelZeit1
//
this.labelZeit1.AutoSize = true;
this.labelZeit1.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelZeit1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZeit1.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZeit1.Location = new System.Drawing.Point(199, 0);
this.labelZeit1.Name = "labelZeit1";
this.labelZeit1.Size = new System.Drawing.Size(44, 30);
this.labelZeit1.TabIndex = 10;
this.labelZeit1.Text = "1";
this.labelZeit1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// labelContZahl4
//
this.labelContZahl4.AutoSize = true;
this.labelContZahl4.Dock = System.Windows.Forms.DockStyle.Left;
this.labelContZahl4.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelContZahl4.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelContZahl4.Location = new System.Drawing.Point(134, 120);
this.labelContZahl4.Name = "labelContZahl4";
this.labelContZahl4.Size = new System.Drawing.Size(53, 30);
this.labelContZahl4.TabIndex = 9;
this.labelContZahl4.Text = "Zahl 5";
this.labelContZahl4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Dock = System.Windows.Forms.DockStyle.Left;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.ForeColor = System.Drawing.SystemColors.ControlText;
this.label1.Location = new System.Drawing.Point(3, 120);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(118, 30);
this.label1.TabIndex = 8;
this.label1.Text = "Cont heute+3";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// labelContZahl3
//
this.labelContZahl3.AutoSize = true;
this.labelContZahl3.Dock = System.Windows.Forms.DockStyle.Left;
this.labelContZahl3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelContZahl3.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelContZahl3.Location = new System.Drawing.Point(134, 90);
this.labelContZahl3.Name = "labelContZahl3";
this.labelContZahl3.Size = new System.Drawing.Size(53, 30);
this.labelContZahl3.TabIndex = 7;
this.labelContZahl3.Text = "Zahl 4";
this.labelContZahl3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Dock = System.Windows.Forms.DockStyle.Left;
this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.ForeColor = System.Drawing.SystemColors.ControlText;
this.label6.Location = new System.Drawing.Point(3, 90);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(118, 30);
this.label6.TabIndex = 6;
this.label6.Text = "Cont heute+2";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// labelContZahl2
//
this.labelContZahl2.AutoSize = true;
this.labelContZahl2.Dock = System.Windows.Forms.DockStyle.Left;
this.labelContZahl2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelContZahl2.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelContZahl2.Location = new System.Drawing.Point(134, 60);
this.labelContZahl2.Name = "labelContZahl2";
this.labelContZahl2.Size = new System.Drawing.Size(53, 30);
this.labelContZahl2.TabIndex = 5;
this.labelContZahl2.Text = "Zahl 3";
this.labelContZahl2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label8
//
this.label8.AutoSize = true;
this.label8.Dock = System.Windows.Forms.DockStyle.Left;
this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label8.ForeColor = System.Drawing.SystemColors.ControlText;
this.label8.Location = new System.Drawing.Point(3, 60);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(118, 30);
this.label8.TabIndex = 4;
this.label8.Text = "Cont heute+1";
this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// labelContZahl1
//
this.labelContZahl1.AutoSize = true;
this.labelContZahl1.Dock = System.Windows.Forms.DockStyle.Left;
this.labelContZahl1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelContZahl1.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelContZahl1.Location = new System.Drawing.Point(134, 30);
this.labelContZahl1.Name = "labelContZahl1";
this.labelContZahl1.Size = new System.Drawing.Size(53, 30);
this.labelContZahl1.TabIndex = 3;
this.labelContZahl1.Text = "Zahl 2";
this.labelContZahl1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label10
//
this.label10.AutoSize = true;
this.label10.Dock = System.Windows.Forms.DockStyle.Left;
this.label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label10.ForeColor = System.Drawing.SystemColors.ControlText;
this.label10.Location = new System.Drawing.Point(3, 30);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(98, 30);
this.label10.TabIndex = 2;
this.label10.Text = "Cont heute";
this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label12
//
this.label12.AutoSize = true;
this.label12.Dock = System.Windows.Forms.DockStyle.Left;
this.label12.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label12.ForeColor = System.Drawing.SystemColors.ControlText;
this.label12.Location = new System.Drawing.Point(3, 0);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(125, 30);
this.label12.TabIndex = 0;
this.label12.Text = "Waschstraßen";
this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// groupBoxSaison
//
this.groupBoxSaison.Controls.Add(this.comboBoxSaison);
this.groupBoxSaison.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.groupBoxSaison.Location = new System.Drawing.Point(8, 251);
this.groupBoxSaison.Location = new System.Drawing.Point(8, 457);
this.groupBoxSaison.Name = "groupBoxSaison";
this.groupBoxSaison.Size = new System.Drawing.Size(279, 59);
this.groupBoxSaison.TabIndex = 62;
this.groupBoxSaison.TabStop = false;
this.groupBoxSaison.Text = "AKTIVE SAISON";
this.groupBoxSaison.GiveFeedback += new System.Windows.Forms.GiveFeedbackEventHandler(this.groupBox_GiveFeedback);
this.groupBoxSaison.Paint += new System.Windows.Forms.PaintEventHandler(this.groupBox_Paint);
//
// comboBoxSaison
@ -479,7 +923,7 @@ namespace Deckungsbeitrag
this.buttonNeuerStand.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonNeuerStand.ForeColor = System.Drawing.Color.White;
this.buttonNeuerStand.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.buttonNeuerStand.Location = new System.Drawing.Point(528, 5);
this.buttonNeuerStand.Location = new System.Drawing.Point(8, 116);
this.buttonNeuerStand.Margin = new System.Windows.Forms.Padding(5);
this.buttonNeuerStand.Name = "buttonNeuerStand";
this.buttonNeuerStand.Size = new System.Drawing.Size(250, 41);
@ -488,8 +932,6 @@ namespace Deckungsbeitrag
this.buttonNeuerStand.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonNeuerStand.UseVisualStyleBackColor = false;
this.buttonNeuerStand.Click += new System.EventHandler(this.buttonNeuerStand_Click);
this.buttonNeuerStand.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Button_MouseDown);
this.buttonNeuerStand.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Button_MouseMove);
//
// buttonNeueInventur
//
@ -500,7 +942,7 @@ namespace Deckungsbeitrag
this.buttonNeueInventur.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonNeueInventur.ForeColor = System.Drawing.Color.White;
this.buttonNeueInventur.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.buttonNeueInventur.Location = new System.Drawing.Point(268, 5);
this.buttonNeueInventur.Location = new System.Drawing.Point(8, 65);
this.buttonNeueInventur.Margin = new System.Windows.Forms.Padding(5);
this.buttonNeueInventur.Name = "buttonNeueInventur";
this.buttonNeueInventur.Size = new System.Drawing.Size(250, 41);
@ -509,8 +951,6 @@ namespace Deckungsbeitrag
this.buttonNeueInventur.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonNeueInventur.UseVisualStyleBackColor = false;
this.buttonNeueInventur.Click += new System.EventHandler(this.buttonNeueInventur_Click);
this.buttonNeueInventur.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Button_MouseDown);
this.buttonNeueInventur.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Button_MouseMove);
//
// buttonNeueAufgabe
//
@ -521,7 +961,7 @@ namespace Deckungsbeitrag
this.buttonNeueAufgabe.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonNeueAufgabe.ForeColor = System.Drawing.Color.Black;
this.buttonNeueAufgabe.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.buttonNeueAufgabe.Location = new System.Drawing.Point(8, 107);
this.buttonNeueAufgabe.Location = new System.Drawing.Point(8, 218);
this.buttonNeueAufgabe.Margin = new System.Windows.Forms.Padding(5);
this.buttonNeueAufgabe.Name = "buttonNeueAufgabe";
this.buttonNeueAufgabe.Size = new System.Drawing.Size(250, 41);
@ -530,8 +970,6 @@ namespace Deckungsbeitrag
this.buttonNeueAufgabe.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonNeueAufgabe.UseVisualStyleBackColor = false;
this.buttonNeueAufgabe.Click += new System.EventHandler(this.buttonNeueAufgabe_Click);
this.buttonNeueAufgabe.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Button_MouseDown);
this.buttonNeueAufgabe.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Button_MouseMove);
//
// buttonNeuerAuftrag
//
@ -542,7 +980,7 @@ namespace Deckungsbeitrag
this.buttonNeuerAuftrag.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonNeuerAuftrag.ForeColor = System.Drawing.Color.White;
this.buttonNeuerAuftrag.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.buttonNeuerAuftrag.Location = new System.Drawing.Point(8, 5);
this.buttonNeuerAuftrag.Location = new System.Drawing.Point(8, 14);
this.buttonNeuerAuftrag.Margin = new System.Windows.Forms.Padding(5);
this.buttonNeuerAuftrag.Name = "buttonNeuerAuftrag";
this.buttonNeuerAuftrag.Size = new System.Drawing.Size(250, 41);
@ -551,8 +989,6 @@ namespace Deckungsbeitrag
this.buttonNeuerAuftrag.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonNeuerAuftrag.UseVisualStyleBackColor = false;
this.buttonNeuerAuftrag.Click += new System.EventHandler(this.buttonNeuerAuftrag_Click);
this.buttonNeuerAuftrag.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Button_MouseDown);
this.buttonNeuerAuftrag.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Button_MouseMove);
//
// buttonNeuerUser
//
@ -563,7 +999,7 @@ namespace Deckungsbeitrag
this.buttonNeuerUser.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonNeuerUser.ForeColor = System.Drawing.Color.Black;
this.buttonNeuerUser.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.buttonNeuerUser.Location = new System.Drawing.Point(8, 56);
this.buttonNeuerUser.Location = new System.Drawing.Point(8, 167);
this.buttonNeuerUser.Margin = new System.Windows.Forms.Padding(5);
this.buttonNeuerUser.Name = "buttonNeuerUser";
this.buttonNeuerUser.Size = new System.Drawing.Size(250, 41);
@ -572,20 +1008,20 @@ namespace Deckungsbeitrag
this.buttonNeuerUser.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonNeuerUser.UseVisualStyleBackColor = false;
this.buttonNeuerUser.Click += new System.EventHandler(this.buttonNeuerUser_Click);
this.buttonNeuerUser.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Button_MouseDown);
this.buttonNeuerUser.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Button_MouseMove);
//
// groupBoxStatistik
//
this.groupBoxStatistik.AutoSize = true;
this.groupBoxStatistik.Controls.Add(this.dateTimePicker1);
this.groupBoxStatistik.Controls.Add(this.tableLayoutPanelStatistik);
this.groupBoxStatistik.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.groupBoxStatistik.Location = new System.Drawing.Point(8, 321);
this.groupBoxStatistik.Location = new System.Drawing.Point(299, 317);
this.groupBoxStatistik.Name = "groupBoxStatistik";
this.groupBoxStatistik.Size = new System.Drawing.Size(279, 197);
this.groupBoxStatistik.Size = new System.Drawing.Size(282, 250);
this.groupBoxStatistik.TabIndex = 61;
this.groupBoxStatistik.TabStop = false;
this.groupBoxStatistik.Text = "STATISTIK";
this.groupBoxStatistik.GiveFeedback += new System.Windows.Forms.GiveFeedbackEventHandler(this.groupBox_GiveFeedback);
this.groupBoxStatistik.Paint += new System.Windows.Forms.PaintEventHandler(this.groupBox_Paint);
//
// dateTimePicker1
@ -601,6 +1037,7 @@ namespace Deckungsbeitrag
//
// tableLayoutPanelStatistik
//
this.tableLayoutPanelStatistik.AutoSize = true;
this.tableLayoutPanelStatistik.ColumnCount = 2;
this.tableLayoutPanelStatistik.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanelStatistik.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
@ -616,17 +1053,16 @@ namespace Deckungsbeitrag
this.tableLayoutPanelStatistik.Controls.Add(this.labelStatistik2, 0, 1);
this.tableLayoutPanelStatistik.Controls.Add(this.labelZahl1, 1, 0);
this.tableLayoutPanelStatistik.Controls.Add(this.labelStatistik1, 0, 0);
this.tableLayoutPanelStatistik.Dock = System.Windows.Forms.DockStyle.Bottom;
this.tableLayoutPanelStatistik.Location = new System.Drawing.Point(3, 51);
this.tableLayoutPanelStatistik.Name = "tableLayoutPanelStatistik";
this.tableLayoutPanelStatistik.RowCount = 6;
this.tableLayoutPanelStatistik.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
this.tableLayoutPanelStatistik.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
this.tableLayoutPanelStatistik.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
this.tableLayoutPanelStatistik.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
this.tableLayoutPanelStatistik.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
this.tableLayoutPanelStatistik.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
this.tableLayoutPanelStatistik.Size = new System.Drawing.Size(273, 143);
this.tableLayoutPanelStatistik.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tableLayoutPanelStatistik.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tableLayoutPanelStatistik.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tableLayoutPanelStatistik.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tableLayoutPanelStatistik.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tableLayoutPanelStatistik.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tableLayoutPanelStatistik.Size = new System.Drawing.Size(273, 180);
this.tableLayoutPanelStatistik.TabIndex = 0;
this.tableLayoutPanelStatistik.MouseDown += new System.Windows.Forms.MouseEventHandler(this.groupBox_MouseDown);
this.tableLayoutPanelStatistik.MouseMove += new System.Windows.Forms.MouseEventHandler(this.groupBox_MouseMove);
@ -638,9 +1074,9 @@ namespace Deckungsbeitrag
this.labelZahl6.Dock = System.Windows.Forms.DockStyle.Left;
this.labelZahl6.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZahl6.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZahl6.Location = new System.Drawing.Point(99, 115);
this.labelZahl6.Location = new System.Drawing.Point(99, 150);
this.labelZahl6.Name = "labelZahl6";
this.labelZahl6.Size = new System.Drawing.Size(53, 28);
this.labelZahl6.Size = new System.Drawing.Size(53, 30);
this.labelZahl6.TabIndex = 11;
this.labelZahl6.Text = "Zahl 6";
this.labelZahl6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -651,9 +1087,9 @@ namespace Deckungsbeitrag
this.labelStatistik6.Dock = System.Windows.Forms.DockStyle.Left;
this.labelStatistik6.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelStatistik6.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelStatistik6.Location = new System.Drawing.Point(3, 115);
this.labelStatistik6.Location = new System.Drawing.Point(3, 150);
this.labelStatistik6.Name = "labelStatistik6";
this.labelStatistik6.Size = new System.Drawing.Size(90, 28);
this.labelStatistik6.Size = new System.Drawing.Size(90, 30);
this.labelStatistik6.TabIndex = 10;
this.labelStatistik6.Text = "Statistik 6";
this.labelStatistik6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -664,9 +1100,9 @@ namespace Deckungsbeitrag
this.labelZahl5.Dock = System.Windows.Forms.DockStyle.Left;
this.labelZahl5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZahl5.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZahl5.Location = new System.Drawing.Point(99, 92);
this.labelZahl5.Location = new System.Drawing.Point(99, 120);
this.labelZahl5.Name = "labelZahl5";
this.labelZahl5.Size = new System.Drawing.Size(53, 23);
this.labelZahl5.Size = new System.Drawing.Size(53, 30);
this.labelZahl5.TabIndex = 9;
this.labelZahl5.Text = "Zahl 5";
this.labelZahl5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -677,9 +1113,9 @@ namespace Deckungsbeitrag
this.labelStatistik5.Dock = System.Windows.Forms.DockStyle.Left;
this.labelStatistik5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelStatistik5.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelStatistik5.Location = new System.Drawing.Point(3, 92);
this.labelStatistik5.Location = new System.Drawing.Point(3, 120);
this.labelStatistik5.Name = "labelStatistik5";
this.labelStatistik5.Size = new System.Drawing.Size(90, 23);
this.labelStatistik5.Size = new System.Drawing.Size(90, 30);
this.labelStatistik5.TabIndex = 8;
this.labelStatistik5.Text = "Statistik 5";
this.labelStatistik5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -690,9 +1126,9 @@ namespace Deckungsbeitrag
this.labelZahl4.Dock = System.Windows.Forms.DockStyle.Left;
this.labelZahl4.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZahl4.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZahl4.Location = new System.Drawing.Point(99, 69);
this.labelZahl4.Location = new System.Drawing.Point(99, 90);
this.labelZahl4.Name = "labelZahl4";
this.labelZahl4.Size = new System.Drawing.Size(53, 23);
this.labelZahl4.Size = new System.Drawing.Size(53, 30);
this.labelZahl4.TabIndex = 7;
this.labelZahl4.Text = "Zahl 4";
this.labelZahl4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -703,9 +1139,9 @@ namespace Deckungsbeitrag
this.labelStatistik4.Dock = System.Windows.Forms.DockStyle.Left;
this.labelStatistik4.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelStatistik4.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelStatistik4.Location = new System.Drawing.Point(3, 69);
this.labelStatistik4.Location = new System.Drawing.Point(3, 90);
this.labelStatistik4.Name = "labelStatistik4";
this.labelStatistik4.Size = new System.Drawing.Size(90, 23);
this.labelStatistik4.Size = new System.Drawing.Size(90, 30);
this.labelStatistik4.TabIndex = 6;
this.labelStatistik4.Text = "Statistik 4";
this.labelStatistik4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -716,9 +1152,9 @@ namespace Deckungsbeitrag
this.labelZahl3.Dock = System.Windows.Forms.DockStyle.Left;
this.labelZahl3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZahl3.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZahl3.Location = new System.Drawing.Point(99, 46);
this.labelZahl3.Location = new System.Drawing.Point(99, 60);
this.labelZahl3.Name = "labelZahl3";
this.labelZahl3.Size = new System.Drawing.Size(53, 23);
this.labelZahl3.Size = new System.Drawing.Size(53, 30);
this.labelZahl3.TabIndex = 5;
this.labelZahl3.Text = "Zahl 3";
this.labelZahl3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -729,9 +1165,9 @@ namespace Deckungsbeitrag
this.labelStatistik3.Dock = System.Windows.Forms.DockStyle.Left;
this.labelStatistik3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelStatistik3.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelStatistik3.Location = new System.Drawing.Point(3, 46);
this.labelStatistik3.Location = new System.Drawing.Point(3, 60);
this.labelStatistik3.Name = "labelStatistik3";
this.labelStatistik3.Size = new System.Drawing.Size(90, 23);
this.labelStatistik3.Size = new System.Drawing.Size(90, 30);
this.labelStatistik3.TabIndex = 4;
this.labelStatistik3.Text = "Statistik 3";
this.labelStatistik3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -742,9 +1178,9 @@ namespace Deckungsbeitrag
this.labelZahl2.Dock = System.Windows.Forms.DockStyle.Left;
this.labelZahl2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelZahl2.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZahl2.Location = new System.Drawing.Point(99, 23);
this.labelZahl2.Location = new System.Drawing.Point(99, 30);
this.labelZahl2.Name = "labelZahl2";
this.labelZahl2.Size = new System.Drawing.Size(53, 23);
this.labelZahl2.Size = new System.Drawing.Size(53, 30);
this.labelZahl2.TabIndex = 3;
this.labelZahl2.Text = "Zahl 2";
this.labelZahl2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -755,9 +1191,9 @@ namespace Deckungsbeitrag
this.labelStatistik2.Dock = System.Windows.Forms.DockStyle.Left;
this.labelStatistik2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelStatistik2.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelStatistik2.Location = new System.Drawing.Point(3, 23);
this.labelStatistik2.Location = new System.Drawing.Point(3, 30);
this.labelStatistik2.Name = "labelStatistik2";
this.labelStatistik2.Size = new System.Drawing.Size(90, 23);
this.labelStatistik2.Size = new System.Drawing.Size(90, 30);
this.labelStatistik2.TabIndex = 2;
this.labelStatistik2.Text = "Statistik 2";
this.labelStatistik2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -770,7 +1206,7 @@ namespace Deckungsbeitrag
this.labelZahl1.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelZahl1.Location = new System.Drawing.Point(99, 0);
this.labelZahl1.Name = "labelZahl1";
this.labelZahl1.Size = new System.Drawing.Size(53, 23);
this.labelZahl1.Size = new System.Drawing.Size(53, 30);
this.labelZahl1.TabIndex = 1;
this.labelZahl1.Text = "Zahl 1";
this.labelZahl1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -783,7 +1219,7 @@ namespace Deckungsbeitrag
this.labelStatistik1.ForeColor = System.Drawing.SystemColors.ControlText;
this.labelStatistik1.Location = new System.Drawing.Point(3, 0);
this.labelStatistik1.Name = "labelStatistik1";
this.labelStatistik1.Size = new System.Drawing.Size(90, 23);
this.labelStatistik1.Size = new System.Drawing.Size(90, 30);
this.labelStatistik1.TabIndex = 0;
this.labelStatistik1.Text = "Statistik 1";
this.labelStatistik1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -1103,7 +1539,7 @@ namespace Deckungsbeitrag
this.Margin = new System.Windows.Forms.Padding(2);
this.Name = "FormMain";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Wolfgang Wirl GmbH - GRUNDPROGRAMM";
this.Text = "VERWALTUNG Version: ";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.HelpButtonClicked += new System.ComponentModel.CancelEventHandler(this.FormMain_HelpButtonClicked);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormMain_FormClosing);
@ -1113,8 +1549,14 @@ namespace Deckungsbeitrag
this.toolStripMenu.ResumeLayout(false);
this.toolStripMenu.PerformLayout();
this.panelMain.ResumeLayout(false);
this.panelMain.PerformLayout();
this.groupBoxContAnz.ResumeLayout(false);
this.groupBoxContAnz.PerformLayout();
this.tLPContAnz.ResumeLayout(false);
this.tLPContAnz.PerformLayout();
this.groupBoxSaison.ResumeLayout(false);
this.groupBoxStatistik.ResumeLayout(false);
this.groupBoxStatistik.PerformLayout();
this.tableLayoutPanelStatistik.ResumeLayout(false);
this.tableLayoutPanelStatistik.PerformLayout();
this.groupBoxUpdate.ResumeLayout(false);
@ -1191,6 +1633,35 @@ namespace Deckungsbeitrag
private System.Windows.Forms.ToolStripButton tSBTourenplanung;
private System.Windows.Forms.ComboBox comboBoxSaison;
private System.Windows.Forms.GroupBox groupBoxSaison;
private System.Windows.Forms.GroupBox groupBoxContAnz;
private System.Windows.Forms.TableLayoutPanel tLPContAnz;
private System.Windows.Forms.Label labelContZahl3;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label labelContZahl2;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label labelContZahl1;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label labelContZahl4;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label labelZeit5;
private System.Windows.Forms.Label labelZeit4;
private System.Windows.Forms.Label labelZeit3;
private System.Windows.Forms.Label labelZeit2;
private System.Windows.Forms.Label labelZeit1;
private System.Windows.Forms.Label labelZeit52;
private System.Windows.Forms.Label labelZeit42;
private System.Windows.Forms.Label labelZeit32;
private System.Windows.Forms.Label labelZeit22;
private System.Windows.Forms.Label labelZeit12;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label labelContZahl5;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label labelContGes;
private System.Windows.Forms.Label label9;
}
}

View File

@ -10,14 +10,18 @@ using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Management.Instrumentation;
using System.Reflection;
using System.Runtime;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Input;
using System.Xml.Serialization;
using Timer = System.Windows.Forms.Timer;
@ -35,18 +39,21 @@ namespace Deckungsbeitrag
private bool _handlingResize;
private readonly UserSettingsManager _settings = new UserSettingsManager();
private bool formloading = false;
private Dictionary<DateTime, List<Auftrag>> auftragliste;
private GroupBox draggedBox;
private Point dragOffset;
private Point dragOffsetButton;
private PictureBox ghostImage;
private Button draggedButton;
private bool isButtonDragging = false;
private Timer dragEndTimer;
public FormMain()
{
InitializeComponent();
this.panelMain.AllowDrop = true;
this.toolStripMenu.Size = new Size(toolStripButton1.Size.Width + 20, this.Height);
//this.panelMain.Location = new Point(toolStripMenu.Right + 10, 12);
if (Properties.Settings.Default.Location_ButtonNeuerAuftrag_Main != Point.Empty) this.buttonNeuerAuftrag.Location = Properties.Settings.Default.Location_ButtonNeuerAuftrag_Main;
if (Properties.Settings.Default.Location_ButtonNeuerUser_Main != Point.Empty) this.buttonNeuerUser.Location = Properties.Settings.Default.Location_ButtonNeuerUser_Main;
if (Properties.Settings.Default.Location_GroupBoxStatistik_Main != Point.Empty) this.groupBoxStatistik.Location = Properties.Settings.Default.Location_GroupBoxStatistik_Main;
}
public FormMain(Benutzer benutzer) : this()
@ -76,7 +83,11 @@ namespace Deckungsbeitrag
{
// Ausgewählte Buttons bleiben aktiv.
if (ctr.Name.Contains("Auftrag")) ctr.Enabled = true;
else ctr.Enabled = false;
else
{
if (ctr.GetType() == typeof(Button)) ctr.BackColor = Color.Gray;
ctr.Enabled = false;
}
}
break;
case BenutzerRolle.Admin:
@ -91,56 +102,65 @@ namespace Deckungsbeitrag
default:
break;
}
ghostImage = new PictureBox
{
Size = new Size(200, 100), // GroupBox-Größe
Visible = false,
BackColor = Color.Transparent,
SizeMode = PictureBoxSizeMode.StretchImage
};
panelMain.Controls.Add(ghostImage); // Zum Panel!
}
private void FormMain_Load(object sender, EventArgs e)
private async void FormMain_Load(object sender, EventArgs e)
{
formloading = true;
_settings.Load();
this.WindowState = FormWindowState.Maximized;
this.MaximizedBounds = Screen.PrimaryScreen.WorkingArea;
this.panelMain.Width = this.Width - this.toolStripMenu.Right - 20;
this.panelMain.Location = new Point(this.toolStripMenu.Right, 0);
this.Text += Assembly.GetExecutingAssembly().GetName().Version;
GetStatistik();
GetSaison();
await GetAuftraege();
GetContainerProTag();
// GroupBoxen im PanelMain werden ausgeblendet
foreach (GroupBox gb in this.panelMain.Controls.OfType<GroupBox>())
{
if (!gb.Name.Contains("Update") & !gb.Name.Contains("Statistik") & !gb.Name.Contains("Neuer") & !gb.Name.Contains("Saison"))
if (!gb.Name.Contains("Update") & !gb.Name.Contains("Statistik") & !gb.Name.Contains("Neuer") & !gb.Name.Contains("Saison") & !gb.Name.Contains("ContAnz"))
{
gb.Visible = false;
gb.Location = new Point(0, 0);
gb.Size = new Size(this.panelMain.Width, this.panelMain.Height);
}
RegisterDragEvents(gb);
}
this.Activate();
_fixedSize = this.Size;
formloading = false;
}
private void GetSaison()
private async Task GetAuftraege()
{
var listenQuelle = Saison.LadeSaisons(); // Liste<Saison>
comboBoxSaison.DataSource = listenQuelle;
comboBoxSaison.DisplayMember = nameof(Saison.Bezeichnung);
comboBoxSaison.ValueMember = nameof(Saison.SaisonId);
// aktiven Eintrag suchen (falls genau einer aktiv ist)
var aktiveSaison = listenQuelle
.FirstOrDefault(s => s.Aktiv); // LINQ FirstOrDefault [web:13][web:16][web:19]
if (aktiveSaison != null)
var conn = new NpgsqlConnection(ConfigurationManager.AppSettings["ConnectionString"]); // Pro Task!
try
{
comboBoxSaison.SelectedValue = aktiveSaison.SaisonId; // per ValueMember setzen [web:11][web:20]
await conn.OpenAsync();
auftragliste = await Auftrag.GetAuftraegeProLiefertagAsync(conn, AuftragTyp.Standart, AuftragStatus.Aufgelegt);
}
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
conn.Dispose();
}
}
private void Paint_Boarder(Size size, Point location, PaintEventArgs e)
{
Pen pen = new Pen(Color.FromArgb(1, 53, 101), 4);
@ -917,7 +937,7 @@ namespace Deckungsbeitrag
this.objectListViewAuftrag.RebuildColumns();
if (_settings.OLV_State != null) this.objectListViewAuftrag.RestoreState(_settings.OLV_State);
Funktionen.Columns_Resize(this.objectListViewAuftrag);
this.objectListViewAuftrag = Funktionen.Columns_Resize(null, this.objectListViewAuftrag).olv;
// Cursor auf Default-Status setzen, um Benutzerfeedback zu geben
this.Cursor = Cursors.Default;
@ -946,7 +966,7 @@ namespace Deckungsbeitrag
}
private void GetStatistik()
{
string[] statistik = { "Container gewaschen:", "Container hergerichtet:", "Container fertig:", "Kunden gewaschen:", "Kunden hergerichtet:", "Kunden abgeschlossen:" };
string[] statistik = { "Container gewaschen:", "Container abgeschlossen:", " Container abgeholt:", "Kunden gewaschen:", "Kunden abgeschlossen:", "Kunden abgeholt:" };
List<Auftrag> auftraglist = Auftrag.GetAuftragStatsListToday(this.dateTimePicker1.Value.Date);
for (int i = 1; i <= statistik.Length; i++)
@ -965,7 +985,7 @@ namespace Deckungsbeitrag
switch (lbl.Name)
{
case var s when s.Contains($"1"):
foreach (Auftrag a in auftraglist) if (a.Status == AuftragStatus.Aufgelegt) j += a.Container;
foreach (Auftrag a in auftraglist) if (a.Status == AuftragStatus.Gewaschen) j += a.Container;
lbl.Text = j.ToString();
break;
case var s when s.Contains($"2"):
@ -973,11 +993,11 @@ namespace Deckungsbeitrag
lbl.Text = j.ToString();
break;
case var s when s.Contains($"3"):
foreach (Auftrag a in auftraglist) if (a.Status == AuftragStatus.Fertig) j += a.ContainerClean;
foreach (Auftrag a in auftraglist) if (a.Status == AuftragStatus.Abgeholt) j += a.ContainerClean;
lbl.Text = j.ToString();
break;
case var s when s.Contains($"4"):
foreach (Auftrag a in auftraglist) if (a.Status == AuftragStatus.Aufgelegt) j++;
foreach (Auftrag a in auftraglist) if (a.Status == AuftragStatus.Gewaschen) j++;
lbl.Text = j.ToString();
break;
case var s when s.Contains($"5"):
@ -985,7 +1005,7 @@ namespace Deckungsbeitrag
lbl.Text = j.ToString();
break;
case var s when s.Contains($"{i}"):
foreach (Auftrag a in auftraglist) if (a.Status == AuftragStatus.Fertig) j++;
foreach (Auftrag a in auftraglist) if (a.Status == AuftragStatus.Abgeholt) j++;
lbl.Text = j.ToString();
break;
default:
@ -998,6 +1018,78 @@ namespace Deckungsbeitrag
//this.groupBoxStatistik.Width = this.tableLayoutPanelStatistik.Right;
}
private void GetContainerProTag()
{
for (int i = 0; i < this.tLPContAnz.ColumnCount; i++)
{
if (i == 0)
{
int row = 1;
foreach (var key in auftragliste.Keys.OrderBy(k => k))
{
Control ctr = this.tLPContAnz.GetControlFromPosition(i, row);
ctr.Text = Funktionen.GetWochentagDeutsch(key.DayOfWeek);
ctr.Text += " (" + key.ToShortDateString() + "):"; // "13.02.2026"
row++;
}
Control control = this.tLPContAnz.GetControlFromPosition(i, row - 1);
control.Text = "Rest";
}
if (i == 1)
{
int row = 1;
int cont = 0;
int gescont = 0;
foreach (List<Auftrag> liste in auftragliste.Values)
{
foreach (Auftrag a in liste)
{
cont += a.Container;
}
Control ctr = this.tLPContAnz.GetControlFromPosition(i, row);
ctr.Text = cont.ToString();
gescont += cont;
row++;
cont = 0;
}
Control control = this.tLPContAnz.GetControlFromPosition(1, 6);
control.Text = gescont.ToString();
}
if (i == 2 || i == 3)
{
double geszeit = 0;
for (int j = 1; j < this.tLPContAnz.RowCount; j++)
{
Control ctr = this.tLPContAnz.GetControlFromPosition(1, j);
if (double.TryParse(ctr.Text, out double cont)) cont = (cont * 2.7 * 3.5) / 60 / (i-1);
Control control = this.tLPContAnz.GetControlFromPosition(i, j);
control.Text = cont.ToString("F1") + " h";
if (j < 6) geszeit += cont;
}
Control _ctr = this.tLPContAnz.GetControlFromPosition(i, 6);
_ctr.Text = geszeit.ToString("F1") + " h";
}
}
}
private void GetSaison()
{
var listenQuelle = Saison.LadeSaisons(); // Liste<Saison>
comboBoxSaison.DataSource = listenQuelle;
comboBoxSaison.DisplayMember = nameof(Saison.Bezeichnung);
comboBoxSaison.ValueMember = nameof(Saison.SaisonId);
// aktiven Eintrag suchen (falls genau einer aktiv ist)
var aktiveSaison = listenQuelle
.FirstOrDefault(s => s.Aktiv); // LINQ FirstOrDefault [web:13][web:16][web:19]
if (aktiveSaison != null)
{
comboBoxSaison.SelectedValue = aktiveSaison.SaisonId; // per ValueMember setzen [web:11][web:20]
}
}
private void dateTimePicker1_CloseUp(object sender, EventArgs e)
@ -1029,116 +1121,143 @@ namespace Deckungsbeitrag
}
private void groupBox_MouseDown(object sender, MouseEventArgs e)
{
GroupBox gb;
Control ctr = null;
//if(hit == null && e.Button == MouseButtons.Left) {
if (sender.GetType() == typeof(GroupBox)) gb = (GroupBox)sender;
else
{
ctr = (Control)sender;
gb = (GroupBox)ctr.Parent;
}
if (e.Button == MouseButtons.Left)
{
isDragging = true;
dragStartPoint = new Point(e.X, e.Y);
draggedBox = FindParentGroupBox((Control)sender);
// 1. BILD der GroupBox erstellen
Bitmap dragImage = new Bitmap(draggedBox.Width, draggedBox.Height);
draggedBox.DrawToBitmap(dragImage, draggedBox.ClientRectangle);
// 2. Ghost-Bild setzen + sichtbar machen
ghostImage.Image?.Dispose();
ghostImage.Image = dragImage;
ghostImage.Size = draggedBox.Size;
ghostImage.Visible = true;
ghostImage.BringToFront();
dragOffset = e.Location;
isDragging = true;
panelMain.SuspendLayout();
// 2. Original unsichtbar machen
draggedBox.Visible = false;
}
else isDragging = false;
}
private void groupBox_MouseMove(object sender, MouseEventArgs e)
{
GroupBox gb;
if (sender.GetType() == typeof(GroupBox)) gb = (GroupBox)sender;
else
{
var ctr = (Control)sender;
gb = (GroupBox)ctr.Parent;
}
Panel panel = (Panel)gb.Parent;
if (isButtonDragging) return;
if (isDragging)
{
// Neue Position berechnen, relativ zum ursprünglichen Klickpunkt
newLocation = gb.PointToScreen(dragStartPoint);
newLocation.X += e.X - dragStartPoint.X;
newLocation.Y += e.Y - dragStartPoint.Y;
Point mousePos = panelMain.PointToClient(MousePosition);
Point newPos = new Point(mousePos.X - dragOffset.X, mousePos.Y - dragOffset.Y);
// Optional: Keep inside form bounds
newLocation.X = Math.Max(0, Math.Min(panel.Width - gb.Width, newLocation.X));
newLocation.Y = Math.Max(0, Math.Min(panel.Height - gb.Height, newLocation.Y));
// Grenzen
newPos.X = Math.Max(0, Math.Min(panelMain.Width - draggedBox.Width, newPos.X));
newPos.Y = Math.Max(0, Math.Min(panelMain.Height - draggedBox.Height, newPos.Y));
// Position des Controls setzen
newLocation = panel.PointToClient(newLocation);
// 1. Ghost folgt Maus
ghostImage.Location = newPos;
// 2. Original folgt (unsichtbar)
draggedBox.Location = newPos;
}
}
private void groupBox_GiveFeedback(object sender, GiveFeedbackEventArgs e)
{
if (draggedBox != null)
{
// Screenshot erstellen
Bitmap bmp = new Bitmap(draggedBox.Width, draggedBox.Height);
draggedBox.DrawToBitmap(bmp, draggedBox.ClientRectangle);
// Ghost 50% transparent machen
float[][] matrix = {
new float[] {1, 0, 0, 0, 0},
new float[] {0, 1, 0, 0, 0},
new float[] {0, 0, 1, 0, 0},
new float[] {0, 0, 0, 0.5f, 0},
new float[] {0, 0, 0, 0, 1}
};
using (ImageAttributes attr = new ImageAttributes())
{
attr.SetColorMatrix(new ColorMatrix(matrix));
// Graphics.FromImage für DragImage rendern (komplex)
}
}
}
private void groupBox_MouseUp(object sender, MouseEventArgs e)
{
GroupBox gb;
if (sender.GetType() == typeof(GroupBox)) gb = (GroupBox)sender;
else
{
var ctr = (Control)sender;
gb = (GroupBox)ctr.Parent;
}
if (e.Button == MouseButtons.Left)
{
isDragging = false;
gb.Location = newLocation;
}
Properties.Settings.Default.Location_GroupBoxStatistik_Main = gb.Location;
Properties.Settings.Default.Save();
}
/// <summary>
/// Drag & Drop für Buttons.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button_MouseDown(object sender, MouseEventArgs e)
{
Button btn = (Button)sender;
if (btn != null && e.Button == MouseButtons.Left)
{
//btn.DoDragDrop(btn, DragDropEffects.Move);
dragStartPoint = e.Location;
isDragging = false;
}
}
private void panelMain_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(Button)))
e.Effect = DragDropEffects.Move;
else
e.Effect = DragDropEffects.None;
}
private void panelMain_DragDrop(object sender, DragEventArgs e)
{
if (isDragging)
{
Button btn = e.Data.GetData(typeof(Button)) as Button;
if (btn != null)
isDragging = false;
ghostImage.Visible = false;
draggedBox.Visible = true;// Ghost weg
panelMain.ResumeLayout();
}
}
private void RegisterDragEvents(Control parent)
{
Point p = this.panelMain.PointToClient(new Point(e.X, e.Y));
btn.Location = new Point(p.X - btn.Width / 2, p.Y - btn.Height / 2);
}
}
}
private void Button_MouseMove(object sender, MouseEventArgs e)
parent.MouseDown += Child_MouseDown;
// 1. Parent selbst behandeln (GroupBox)
if (parent is GroupBox gb)
{
if (e.Button == MouseButtons.Left)
gb.MouseDown += groupBox_MouseDown;
gb.MouseMove += groupBox_MouseMove;
gb.MouseUp += groupBox_MouseUp;
}
// 2. ALLE Children (rekursiv) - auch Child of Child!
foreach (Control child in parent.Controls)
{
var dx = Math.Abs(e.X - dragStartPoint.X);
var dy = Math.Abs(e.Y - dragStartPoint.Y);
if (!isDragging && (dx > SystemInformation.DragSize.Width || dy > SystemInformation.DragSize.Height))
{
isDragging = true;
var btn = sender as Button;
btn.DoDragDrop(btn, DragDropEffects.Move);
// JEDES Control bekommt Child-Handler
child.MouseDown += Child_MouseDown;
child.MouseMove += Child_MouseMove;
child.MouseUp += Child_MouseUp;
// Rekursion für NESTED Children
RegisterDragEvents(child);
}
}
private void Child_MouseDown(object sender, MouseEventArgs e)
{
// Koordinaten an Parent weiterleiten
Control child = (Control)sender;
GroupBox parentGb = FindParentGroupBox(child);
if (parentGb != null)
{
Point parentPos = child.PointToClient(child.PointToScreen(e.Location));
MouseEventArgs parentEvent = new MouseEventArgs(e.Button, e.Clicks,
parentPos.X, parentPos.Y, e.Delta);
groupBox_MouseDown(parentGb, parentEvent);
}
}
private void Child_MouseMove(object sender, MouseEventArgs e)
{
GroupBox gb = FindParentGroupBox((Control)sender);
if (gb != null && isDragging && draggedBox == gb)
{
groupBox_MouseMove(gb, e);
}
}
private void Child_MouseUp(object sender, MouseEventArgs e)
{
GroupBox gb = FindParentGroupBox((Control)sender);
if (gb != null && isDragging && draggedBox == gb)
{
groupBox_MouseUp(gb, e); // ← Dragging beenden!
}
}
private GroupBox FindParentGroupBox(Control control)
{
while (control != null)
{
if (control is GroupBox) return (GroupBox)control;
control = control.Parent;
}
return null;
}
/// <summary>
@ -1161,11 +1280,15 @@ namespace Deckungsbeitrag
{
try
{
Properties.Settings.Default.Location_ButtonNeuerAuftrag_Main = this.buttonNeuerAuftrag.Location;
Properties.Settings.Default.Location_ButtonNeuerUser_Main = this.buttonNeuerUser.Location;
Properties.Settings.Default.Location_GroupBoxStatistik_Main = this.groupBoxStatistik.Location;
_settings.LocationButtonNeueAufgabe = this.buttonNeueAufgabe.Location;
_settings.LocationButtonNeueInventur = this.buttonNeueInventur.Location;
_settings.LocationButtonNeuerAuftrag = this.buttonNeuerAuftrag.Location;
_settings.LocationButtonNeuerStand = this.buttonNeuerStand.Location;
_settings.LocationButtonNeuerUser = this.buttonNeuerUser.Location;
Properties.Settings.Default.Save();
_settings.LocationGroupBoxContainer = this.groupBoxContAnz.Location;
_settings.LocationGroupBoxSaison = this.groupBoxSaison.Location;
_settings.LocationGroupBoxStatistik = this.groupBoxStatistik.Location;
_settings.OLV_State = this.objectListViewAuftrag.SaveState();
_settings.Save();
@ -1243,6 +1366,7 @@ namespace Deckungsbeitrag
FehlmengeChart chart = new FehlmengeChart();
chart.Show();
}
}
}
//CHANGES: Fahrer können abgeholte Aufträge erstellen und ausgelieferte Aufträge markieren.

View File

@ -40,6 +40,7 @@ namespace Deckungsbeitrag
private string userid;
private AuftragTyp auftragtyp = AuftragTyp.Standart;
private string eingabe = string.Empty;
private DateTime nextLiefertag;
#endregion
#region Form-Konstruktor
@ -77,18 +78,39 @@ namespace Deckungsbeitrag
// ComboBox AuftragTyp wird geladen und richtiges Item selected.
// Falls KundenAuswahl null liefert wird Form geschlossen oder wenn Waschstrasse neu geladen.
if (this.kunde != null) { comboBoxTyp_Load(); comboBoxFahrer_Load(); DatenLaden(); }
if (this.kunde != null)
{
Saison Saison = Saison.GetAktivSaison();
if (Saison.Bezeichnung == "Sommer") nextLiefertag = Funktionen.GetNextLiefertag((Liefertage)this.kunde.SommerLieferRhythmus);
if (Saison.Bezeichnung == "Winter") nextLiefertag = Funktionen.GetNextLiefertag((Liefertage)this.kunde.WinterLieferRhythmus);
if (Saison.Bezeichnung == "Zwischensaison")
{
meldung.GetInfo(this, "Achtung Liefertag kann falsch sein, da Zwischensaison ist.", false);
DateTime datum = DateTime.Today;
int tage = 2;
while (tage > 0)
{
datum = datum.AddDays(1);
if (datum.DayOfWeek != DayOfWeek.Saturday && datum.DayOfWeek != DayOfWeek.Sunday)
{
tage--;
}
}
nextLiefertag = datum;
}
comboBoxTyp_Load();
comboBoxFahrer_Load();
DatenLaden();
}
else
{
// Wenn NICHT Waschstrasse dann Fenster schließen.
//if (this.userid.Contains("wstrasse")) FormNeuerAuftrag_Load(this, e);
//else this.Close();
this.DialogResult = DialogResult.Cancel;
this.Close();
}
this.dGArtikel.ForeColor = Color.Black;
//this.dTPLiefertag.Value = DateTime.Today.AddDays(1);
this.textBoxKundeName.Enabled = false;
this.textBoxKndNr.Enabled = false;
@ -107,30 +129,11 @@ namespace Deckungsbeitrag
this.textBoxKndNr.Text = kunde.KundeNummer;
if (string.IsNullOrWhiteSpace(kunde.Suchtext)) this.textBoxKundeName.Text = kunde.KundeName;
else this.textBoxKundeName.Text = kunde.Suchtext;
//if (letzterLiefertag.HasValue) this.dTPLiefertag.Value = letzterLiefertag.Value;
//else this.dTPLiefertag.Value = DateTime.Today.AddDays(1);
Saison Saison = Saison.GetAktivSaison();
if (Saison.Bezeichnung == "Sommer") this.dTPLiefertag.Value = Funktionen.GetNextLiefertag((Liefertage)this.kunde.SommerLieferRhythmus);
if (Saison.Bezeichnung == "Winter") this.dTPLiefertag.Value = Funktionen.GetNextLiefertag((Liefertage)this.kunde.WinterLieferRhythmus);
if (Saison.Bezeichnung == "Zwischensaison")
{
meldung.GetInfo(this, "Achtung Liefertag kann falsch sein, da Zwischensaison ist.", false);
DateTime datum = DateTime.Today;
int tage = 2;
while (tage > 0)
{
datum = datum.AddDays(1);
if (datum.DayOfWeek != DayOfWeek.Saturday && datum.DayOfWeek != DayOfWeek.Sunday)
{
tage--;
}
}
this.dTPLiefertag.Value = datum;
}
this.dTPLiefertag.Value = nextLiefertag;
this.textBoxCont.Text = "0";
dTPLiefertag_Leave(this.dTPLiefertag, EventArgs.Empty);
textBoxCont_TextChanged(this.textBoxCont, EventArgs.Empty);
//textBoxCont_TextChanged(this.textBoxCont, EventArgs.Empty);
}
private void comboBoxTyp_Load()
{
@ -243,14 +246,15 @@ namespace Deckungsbeitrag
}
else Auftrag = new Auftrag();
if (this.benutzer.Rolle == BenutzerRolle.Fahrer) { AuftragSpeichern(); return; }
//AUFTRAG DATEN ÜBERGEBEN
Auftrag.KundeID = (int)kunde.KundeID;
// Wenn Kundennummer ist Div.Barzahler(in FormListe wenn mit ? am Anfang) wird individueller Kundename als Zusatzinfo gespeichert.
if (kunde.KundeNummer == "2320000") Auftrag.ZusatzInfo = kunde.Suchtext;
if (kunde.KundeNummer == "2320000") Auftrag.ZusatzInfo = string.IsNullOrWhiteSpace(kunde.Suchtext) ? kunde.KundeName : kunde.Suchtext;
else if (!string.IsNullOrWhiteSpace(eingabe)) Auftrag.ZusatzInfo = eingabe;
//TODO: Überlegen ob das der richtige Weg ist. Eventuell in Expedit sowohl KundeAufgabe wie auch AuftragAufgabe anzeigen? NOTWENDIG?
if (Auftrag.AufgabeID == null) { if (kunde.Aufgabe != null) Auftrag.AufgabeID = kunde.Aufgabe; }
Auftrag.Liefertag = this.dTPLiefertag.Value;
Auftrag.Container = int.Parse(this.textBoxCont.Text);
@ -258,11 +262,11 @@ namespace Deckungsbeitrag
Auftrag.Erstellt = DateTime.Now;
Auftrag.Container = int.Parse(this.textBoxCont.Text);
Auftrag.Typ = (AuftragTyp)comboBoxTyp.SelectedItem;
Auftrag.ArbeiterID = this.comboBoxFahrer.SelectedIndex == -1 ? this.benutzer.BenutzerID : ((Benutzer)this.comboBoxFahrer.SelectedItem).BenutzerID;
Auftrag.ArbeiterID = this.comboBoxFahrer.SelectedIndex == -1 ? null : ((Benutzer)this.comboBoxFahrer.SelectedItem).BenutzerID;
if (maschine != null) Auftrag.MaschineID = (int)maschine.MaschineID;
else Auftrag.MaschineID = null;
if(Auftrag.FindeAuftrag(Auftrag) == true)
if (Auftrag.FindeAuftrag(true).Gefunden) //TODO: Aufträge zusammenführen wenn gleicher Kunde und Liefertag.
{
if (meldung.AuftragVorhanden(Auftrag) == DialogResult.Yes)
{
@ -418,10 +422,61 @@ namespace Deckungsbeitrag
}
}
if (this.benutzer.Rolle == BenutzerRolle.Fahrer)
{
this.Auftrag = null;
this.kunde = Funktionen.KundenAuswahl();
if (this.kunde != null) { DatenLaden(); return; }
}
this.DialogResult = DialogResult.OK;
this.Close();
}
private void AuftragSpeichern()
{
//AUFTRAG DATEN ÜBERGEBEN
Auftrag.KundeID = (int)kunde.KundeID;
if (Auftrag.AufgabeID == null) { if (kunde.Aufgabe != null) Auftrag.AufgabeID = kunde.Aufgabe; }
Auftrag.Liefertag = this.dTPLiefertag.Value;
Auftrag.Container = int.Parse(this.textBoxCont.Text);
Auftrag.ErstelltVon = (int)this.benutzer.BenutzerID;
Auftrag.Erstellt = DateTime.Now;
Auftrag.Container = int.Parse(this.textBoxCont.Text);
Auftrag.Typ = (AuftragTyp)comboBoxTyp.SelectedItem;
Auftrag.ArbeiterID = this.comboBoxFahrer.SelectedIndex == -1 ? null : ((Benutzer)this.comboBoxFahrer.SelectedItem).BenutzerID;
Auftrag.Status = AuftragStatus.Abgeholt;
if (Auftrag.FindeAuftrag(false).Gefunden)
{
if (meldung.GetFrage(this, $"Der Auftrag {Kunde.GetKunde(null, Auftrag.KundeID, null).Suchtext} Liefertag {Auftrag.Liefertag.ToShortDateString()} ist bereits vorhanden.\nMöchtest du diesen bearbeiten?\n\n[JA] => Auftrag bearbeiten\n[NEIN] => Neuen Auftrag erstellen", false) == DialogResult.Yes)
{
Auftrag = Auftrag.GetAuftrag(Auftrag.FindeAuftrag(false).auftragID);
Auftrag.Container += int.Parse(this.textBoxCont.Text);
if (Auftrag.Save()[0] != 1) meldung.Speicherfehler();
else meldung.GetInfo(this, $"Der Auftrag wurde bearbeitet.\nBitte suche den Auftrag von {Kunde.GetKunde(null, Auftrag.KundeID, null).Suchtext} mit Liefertag {Auftrag.Liefertag.ToShortDateString()} und stelle deine Container dazu.\nVergiss nicht die Containeranzahl auf der Karte auszubessern.", false);
}
else
{
Auftrag.ZusatzInfo += " Auftrag 2";
if (Auftrag.Save()[0] != 1) meldung.Speicherfehler();
else meldung.GetInfo(this, "Der Auftrag wurde als neuer Auftrag gespeichert.\nBitte vermerke auf der Containerkarte, dass dieser Auftrag 'Auftrag 2' ist.\n\nSollte das nicht richtig sein, melde es deinem Vorgesetzten.", false);
}
}
else if (Auftrag.Save()[0] != 1) meldung.Speicherfehler();
if (this.benutzer.Rolle == BenutzerRolle.Fahrer)
{
this.Auftrag = null;
this.kunde = Funktionen.KundenAuswahl();
if (this.kunde != null) { DatenLaden(); return; }
else this.Close();
}
}
private void Container_Click(object sender, EventArgs e)
{
PictureBox pb = (PictureBox)sender;
@ -619,11 +674,13 @@ namespace Deckungsbeitrag
else
{
eingabe = Interaction.InputBox("Warum möchtest du den Auftrag einem anderen Fahrer zuteilen?\n\nGrund:", "Sonderzuteilung", "");
eingabe += " / ";
}
}
}
}
//CHANGES: Wenn BenutzerRolle ist Fahrer wird Fenster nicht geschlossen sondern mit Kundenauswahl weiter gemacht.
//CHANGES: CSV Datei wird erstellt oder bei jeder Inventur erweitert. (Einfach in Excel importieren und auswerten.)
//CHANGES: Liefertag errechnet sich jetzt aus dem Lieferrhythmus. Funktion wählt nächstmöglichen Liefertermin im Rhythmus. Bei Klick auf Tag bleibt alles gleich. (Auch mit Heute liefern?)
//CHANGES: Wenn Fahrer Auftrag erstellt wird beim Speichern standardmäßig seine ID als ArbeiterID gespeichert. Bedeutet ausführender = Fahrer selber.

View File

@ -71,6 +71,7 @@
//
// comboBoxRolle
//
this.comboBoxRolle.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxRolle.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxRolle.FormattingEnabled = true;
this.comboBoxRolle.Location = new System.Drawing.Point(16, 165);
@ -157,8 +158,6 @@
this.textBoxFuehrerschein.Name = "textBoxFuehrerschein";
this.textBoxFuehrerschein.Size = new System.Drawing.Size(292, 26);
this.textBoxFuehrerschein.TabIndex = 11;
this.textBoxFuehrerschein.Leave += new System.EventHandler(this.textBoxFuehrerschein_Leave);
this.textBoxFuehrerschein.Validating += new System.ComponentModel.CancelEventHandler(this.textBoxFuehrerschein_Validating);
//
// dateTimePickerFSGueltig
//
@ -169,7 +168,7 @@
this.dateTimePickerFSGueltig.Name = "dateTimePickerFSGueltig";
this.dateTimePickerFSGueltig.Size = new System.Drawing.Size(127, 26);
this.dateTimePickerFSGueltig.TabIndex = 12;
this.dateTimePickerFSGueltig.Leave += new System.EventHandler(this.dateTimePickerFSGueltig_Leave);
this.dateTimePickerFSGueltig.CloseUp += new System.EventHandler(this.dateTimePickerFSGueltig_CloseUp);
//
// labelFSGueltig
//
@ -209,7 +208,7 @@
this.buttonAbbrechen.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonAbbrechen.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonAbbrechen.Image = ((System.Drawing.Image)(resources.GetObject("buttonAbbrechen.Image")));
this.buttonAbbrechen.Location = new System.Drawing.Point(281, 210);
this.buttonAbbrechen.Location = new System.Drawing.Point(281, 377);
this.buttonAbbrechen.Margin = new System.Windows.Forms.Padding(2);
this.buttonAbbrechen.Name = "buttonAbbrechen";
this.buttonAbbrechen.Size = new System.Drawing.Size(41, 41);
@ -230,7 +229,7 @@
this.buttonSpeichern.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonSpeichern.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonSpeichern.Image = ((System.Drawing.Image)(resources.GetObject("buttonSpeichern.Image")));
this.buttonSpeichern.Location = new System.Drawing.Point(16, 210);
this.buttonSpeichern.Location = new System.Drawing.Point(16, 377);
this.buttonSpeichern.Margin = new System.Windows.Forms.Padding(2);
this.buttonSpeichern.Name = "buttonSpeichern";
this.buttonSpeichern.Size = new System.Drawing.Size(41, 41);
@ -245,7 +244,7 @@
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.ClientSize = new System.Drawing.Size(339, 261);
this.ClientSize = new System.Drawing.Size(339, 428);
this.Controls.Add(this.buttonAbbrechen);
this.Controls.Add(this.buttonSpeichern);
this.Controls.Add(this.groupBoxFuehrerschein);

View File

@ -171,30 +171,34 @@ namespace Deckungsbeitrag.AA_Forms
tosave[2] = e.Cancel;
}
}
else { groupBoxFuehrerschein.ForeColor = Color.White; tosave[2] = !e.Cancel; }
Enable_Speichern();
}
/// <summary>
/// TextBox Führerschein validieren. Keine Regelung für Speicherbuttonstatus.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void textBoxFuehrerschein_Validating(object sender, CancelEventArgs e)
{
if (!string.IsNullOrWhiteSpace(textBoxFuehrerschein.Text))
{
if (int.TryParse(textBoxFuehrerschein.Text, out int value)) textBoxFuehrerschein.BackColor = SystemColors.Window;
else
{
if (!int.TryParse(textBoxFuehrerschein.Text, out _))
{
meldung.Eingabefehler();
e.Cancel = true;
textBoxFuehrerschein.BackColor = Color.Red;
textBoxFuehrerschein.Focus();
tosave[2] = e.Cancel = true;
return;
}
else { textBoxFuehrerschein.BackColor = Color.White; e.Cancel = false; }
if (dateTimePickerFSGueltig.Value <= DateTime.Today)
{
meldung.EingabeFehltoderFalsch("Das Ablaufdatum des Führerscheins muss in der Zukunft liegen.");
tosave[2] = e.Cancel = true;
this.BeginInvoke(new Action(() =>
{
dateTimePickerFSGueltig.Focus();
SendKeys.SendWait("%{DOWN}");
}));
return;
}
else textBoxFuehrerschein.BackColor = SystemColors.Window;
//groupBoxFuehrerschein.ForeColor = Color.White; tosave[2] = !e.Cancel;
}
Enable_Speichern();
}
/// <summary>
@ -202,21 +206,11 @@ namespace Deckungsbeitrag.AA_Forms
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dateTimePickerFSGueltig_Leave(object sender, EventArgs e)
{
CancelEventArgs ce = new CancelEventArgs();
groupBoxFuehrerschein_Validating(groupBoxFuehrerschein, ce);
}
private void comboBoxRolle_Leave(object sender, EventArgs e)
{
CancelEventArgs ce = new CancelEventArgs();
comboBoxRolle_Validating(comboBoxRolle, ce);
}
private void textBoxFuehrerschein_Leave(object sender, EventArgs e)
{
CancelEventArgs ce = new CancelEventArgs();
textBoxFuehrerschein_Validating(textBoxFuehrerschein, ce);
}
/// <summary>
/// Leave-Events ohne Auswirkung auf Speicherbuttonstatus Regelung.
@ -242,5 +236,11 @@ namespace Deckungsbeitrag.AA_Forms
comboBoxRolle.BackColor = SystemColors.Window;
}
private void dateTimePickerFSGueltig_CloseUp(object sender, EventArgs e)
{
CancelEventArgs ce = new CancelEventArgs();
groupBoxFuehrerschein_Validating(this.groupBoxFuehrerschein, ce);
}
}
}

View File

@ -121,7 +121,7 @@
<data name="buttonAbbrechen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wgAADsIBFShKgAAAAHNJREFUOE+1krEJwDAMBD1IyrTZv02XJbLLBYEKh5eFHRHBF5b+D2TUgFaRNFbV
wQAADsEBuJFr7QAAAHNJREFUOE+1krEJwDAMBD1IyrTZv02XJbLLBYEKh5eFHRHBF5b+D2TUgFaRNFbV
P3bgBLY2KJsBF3BEAAtb3RHEwzazMogAesMLEs0EkBil514FDCASTgEBRMLu+QlQWiEIz3/iyJiABVA+
pPIpf5I0VvUA30mnWXzROjQAAAAASUVORK5CYII=
</value>

View File

@ -1,5 +1,6 @@
using BrightIdeasSoftware;
using Deckungsbeitrag;
using HarfBuzzSharp;
using Npgsql;
using System;
using System.Collections.Generic;
@ -7,6 +8,7 @@ using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace DatenDB
{
@ -21,7 +23,8 @@ namespace DatenDB
Gewaschen = 2,
Herrichten = 3,
Vorbereitet = 4,
Fertig = 7,
Fertig = 6,
Geladen = 7,
Ausgeliefert = 8,
AufAbruf = 9
}
@ -78,8 +81,8 @@ namespace DatenDB
using (var command = new NpgsqlCommand())
{
command.Connection = conn;
if (abtstatus != null) command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE typ = {(int)typ} AND erstellt::date = @produktion AND (a.abteilungen_status & 2) = 0 OR typ = {(int)typ} AND status < 7 AND (a.abteilungen_status & 2) = 0 ORDER BY liefertag ASC";
else command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE typ = {(int)typ} AND erstellt::date = @produktion OR typ = {(int)typ} AND status < 7 ORDER BY liefertag ASC";
if (abtstatus != null) command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE typ = {(int)typ} AND erstellt::date = @produktion AND (a.abteilungen_status & 2) = 0 OR typ = {(int)typ} AND status < {(int)AuftragStatus.Fertig} AND (a.abteilungen_status & 2) = 0 ORDER BY liefertag ASC";
else command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE typ = {(int)typ} AND erstellt::date = @produktion OR typ = {(int)typ} AND status < {(int)AuftragStatus.Fertig} ORDER BY liefertag ASC"; //Status kleiner FERTIG
command.Parameters.AddWithValue("@produktion", produktion.Date);
using (var reader = await command.ExecuteReaderAsync())
@ -89,6 +92,7 @@ namespace DatenDB
}
}
isExpedit = false;
return resultList;
}
public static async Task<List<Auftrag>> GetExpeditListsAsync(int? typ, NpgsqlConnection conn, int? abtstatus)
@ -98,8 +102,8 @@ namespace DatenDB
using (var command = new NpgsqlCommand())
{
command.Connection = conn;
if (abtstatus != null) command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join Kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE typ >= @typ AND status < 7 AND a.abteilungen_status <= {abtstatus} ORDER BY status DESC, liefertag ASC";
else command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join Kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE typ >= @typ AND status < 7 ORDER BY status DESC, liefertag ASC";
if (abtstatus != null) command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join Kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE typ >= @typ AND status < {(int)AuftragStatus.Fertig} AND a.abteilungen_status <= {abtstatus} ORDER BY status DESC, liefertag ASC";
else command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join Kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE typ >= @typ AND status < {(int)AuftragStatus.Fertig} ORDER BY status DESC, liefertag ASC";
command.Parameters.AddWithValue("@typ", typ ?? 0); // Parameterized + Null-Handling
using (var reader = await command.ExecuteReaderAsync())
@ -108,7 +112,7 @@ namespace DatenDB
resultList.Add(new Auftrag(reader));
}
}
isExpedit = false;
return resultList;
}
public static async Task<List<Auftrag>> GetStatusListAsync(int? status, NpgsqlConnection conn)
@ -118,7 +122,7 @@ namespace DatenDB
using (var command = new NpgsqlCommand())
{
command.Connection = conn;
if (status == null) command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE status <= 7 ORDER BY status DESC, liefertag ASC";
if (status == null) command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE status <= {(int)AuftragStatus.Fertig} ORDER BY status DESC, liefertag ASC";
else command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE status = {status} ORDER BY status DESC, liefertag ASC";
using (var reader = await command.ExecuteReaderAsync())
@ -128,8 +132,41 @@ namespace DatenDB
}
}
isExpedit = false;
return resultList;
}
public static async Task<Dictionary<DateTime, List<Auftrag>>> GetAuftraegeProLiefertagAsync(NpgsqlConnection conn, AuftragTyp standart, AuftragStatus aufgelegt)
{
// ✅ 5 FIXED Keys mit Sonntags-Check
var result = new Dictionary<DateTime, List<Auftrag>>
{
[DateTime.Today.Date] = new List<Auftrag>(),
};
using (var command = new NpgsqlCommand())
{
command.Connection = conn;
command.CommandText = $"SELECT {COLUMNS} from {TABLE} where typ <= {(int)standart} and status <= {(int)aufgelegt} and liefertag >= CURRENT_DATE order by liefertag";
using (var reader = await command.ExecuteReaderAsync())
{
while (await reader.ReadAsync())
{
Auftrag auftrag = new Auftrag(reader);
var tag = auftrag.Liefertag.Date; // Nur Datum
if (result.Count == 5)
tag = result.Keys.Last();
if (!result.ContainsKey(tag)) result[tag] = new List<Auftrag>();
result[tag].Add(auftrag);
}
}
}
return result;
}
#endregion
public static List<Auftrag> GetFinishingList()
@ -207,6 +244,23 @@ namespace DatenDB
DatenbankConnection.GetConnection().Close();
return resultList;
}
public static List<Auftrag> GetTourenListe(Benutzer fahrer)
{
DateTime dateTime = NaechsterLiefertag();
DatenbankConnection.GetConnection().Open();
List<Auftrag> resultList = new List<Auftrag>();
NpgsqlCommand command = new NpgsqlCommand();
command.Connection = DatenbankConnection.GetConnection();
command.CommandText = $"select {ACOLUMNS} from {TABLE} a join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id where typ = 1 and a.liefertag = '{dateTime}' and a.benutzer_id = {fahrer.BenutzerID} and a.status >= {(int)AuftragStatus.Vorbereitet} and a.status <= {(int)AuftragStatus.Fertig} order by k.region, k.bezeichnung";
NpgsqlDataReader reader = command.ExecuteReader();
while (reader.Read()) resultList.Add(new Auftrag(reader));
reader.Close();
DatenbankConnection.GetConnection().Close();
return resultList;
}
public static Auftrag GetAuftrag(int? auftragID)
{
DatenbankConnection.GetConnection().Open();
@ -234,23 +288,40 @@ namespace DatenDB
return result;
}
public bool FindeAuftrag(Auftrag auftrag)
public static List<Auftrag> FindeAuftragVonKunde(Kunde kunde, string zusatz)
{
List<Auftrag> result = new List<Auftrag>();
DatenbankConnection.GetConnection().Open();
NpgsqlCommand command = new NpgsqlCommand();
command.Connection = DatenbankConnection.GetConnection();
if (string.IsNullOrWhiteSpace(zusatz)) command.CommandText = $"select {COLUMNS} from {TABLE} where kunde_id = {kunde.KundeID} and status = {(int)AuftragStatus.Abgeholt}";
else command.CommandText = $"select {COLUMNS} from {TABLE} where kunde_id = {kunde.KundeID} and status = {(int)AuftragStatus.Abgeholt} and zusatz ~* '{zusatz}'";
NpgsqlDataReader reader = command.ExecuteReader();
while (reader.Read()) result.Add(new Auftrag(reader));
reader.Close();
DatenbankConnection.GetConnection().Close();
return result;
}
public (bool Gefunden, int auftragID) FindeAuftrag(bool exakt)
{
int result = 0;
DatenbankConnection.GetConnection().Open();
NpgsqlCommand command = new NpgsqlCommand();
command.Connection = DatenbankConnection.GetConnection();
command.CommandText = $"select auftrag_id from {TABLE} where kunde_id = {auftrag.KundeID} and erstellt::date = '{auftrag.Erstellt.Value.Date}' and liefertag = '{auftrag.Liefertag}'";
if (exakt) command.CommandText = $"select auftrag_id from {TABLE} where kunde_id = {this.KundeID} and erstellt::date = '{this.Erstellt.Value.Date}' and liefertag = '{this.Liefertag}'";
else command.CommandText = $"select auftrag_id from {TABLE} where kunde_id = {this.KundeID} and liefertag = '{this.Liefertag}' and status = {(int)AuftragStatus.Abgeholt}";
NpgsqlDataReader reader = command.ExecuteReader();
while (reader.Read()) result = reader.GetInt16(0);
reader.Close();
DatenbankConnection.GetConnection().Close();
if(result > 0) return true;
else return false;
if(result > 0) return (true, result);
else return (false, result);
}
public static int[] GetContainerAnzahlen(int? kundeId)
{
@ -595,6 +666,18 @@ namespace DatenDB
DatenbankConnection.GetConnection().Close();
return result;
}
public static DateTime NaechsterLiefertag()
{
DateTime heute = DateTime.Today;
DateTime kandidat = heute.AddDays(1);
// Wochenende überspringen
while (kandidat.DayOfWeek == DayOfWeek.Saturday || kandidat.DayOfWeek == DayOfWeek.Sunday)
kandidat = kandidat.AddDays(1);
return kandidat;
}
}
}
//INSTALL-REMINDER: Change Status in DB-Auftrag von 7 auf 6

View File

@ -24,20 +24,21 @@ namespace Deckungsbeitrag
{
public class Funktionen
{
private static readonly Liefertage Arbeitstage = Liefertage.Monday | Liefertage.Tuesday | Liefertage.Wednesday | Liefertage.Thursday | Liefertage.Friday;
private static FilterInfoCollection videoDevices;
public static Color beladeband = Settings.Default.Beladeband; public static Color waschstr = Settings.Default.Waschstrasse; public static Color presse = Settings.Default.Presse; public static Color trockner = Settings.Default.Trockner;
public static Color entladeband = Settings.Default.Entladeband; public static Color hubband = Settings.Default.Hubband;
//public FormAufleger _aufleger;
public static Auftrag _auftrag;
public static Kunde _adresse;
private int currentPage = 0;
private static int currentPage = 0;
private int totalPages = 0;
int i = 0;
int j = 0;
private bool printOK;
private static bool _nocont;
private static Meldungen meldung = new Meldungen();
private static List<Auftrag> _auftragliste;
private static Benutzer _fahrer;
public Funktionen()
@ -630,14 +631,15 @@ namespace Deckungsbeitrag
Image img = null;
BarcodeWriter code = new BarcodeWriter();
code.Format = BarcodeFormat.QR_CODE;
img = code.Write(kunde.KundeNummer.ToString());
if (kunde.KundeNummer == "2320000") img = code.Write(kunde.KundeNummer + "," + kunde.Suchtext);
else img = code.Write(kunde.KundeNummer.ToString());
//img = code.Write(auftrag.AuftragID + "," + kunde.KundeNummer + "," + auftrag.Liefertag.ToShortDateString());
return img;
}
/// <summary>
/// DRUCKEN VON SCHMUTZWÄSCHESCHEINEN & ETIKETTEN
/// DRUCKEN VON SCHMUTZWÄSCHESCHEINEN & ETIKETTEN & TOURENLISTEN
/// </summary>
public static Image SWS_Entwurf(Auftrag auftrag, Kunde adresse)
{
@ -823,6 +825,115 @@ namespace Deckungsbeitrag
return DialogResult.Cancel;
}
public static Image TourenListe_Entwurf(List<Auftrag> auftragliste, Benutzer fahrer, int bottom)
{
DateTime liefertag = auftragliste[0].Liefertag;
int ezl = 50; int handzeile = 33; float textsize = 15; float textsize2 = 30; int idx = 0; int idx1 = 0; int length = 0; float textsize3 = 10;
int bitmapHeight = CalculateBitmapHeight(auftragliste);
Bitmap bitmap = new Bitmap(790, bitmapHeight);
Graphics g = Graphics.FromImage(bitmap);
Point adressblock = new Point(ezl, 50);
Point tabelle = new Point(ezl, 330);
SizeF textSize2 = g.MeasureString("Salzburg, am 26.08.1984", new Font("Arial", textsize, FontStyle.Regular));
SizeF textSize3 = g.MeasureString("MO", new Font("Arial", textsize2, FontStyle.Regular));
SizeF textSize4 = g.MeasureString("MO", new Font("Arial", textsize3, FontStyle.Regular));
SizeF textSizePos = g.MeasureString("Container Gesamt: ", new Font("Arial", textsize, FontStyle.Regular));
SizeF textSizePos2 = g.MeasureString("Container: ", new Font("Arial", textsize, FontStyle.Regular));
int zeile = (int)textSize2.Height + 20; //PIXEL
int posTag = 145;
string sortNr = string.Empty;
g.FillRectangle(Brushes.White, 0, 0, bitmap.Width, bitmap.Height);
//Adressblock
g.DrawString($"{fahrer.Vorname} {fahrer.Nachname}", new Font("Arial", textsize2, FontStyle.Regular), Brushes.Black, adressblock);
g.DrawString($"{GetWochentagDeutsch(liefertag.DayOfWeek)} {liefertag.ToShortDateString()}", new Font("Arial", textsize2, FontStyle.Regular), Brushes.Black, adressblock.X, adressblock.Y + (int)textSize3.Height);
int lastline = 0;
int gesCont = 0;
int kndanzahl = 0;
foreach (Auftrag auftrag in auftragliste)
{
Kunde knd = Kunde.GetKunde(string.Empty, auftrag.KundeID, string.Empty);
string kndName = string.Empty;
gesCont += auftrag.ContainerClean;
if (knd == null) return null;
//Image qrcode = Get_QR_Code(adresse, null);
//QR-Code
//g.DrawImage(qrcode, bitmap.Width - 150, 50, 120, 120);
if (knd.KundeNummer == "2320000") kndName = auftrag.ZusatzInfo;
else kndName = string.IsNullOrWhiteSpace(knd.Suchtext) ? knd.KundeName : knd.Suchtext;
SizeF kundenname = g.MeasureString(kndName, new Font("Arial", textsize, FontStyle.Regular));
SizeF ortwidth = g.MeasureString(knd.Ort, new Font("Arial", textsize, FontStyle.Regular));
SizeF adressewidth = g.MeasureString($"{knd.PLZ.ToString()} {knd.Ort}, {knd.Strasse}", new Font("Arial", textsize3, FontStyle.Regular));
++idx1;
if (kndanzahl >= 15)
{
if (kndanzahl >= 35)
{
if (kndanzahl >= 55) length = (int)textSize3.Height * idx1 + 420;
else length = (int)textSize3.Height * idx1 + 280;
}
else length = (int)textSize3.Height * idx1 + 140;
}
else length = (int)textSize3.Height * idx1;
//ZEILE 1
g.DrawString($"{kndName}", new Font("Arial", textsize, FontStyle.Regular), Brushes.Black, tabelle.X, tabelle.Y + length - 20);
g.DrawString($"Container: {auftrag.ContainerClean}", new Font("Arial", textsize, FontStyle.Regular), Brushes.Black, tabelle.X + 450 - textSizePos2.Width, tabelle.Y + length - 20);
//ZEILE 2
g.DrawString($"{knd.PLZ.ToString()} {knd.Ort}, {knd.Strasse}", new Font("Arial", textsize3, FontStyle.Regular), Brushes.Black, tabelle.X, tabelle.Y + textSize2.Height + length - 20);
//CHECKBOX ÜBER 2 ZEILEN
g.DrawRectangle(new Pen(Brushes.Black), ezl + 550, tabelle.Y + length - 18, textsize + textsize3 + 10, textsize3 + textsize + 10);
//LINIE UNTER ZEILE
g.DrawLine(new Pen(Brushes.Black), new Point(tabelle.X, lastline = tabelle.Y + (int)textSize2.Height + length), new Point(bitmap.Width - 50, tabelle.Y + (int)textSize2.Height + length));
kndanzahl++;
}
g.DrawString($"Anzahl Kunden: {kndanzahl.ToString()}", new Font("Arial", textsize, FontStyle.Regular), Brushes.Black, tabelle.X, lastline + 10);
g.DrawString($"Container Gesamt: {gesCont.ToString()}", new Font("Arial", textsize, FontStyle.Regular), Brushes.Black, tabelle.X + 450 - textSizePos.Width, lastline = lastline + 10);
Image img = bitmap;
return img;
}
public static void TourenListe_Drucken(List<Auftrag> auftragliste, Benutzer benutzer, object sender)
{
if (auftragliste != null) _auftragliste = auftragliste;
if (benutzer != null) _fahrer = benutzer;
PrintDialog dialog = new PrintDialog();
foreach (string printer in PrinterSettings.InstalledPrinters) if (printer.Contains(Properties.Settings.Default.SWS_Drucker)) dialog.PrinterSettings.PrinterName = printer;
dialog.PrinterSettings.Copies = 1;
if (dialog.ShowDialog() == DialogResult.OK)
{
PrintDocument printDocument = new PrintDocument();
printDocument.OriginAtMargins = true;
printDocument.PrinterSettings = dialog.PrinterSettings;
printDocument.DefaultPageSettings.Margins = new System.Drawing.Printing.Margins(0, 0, 0, 50);
printDocument.PrintPage += new PrintPageEventHandler(PrintDocument_PrintPage);
if (!sender.ToString().Contains("KundeDaten"))
{
PrintPreviewDialog preview = new PrintPreviewDialog();
preview.StartPosition = FormStartPosition.CenterScreen;
preview.WindowState = FormWindowState.Maximized;
preview.Document = printDocument;
preview.Document.DocumentName = "TourenListe";
preview.ShowDialog();
}
else { dialog.Document = printDocument; dialog.Document.DocumentName = "TourenListe"; printDocument.Print(); }
}
}
private static void PrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
if (sender.ToString().Contains("SWS-Schein"))
@ -851,6 +962,52 @@ namespace Deckungsbeitrag
e.HasMorePages = false;
}
if (sender.ToString().Contains("Etikett")) e.Graphics.DrawImage(Funktionen.Etikett_Entwurf(null, _auftrag, _nocont), e.PageBounds);
if (sender.ToString().Contains("TourenListe"))
{
int bottom = e.MarginBounds.Bottom - e.MarginBounds.Size.Height;
Image img = TourenListe_Entwurf(_auftragliste, _fahrer, bottom);
if (img == null) return;
Rectangle printArea = e.MarginBounds;
// Feste Höhe pro Seite (Pixel der Bitmap)
int pageHeight = printArea.Height;
int startY = currentPage * pageHeight; // Offset für diese Seite
// Ausschnitt: Originalgröße, nur vertikal verschoben
Rectangle sourceRect = new Rectangle(
0, // X=0 (kein horizontaler Ausschnitt)
startY, // Y dieser Seite
img.Width, // volle Breite
pageHeight // nur diese Seitenhöhe
);
// Ziel: Vollbild ohne Skalierung
Rectangle destRect = new Rectangle(
printArea.X, printArea.Y,
img.Width, pageHeight
);
// 1:1 ohne Skalierung zeichnen
e.Graphics.DrawImage(img, destRect, sourceRect, GraphicsUnit.Pixel);
// Nächste Seite?
currentPage++;
e.HasMorePages = (startY + pageHeight) < img.Height;
}
}
private static int CalculateBitmapHeight(List<Auftrag> auftragliste)
{
int firstPageItems = 15; // Erste Seite: 15 Aufträge
int otherPagesItems = 20; // Weitere Seiten: 20 Aufträge
if (auftragliste.Count <= firstPageItems)
return 1119; // Nur 1 Seite
int remainingItems = auftragliste.Count - firstPageItems;
int additionalPages = (int)Math.Ceiling((double)remainingItems / otherPagesItems);
return 1119 * (1 + additionalPages); // 1. Seite + weitere Seiten
}
/// <summary>
@ -912,7 +1069,9 @@ namespace Deckungsbeitrag
/// <summary>
/// LISTVIEW COLUMNSBREITE WIRD ANGEPASST UND DAS UMREIHEN ERMÖGLICHT
/// </summary>
public static ListView Columns_Resize(ListView lv)
public static (ListView lv, ObjectListView olv) Columns_Resize(ListView lv, ObjectListView olv)
{
if (olv == null)
{
int realwidth = lv.Width;
int lvwWidth = 0;
@ -929,14 +1088,32 @@ namespace Deckungsbeitrag
}//COLUMNS BREITE CONTENT ODER HEADER SIZE
//BREITE DER LISTVIEW UNVERÄNDERT BEI NAMEN MIT...
if (!lv.Name.Contains("Lieferungen") & !lv.Name.Contains("STH") & !lv.Name.Contains("Artikel") & !lv.Name.Contains("AufgabeVW") & !lv.Name.Contains("BenutzerVW") & !lv.Name.Contains("Auftrag")) lv.Width = lvwWidth;
if (!lv.Name.Contains("Lieferungen") & !lv.Name.Contains("STH") & !lv.Name.Contains("Artikel") & !lv.Name.Contains("AufgabeVW") & !lv.Name.Contains("Auftrag")) lv.Width = lvwWidth;
return lv;
return (lv, null);
}
public static ListView Columns_Reorder(ListView lv)
else
{
lv.AllowColumnReorder = true;
return lv;
int realwidth = olv.Width;
int lvwWidth = 10;
olv.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
ObjectListView.ColumnHeaderCollection cc = olv.Columns;
for (int i = 0; i < cc.Count; i++)
{
int colWidth = TextRenderer.MeasureText(cc[i].Text, olv.Font).Width + 30;
if (colWidth > cc[i].Width)
{
lvwWidth += cc[i].Width = colWidth;
}
else lvwWidth += cc[i].Width;
}//COLUMNS BREITE CONTENT ODER HEADER SIZE
//BREITE DER LISTVIEW UNVERÄNDERT BEI NAMEN MIT...
if (!olv.Name.Contains("Lieferungen") & !olv.Name.Contains("STH") & !olv.Name.Contains("Artikel") & !olv.Name.Contains("AufgabeVW") & !olv.Name.Contains("Auftrag")) olv.Width = lvwWidth;
return (null, olv);
}
}
/// <summary>
@ -1028,7 +1205,7 @@ namespace Deckungsbeitrag
break;
}
//RESIZE COLUMNS
Columns_Resize(lv);
lv = Columns_Resize(lv, null).lv;
//lv.Width = lv.Width + 22;
lv.AllowColumnReorder = true;
//lv.Height = 150;
@ -1054,7 +1231,7 @@ namespace Deckungsbeitrag
string text = gb.Text;
Font font = gb.Font;
Size textSize = TextRenderer.MeasureText(text, font);
Pen pen = new Pen(Color.FromArgb(1, 53, 101), 2);
Pen pen = new Pen(Color.FromArgb(1, 53, 101), 3);
int textWidth = textSize.Width;
int textHeight = textSize.Height;
@ -1227,7 +1404,28 @@ namespace Deckungsbeitrag
return chart1;
}
public static string GetWochentagDeutsch(DayOfWeek day)
{
switch (day)
{
case DayOfWeek.Monday:
return "Montag";
case DayOfWeek.Tuesday:
return "Dienstag";
case DayOfWeek.Wednesday:
return "Mittwoch";
case DayOfWeek.Thursday:
return "Donnerstag";
case DayOfWeek.Friday:
return "Freitag";
case DayOfWeek.Saturday:
return "Samstag";
case DayOfWeek.Sunday:
return "Sonntag";
default:
return "Unbekannt";
}
}
}
}

View File

@ -9,6 +9,8 @@ using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Management;
using System.Net;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Security.Cryptography.X509Certificates;
using System.Threading;
@ -21,6 +23,7 @@ namespace Deckungsbeitrag
{
public static ImageList imagelist = new ImageList();
public static string userid;
private static bool istest = false;
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
@ -33,6 +36,11 @@ namespace Deckungsbeitrag
Application.SetCompatibleTextRenderingDefault(false);
Screen[] screens = Screen.AllScreens;
if (CheckAndInstallUpdate())
{
return;
}
ImageList_Laden();
string readmePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Verwaltung_ReadMe.txt");
@ -80,6 +88,7 @@ namespace Deckungsbeitrag
}
}
if (istest) { Application.Run(new FormAufleger()); return; }
if (userid.StartsWith("ms") | userid.StartsWith("ps"))
{
@ -127,6 +136,64 @@ namespace Deckungsbeitrag
}
}
private static bool CheckAndInstallUpdate()
{
string currentVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
string updatePath = @"N:\TECHNIK\Software\Wirl-Verwaltung\Setup"; // Ihr interner UNC-Pfad
try
{
string newVersion = File.ReadAllText(Path.Combine(updatePath, "Version.txt")).Trim();
if (new Version(newVersion).CompareTo(new Version(currentVersion)) > 0)
{
DialogResult result = MessageBox.Show(
$"Update verfügbar: {newVersion}\nInstallieren?",
"Update verfügbar",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
string msiPath = Path.Combine(updatePath, "SetupVerwaltung.msi");
if (result == DialogResult.Yes)
{
try
{
// 1. Laufende Prozesse killen
//foreach (var proc in Process.GetProcessesByName("Deckungsbeitrag"))
// try { proc.Kill(); } catch { }
// 2. MSI lokal kopieren (umgeht UNC-Fehler 2203)
string localMsi = Path.Combine(Path.GetTempPath(), "SetupVerwaltung.msi");
File.Copy(msiPath, localMsi, true);
// 3. MSI starten
var psi = new ProcessStartInfo
{
FileName = "msiexec.exe",
Arguments = $"/i \"{localMsi}\" /qn /norestart ALLUSERS=1 /L*v \"C:\\tmp\\update.log\"",
Verb = "runas",
UseShellExecute = true
};
Process.Start(psi)?.Dispose();
return true;
}
catch (Exception ex)
{
MessageBox.Show($"Start fehlgeschlagen: {ex.Message}");
}
}
}
}
catch (Exception ex)
{
MessageBox.Show($"Update-Prüfung fehlgeschlagen: {ex.Message}\nPfad: {updatePath}",
"Fehler", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
return false;
}
private static void ImageList_Laden()
{
imagelist.Images.Add(Resources.Exclamation_Red);

View File

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
//
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
[assembly: AssemblyVersion("1.0.5.0")]
[assembly: AssemblyFileVersion("1.0.5.0")]
[assembly: AssemblyVersion("1.0.5.6")]
[assembly: AssemblyFileVersion("1.0.5.6")]

View File

@ -1661,15 +1661,15 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:SetupVerwaltung"
"ProductCode" = "8:{6B3C669E-C722-4D03-89A0-20A0A08DB496}"
"PackageCode" = "8:{782FEDD4-F1E8-46A9-8434-AE7679248C4E}"
"ProductCode" = "8:{4FD79103-576E-403C-9E02-10D5B764821C}"
"PackageCode" = "8:{BA6A18B4-83A2-4F0C-A72C-B5A0AF2D5643}"
"UpgradeCode" = "8:{2DC7CE56-8D1C-42EB-B326-2E887EBB7F5A}"
"AspNetVersion" = "8:"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:1.0.34"
"ProductVersion" = "8:1.0.43"
"Manufacturer" = "8:Kilian Wirl GmbH"
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:"

View File

@ -29,107 +29,85 @@ namespace Deckungsbeitrag
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UCAuftrag));
this.labelKunde = new System.Windows.Forms.Label();
this.labelDatum = new System.Windows.Forms.Label();
this.labelAktion = new System.Windows.Forms.Label();
this.textBoxExtra = new System.Windows.Forms.TextBox();
this.pictureBoxExpand = new System.Windows.Forms.PictureBox();
this.pictureBoxCollapse = new System.Windows.Forms.PictureBox();
this.checkBoxAuftrag = new System.Windows.Forms.CheckBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxExpand)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxCollapse)).BeginInit();
this.labelRegion = new System.Windows.Forms.Label();
this.labelFahrer = new System.Windows.Forms.Label();
this.labelCont = new System.Windows.Forms.Label();
this.labelContAnz = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// labelKunde
//
this.labelKunde.AutoSize = true;
this.labelKunde.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelKunde.Location = new System.Drawing.Point(3, 20);
this.labelKunde.Location = new System.Drawing.Point(2, 0);
this.labelKunde.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.labelKunde.Name = "labelKunde";
this.labelKunde.Size = new System.Drawing.Size(157, 29);
this.labelKunde.Size = new System.Drawing.Size(126, 24);
this.labelKunde.TabIndex = 0;
this.labelKunde.Text = "KundeName";
//
// labelDatum
// labelRegion
//
this.labelDatum.AutoSize = true;
this.labelDatum.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelDatum.Location = new System.Drawing.Point(4, 0);
this.labelDatum.Name = "labelDatum";
this.labelDatum.Size = new System.Drawing.Size(89, 20);
this.labelDatum.TabIndex = 1;
this.labelDatum.Text = "01.01.2020";
this.labelRegion.AutoSize = true;
this.labelRegion.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelRegion.Location = new System.Drawing.Point(3, 31);
this.labelRegion.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.labelRegion.Name = "labelRegion";
this.labelRegion.Size = new System.Drawing.Size(53, 17);
this.labelRegion.TabIndex = 1;
this.labelRegion.Text = "Region";
//
// labelAktion
// labelFahrer
//
this.labelAktion.AutoSize = true;
this.labelAktion.Location = new System.Drawing.Point(5, 49);
this.labelAktion.Name = "labelAktion";
this.labelAktion.Size = new System.Drawing.Size(47, 17);
this.labelAktion.TabIndex = 2;
this.labelAktion.Text = "Aktion";
this.labelFahrer.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.labelFahrer.AutoSize = true;
this.labelFahrer.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelFahrer.Location = new System.Drawing.Point(151, 32);
this.labelFahrer.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.labelFahrer.Name = "labelFahrer";
this.labelFahrer.Size = new System.Drawing.Size(46, 16);
this.labelFahrer.TabIndex = 2;
this.labelFahrer.Text = "Fahrer";
//
// textBoxExtra
// labelCont
//
this.textBoxExtra.Enabled = false;
this.textBoxExtra.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxExtra.Location = new System.Drawing.Point(3, 84);
this.textBoxExtra.Multiline = true;
this.textBoxExtra.Name = "textBoxExtra";
this.textBoxExtra.Size = new System.Drawing.Size(251, 76);
this.textBoxExtra.TabIndex = 3;
this.textBoxExtra.Text = "Bitte vorher unter 0664/12548698 anrufen!";
this.labelCont.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.labelCont.AutoSize = true;
this.labelCont.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelCont.Location = new System.Drawing.Point(150, 2);
this.labelCont.Name = "labelCont";
this.labelCont.Size = new System.Drawing.Size(82, 20);
this.labelCont.TabIndex = 3;
this.labelCont.Text = "Container:";
//
// pictureBoxExpand
// labelContAnz
//
this.pictureBoxExpand.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxExpand.Image")));
this.pictureBoxExpand.Location = new System.Drawing.Point(229, 41);
this.pictureBoxExpand.Name = "pictureBoxExpand";
this.pictureBoxExpand.Size = new System.Drawing.Size(25, 25);
this.pictureBoxExpand.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.pictureBoxExpand.TabIndex = 4;
this.pictureBoxExpand.TabStop = false;
this.pictureBoxExpand.Click += new System.EventHandler(this.pictureBoxes_Click);
//
// pictureBoxCollapse
//
this.pictureBoxCollapse.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxCollapse.Image")));
this.pictureBoxCollapse.Location = new System.Drawing.Point(229, 41);
this.pictureBoxCollapse.Name = "pictureBoxCollapse";
this.pictureBoxCollapse.Size = new System.Drawing.Size(25, 25);
this.pictureBoxCollapse.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.pictureBoxCollapse.TabIndex = 5;
this.pictureBoxCollapse.TabStop = false;
this.pictureBoxCollapse.Click += new System.EventHandler(this.pictureBoxes_Click);
//
// checkBoxAuftrag
//
this.checkBoxAuftrag.AutoSize = true;
this.checkBoxAuftrag.Location = new System.Drawing.Point(237, 7);
this.checkBoxAuftrag.Name = "checkBoxAuftrag";
this.checkBoxAuftrag.Size = new System.Drawing.Size(18, 17);
this.checkBoxAuftrag.TabIndex = 6;
this.checkBoxAuftrag.UseVisualStyleBackColor = true;
this.labelContAnz.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.labelContAnz.AutoSize = true;
this.labelContAnz.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelContAnz.Location = new System.Drawing.Point(238, 2);
this.labelContAnz.Name = "labelContAnz";
this.labelContAnz.Size = new System.Drawing.Size(39, 20);
this.labelContAnz.TabIndex = 4;
this.labelContAnz.Text = "000";
this.labelContAnz.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// UCAuftrag
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.BackColor = System.Drawing.Color.Silver;
this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Controls.Add(this.checkBoxAuftrag);
this.Controls.Add(this.pictureBoxCollapse);
this.Controls.Add(this.pictureBoxExpand);
this.Controls.Add(this.textBoxExtra);
this.Controls.Add(this.labelAktion);
this.Controls.Add(this.labelDatum);
this.Controls.Add(this.labelContAnz);
this.Controls.Add(this.labelCont);
this.Controls.Add(this.labelFahrer);
this.Controls.Add(this.labelRegion);
this.Controls.Add(this.labelKunde);
this.Margin = new System.Windows.Forms.Padding(2);
this.Name = "UCAuftrag";
this.Size = new System.Drawing.Size(258, 163);
((System.ComponentModel.ISupportInitialize)(this.pictureBoxExpand)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxCollapse)).EndInit();
this.Size = new System.Drawing.Size(280, 61);
this.ResumeLayout(false);
this.PerformLayout();
@ -138,11 +116,9 @@ namespace Deckungsbeitrag
#endregion
private System.Windows.Forms.Label labelKunde;
private System.Windows.Forms.Label labelDatum;
private System.Windows.Forms.Label labelAktion;
private System.Windows.Forms.TextBox textBoxExtra;
private System.Windows.Forms.PictureBox pictureBoxExpand;
private System.Windows.Forms.PictureBox pictureBoxCollapse;
private System.Windows.Forms.CheckBox checkBoxAuftrag;
private System.Windows.Forms.Label labelRegion;
private System.Windows.Forms.Label labelFahrer;
private System.Windows.Forms.Label labelCont;
private System.Windows.Forms.Label labelContAnz;
}
}

View File

@ -1,4 +1,5 @@
using System;
using DatenDB;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
@ -12,30 +13,51 @@ namespace Deckungsbeitrag
{
public partial class UCAuftrag : UserControl
{
private Auftrag auftrag;
private Kunde kunde;
public string KundenName
{
get => labelKunde.Text;
set => labelKunde.Text = value;
}
public string KundenRegion
{
get => labelRegion.Text;
set => labelRegion.Text = value;
}
public string ContainerAnzahl
{
get => labelContAnz.Text;
set => labelContAnz.Text = value;
}
public string Fahrer
{
get => labelFahrer.Text;
set => labelFahrer.Text = value;
}
public UCAuftrag()
{
InitializeComponent();
this.Size = new Size(265, 70);
this.pictureBoxCollapse.Visible = false;
this.textBoxExtra.Enabled = false;
if (!string.IsNullOrEmpty(textBoxExtra.Text)) pictureBoxExpand.BackColor = Color.Yellow;
else pictureBoxExpand.Enabled = false;
//Priorität mit BackColor...!!
}
private void pictureBoxes_Click(object sender, EventArgs e)
public UCAuftrag(Auftrag auftrag) : this()
{
if(this.Size.Height == 148)
{
this.Size = new Size(200, 60);
this.pictureBoxCollapse.Visible = false;
this.pictureBoxExpand.Visible = true;
}
else
{
this.Size = new Size(200, 148);
this.pictureBoxCollapse.Visible = true;
this.pictureBoxExpand.Visible = false;
}
this.auftrag = auftrag;
this.kunde = Kunde.GetKunde(null, auftrag.KundeID, null);
Benutzer fahrer = Benutzer.GetBenutzer(null, auftrag.ArbeiterID);
// Wenn Kunde ist Bar Diverse 2320000.
if (auftrag.KundeID == 1299) KundenName = auftrag.ZusatzInfo;
else KundenName = !string.IsNullOrWhiteSpace(this.kunde.Suchtext) ? this.kunde.Suchtext : this.kunde.KundeName;
// Wenn Fahrer hat zweiten Auftrag auf Rampe erstellt, dann Auftrag 2 als Zusatzinfo.
if (auftrag.ZusatzInfo.Contains("Auftrag 2")) KundenName += " Auftrag 2";
KundenRegion = this.kunde.Region;
ContainerAnzahl = auftrag.Container.ToString();
Fahrer = fahrer.Vorname + " " + fahrer.Nachname;
if (this.auftrag.Status == AuftragStatus.Aufgelegt)
this.BackColor = Color.YellowGreen;
}
}
}

View File

@ -117,23 +117,4 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pictureBoxExpand.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAKxJREFUOE/lj7ENwyAURCmzQEbIIuzABFnCk9DTsk7aMAE9LflHOGQIOE6dk076
n3/3ZKuVUkp5cL2cFEpa6+J/AkjoUsclYJ/pJIdN/BBf6/4BwE2MzFZKFB5CCNl7j2CBiEfADTdkkJX5
DZHhHmPMxpgSds4RMgKeuGFHFh1022fxuIO0HeHJvf3uEsLZWtu9d2VqBhm9LFNHkK9lagY5Xab2kJ/L
FCHHZaVe5vSZi694QXsAAAAASUVORK5CYII=
</value>
</data>
<data name="pictureBoxCollapse.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAKZJREFUOE/dkLERwyAMRT1KRvAM9IxFzwgeip4VUtEqfIx0IAuSOsW7E+L/d8YH
EZmUUs7Ku3NaGWAuuRxCILCTPBZj2TnX2Emmg1X+JvmpzFiSZXk3j5Ldm+WMeSWBIOacyXuvLycBdixB
Fh10+QlXSolijGKuaEH7UmSQrfMl/4AlCCDYz5Og75qk0spABD3wGuaHQGeADJqVQGMuwZ8IRvT9DR0f
URrqT/bz6K8AAAAASUVORK5CYII=
</value>
</data>
</root>

View File

@ -5,6 +5,7 @@ using System.Text.Json;
public class UserSettingsManager
{
#region Speicher-Properties
public string DruckerSWS { get; set; } = "";
public string DruckerEtikett { get; set; } = "";
public decimal CopiesSWS { get; set; } = 0;
@ -15,12 +16,19 @@ public class UserSettingsManager
public Color Hubband { get; set; } = Color.LightBlue;
public Color Trockner { get; set; } = Color.Green;
public Color Entladeband { get; set; } = Color.Violet;
public Point LocationGroupBox { get; set; } = new Point(0, 0);
public Point LocationGroupBoxStatistik { get; set; } = new Point(0, 0);
public Point LocationGroupBoxSaison { get; set; } = new Point(0, 0);
public Point LocationGroupBoxContainer { get; set; } = new Point(0, 0);
public Point LocationButtonNeuerUser { get; set; } = new Point(0, 0);
public Point LocationButtonNeuerAuftrag { get; set; } = new Point(0, 0);
public Point LocationButtonNeueInventur { get; set; } = new Point(0, 0);
public Point LocationButtonNeuerStand { get; set; } = new Point(0, 0);
public Point LocationButtonNeueAufgabe { get; set; } = new Point(0, 0);
public Byte[] OLV_State { get; set; }
//TODO: UserSetting Properties eintragen und in EinstellungsScreen abrufen.
#endregion
private readonly string _configPath;
public UserSettingsManager()
@ -50,10 +58,17 @@ public class UserSettingsManager
Hubband = loadedSettings.Hubband;
Trockner = loadedSettings.Trockner;
Entladeband = loadedSettings.Entladeband;
LocationGroupBox = loadedSettings.LocationGroupBox;
LocationGroupBoxStatistik = loadedSettings.LocationGroupBoxStatistik;
LocationGroupBoxSaison = loadedSettings.LocationGroupBoxSaison;
LocationGroupBoxContainer = loadedSettings.LocationGroupBoxContainer;
LocationButtonNeuerUser = loadedSettings.LocationButtonNeuerUser;
LocationButtonNeuerAuftrag = loadedSettings.LocationButtonNeuerAuftrag;
LocationButtonNeueInventur = loadedSettings.LocationButtonNeueInventur;
LocationButtonNeuerStand = loadedSettings.LocationButtonNeuerStand;
LocationButtonNeueAufgabe = loadedSettings.LocationButtonNeueAufgabe;
OLV_State = loadedSettings.OLV_State;
// Weitere Properties hier zuweisen
//TODO: Weitere Properties von oben hier zuweisen
}

View File

@ -1,20 +1,21 @@
=====================================
NEUIGKEITEN - Version 1.0.5.0
NEUIGKEITEN - Version 1.0.5.6
=====================================
Build-Info:
- Build-Typ: Release Build
- Erledigte TODOs: 18
- Offene TODOs: 32
- Install-Reminders: 2
- Changes: 41
- Install-Reminders: 3
- Changes: 47
=== ⚙️ INSTALL-REMINDER (2) ===
=== ⚙️ INSTALL-REMINDER (3) ===
- ⚙️ Change Status in DB-Auftrag von 7 auf 6 [Auftrag.cs]
- ⚙️ Spalte Abteilungen in Auftrag muss in Wirl_DB_17012023 eingefügt werden. [FormExpedit.cs]
- ⚙️ Spalte Reklamation in Wirl_DB_17012023 einfügen [KundeArtikel.cs]
=== ✨ CHANGES (41) ===
=== ✨ CHANGES (47) ===
- ✨ AbteilungsStatus ist implementiert. [FormExpedit.cs]
- ✨ Als zweite Sortierung wird immer der Liefertag gewählt. [FormExpedit.cs]
- ✨ Auftragverwaltung Spalten wurden aktualisiert. Mit Icons, Buttons und Sortierung auf Liefertag. [FormMain.cs]
@ -31,26 +32,32 @@ Build-Info:
- ✨ Es wird der zuständige Fahrer angezeigt. ToolTip zeigt den Grund falls vorhanden(Bei Sonderzuteilung). [FormExpedit.cs]
- ✨ Expedit hat Button für Reklamation statt Nachwäsche. Dadurch kann Mirka die Reklamation bearbeiten und eingeben. (AKTUELL NUR MIRKA) [FormExpedit.cs]
- ✨ Fahrer können abgeholte Aufträge erstellen und ausgelieferte Aufträge markieren. [FormMain.cs]
- ✨ Form für Aufleger soweit fertig. [FormAufleger.cs]
- ✨ Frottee Expedit alle Buttons werden ausgeblendet. [FormExpedit.cs]
- ✨ Frottee Expedit zeigt Aufträge die bei Frottee nicht Beendet wurden. [FormExpedit.cs]
- ✨ Geschäftaufträge werden in neuem Tab angezeigt. [FormExpedit.cs]
- ✨ GroupBox nicht mehr notwendig. Etikette Druck über ObjectListView. [FormExpedit.cs]
- ✨ Highlightfarbe bleibt auch wenn unfocused. (Farbe ändern?) [FormExpedit.cs]
- ✨ Hintergrundfarbe wird jetzt immer richtig zugewiesen. [FormAufleger.cs]
- ✨ Innerhalb eines Tages kann die Reihenfolge angepasst werden. [UCTabPageLKW.cs]
- ✨ Keine Timer da Probleme mit DB-Connection. DataGridView wird neu geladen wenn Auftrag neu gewählt wird. [FormExpedit.cs]
- ✨ Kontrolle ob mehrere Aufträge vorhanden fertig. [FormAufleger.cs]
- ✨ Kundeneingabe mit ? fügt einmaligen Kundenname als ZusatzInfo hinzu und wählt Kunde BAR DIVERSE 2320000 [FormExpedit.cs]
- ✨ Lieferrhythmen können angepasst und übernommen werden. [UCTabPageLKW.cs]
- ✨ Liefertag errechnet sich jetzt aus dem Lieferrhythmus. Funktion wählt nächstmöglichen Liefertermin im Rhythmus. Bei Klick auf Tag bleibt alles gleich. (Auch mit Heute liefern?) [FormNeuerAuftrag.cs]
- ✨ NeuerAuftrag wird jetzt mit Propertie AuftragTyp aufgerufen. Dadurch ist die Auswahl des AuftragTyp konstanter. [FormNeuerAuftrag.cs]
- ✨ ObjectListView speichert Status automatisch beim schließen des Fensters und läd wieder wenn neu gestartet wird. [FormExpedit.cs]
- ✨ Programm wird mit Button geschlossen. (Sicherheitsabfrage ob wirklich gewollt wird gemacht.) [FormAufleger.cs]
- ✨ Rechtsklick auf Spaltenheader ermöglicht Filtern. [FormExpedit.cs]
- ✨ Saisonauswahl DropDown eingefügt. Wenn Zwischensaison gewählt wir Warnung wegen falschen Liefertagen gezeigt. Sonst wird Saisonrhythmus als Liefertag beachtet. [FormMain.cs]
- ✨ Sortierte Spalte hat leicht andere Farbe. (Besser zu erkennen wonach sortiert wird) [FormExpedit.cs]
- ✨ Speichern und Laden wurde angepasst, JSON enthält jetzt pro Tag eine Kundenliste. [UCTabPageLKW.cs]
- ✨ Status anpassen fertig. [FormAufleger.cs]
- ✨ Suchen eines Auftrags mit Scan möglich. [FormExpedit.cs]
- ✨ TabText wird mit Benutzerliste verglichen. Wenn ein passender gefunden wird Tag hinterlegt. [FormTourenplanung.cs]
- ✨ Wenn BenutzerRolle ist Expedit wird abgefragt ob weitere Reklamation eingegeben wird. [FormFehlmengeCount.cs]
- ✨ Wenn BenutzerRolle ist Expedit wird statt Fehlmenge Reklamation erhöht. [FormFehlmengeCount.cs]
- ✨ Wenn BenutzerRolle ist Fahrer wird Fenster nicht geschlossen sondern mit Kundenauswahl weiter gemacht. [FormNeuerAuftrag.cs]
- ✨ Wenn der Lieferrhythmus geändert wird, werden KundenControls an falschen Tagen gelöscht. [UCTabPageLKW.cs]
- ✨ Wenn Doppelklick auf Zelle, wird gefragt ob bearbeiten wirklich gewollt. Sonst wird blockiert. [FormExpedit.cs]
- ✨ Wenn Fahrer Auftrag erstellt wird beim Speichern standardmäßig seine ID als ArbeiterID gespeichert. Bedeutet ausführender = Fahrer selber. [FormNeuerAuftrag.cs]
@ -85,6 +92,7 @@ Build-Info:
- 🔄 Artikel Update weiter testen und programmieren. Für ArtikelKurzliste ausprogrammieren. [FormMain.cs]
- 🔄 Auftrag Schnellerfassung erstellen. Kundenliste aus JSON in OLV einfügen wenn schmutzig > 0 dann Auftrag erstellen. Spalten: "Kunde, schmutzig, liefertag, zustellfahrer" evnetuell in AuftragVW? [FormMain.cs]
- 🔄 Auftragauswahl aufrufen statt NeuerAuftrag. (Wenn Fahrer Aufträge erstellen) [FormWSVerfolgung.cs]
- 🔄 Aufträge zusammenführen wenn gleicher Kunde und Liefertag. [FormNeuerAuftrag.cs]
- 🔄 Ausprobieren ob die Ausrichtung jetzt richtig ist. Sowohl beim ersten wie auch zweiten Mal. [Funktionen.cs]
- 🔄 Deaktivieren wenn SPS funktioniert. Transport wird simuliert. [FormWSVerfolgung.cs]
- 🔄 Design des Controls anpassen. Eventuell im Designer erstellen. [KundenControl.cs]
@ -104,14 +112,13 @@ Build-Info:
- 🔄 Testen ob Get_ArtikelKurzliste funktioniert. [FormMain.cs]
- 🔄 Testen ob Scan mit Prompt bei Suchen funktioniert. Kundenummer und Text etc. (meherere QR-Codes teseten) [FormExpedit.cs]
- 🔄 Testen ob SWS-QRCodes gelesen werden können. Nur notwendig bis alle SWS-QRCodes richtig gedruckt und gelesen werden. [Kunde.cs]
- 🔄 Überlegen ob das der richtige Weg ist. Eventuell in Expedit sowohl KundeAufgabe wie auch AuftragAufgabe anzeigen? NOTWENDIG? [FormNeuerAuftrag.cs]
- 🔄 Umbau in Switch. [FormAufleger.cs]
- 🔄 Umbau in Switch. [FormWSVerfolgung.cs]
- 🔄 UserSetting Properties eintragen und in EinstellungsScreen abrufen. [UserSettingsManager.cs]
- 🔄 Weitere Properties von oben hier zuweisen [UserSettingsManager.cs]
- 🔄 Wenn Frottee-Expedit auch Relamation bearbeitet, muss BenutzerRolle abgefragt werden. siehe CHANGES. [FormFehlmengeCount.cs]
- 🔄 Wenn GroupBox nicht notwendig, dann löschen. [FormExpedit.cs]
- 🔄 Wenn kunde null dann return. [FormNeuerAuftrag.cs]
- 🔄 Wenn Nachwäsche oder Müllwäsche alle Artikel anzeigen. [FormFehlmengeCount.cs]
Installation: 11.02.2026 13:09
Installation: 17.02.2026 18:05
=====================================