Div.Änderungen, AuftragDetail, etc.

This commit is contained in:
Kilian Wirl 2026-04-22 17:30:01 +02:00
parent d73229b1d1
commit 9ab145f5ed
14 changed files with 243 additions and 389 deletions

View File

@ -80,7 +80,7 @@
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.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.tLPAuftrag.Margin = new System.Windows.Forms.Padding(4);
this.tLPAuftrag.Name = "tLPAuftrag";
this.tLPAuftrag.RowCount = 4;
this.tLPAuftrag.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 62F));
@ -182,7 +182,7 @@
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(1108, 66);
this.fLP_T5.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.fLP_T5.Margin = new System.Windows.Forms.Padding(4);
this.fLP_T5.Name = "fLP_T5";
this.fLP_T5.Size = new System.Drawing.Size(271, 551);
this.fLP_T5.TabIndex = 19;
@ -195,7 +195,7 @@
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(832, 66);
this.fLP_T4.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.fLP_T4.Margin = new System.Windows.Forms.Padding(4);
this.fLP_T4.Name = "fLP_T4";
this.fLP_T4.Size = new System.Drawing.Size(268, 551);
this.fLP_T4.TabIndex = 18;
@ -208,7 +208,7 @@
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(556, 66);
this.fLP_T3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.fLP_T3.Margin = new System.Windows.Forms.Padding(4);
this.fLP_T3.Name = "fLP_T3";
this.fLP_T3.Size = new System.Drawing.Size(268, 551);
this.fLP_T3.TabIndex = 17;
@ -221,7 +221,7 @@
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(280, 66);
this.fLP_T2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.fLP_T2.Margin = new System.Windows.Forms.Padding(4);
this.fLP_T2.Name = "fLP_T2";
this.fLP_T2.Size = new System.Drawing.Size(268, 551);
this.fLP_T2.TabIndex = 16;
@ -309,7 +309,7 @@
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(4, 66);
this.fLP_T1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.fLP_T1.Margin = new System.Windows.Forms.Padding(4);
this.fLP_T1.Name = "fLP_T1";
this.fLP_T1.Size = new System.Drawing.Size(268, 551);
this.fLP_T1.TabIndex = 15;
@ -320,7 +320,7 @@
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(4, 687);
this.textBoxScan.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.textBoxScan.Margin = new System.Windows.Forms.Padding(4);
this.textBoxScan.Name = "textBoxScan";
this.textBoxScan.Size = new System.Drawing.Size(268, 46);
this.textBoxScan.TabIndex = 25;

View File

@ -42,8 +42,6 @@
this.labelContainer = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.buttonSWS = new System.Windows.Forms.Button();
this.buttonSpeichern = new System.Windows.Forms.Button();
this.label7 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.comboBoxPriority = new System.Windows.Forms.ComboBox();
@ -89,17 +87,17 @@
// buttonFertig
//
this.buttonFertig.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonFertig.BackColor = System.Drawing.Color.Turquoise;
this.buttonFertig.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.buttonFertig.FlatAppearance.BorderSize = 0;
this.buttonFertig.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonFertig.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonFertig.ForeColor = System.Drawing.Color.Black;
this.buttonFertig.Location = new System.Drawing.Point(286, 615);
this.buttonFertig.Location = new System.Drawing.Point(557, 615);
this.buttonFertig.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.buttonFertig.Name = "buttonFertig";
this.buttonFertig.Size = new System.Drawing.Size(267, 50);
this.buttonFertig.TabIndex = 14;
this.buttonFertig.Text = "Auftrag abschließen";
this.buttonFertig.Text = "Speichern/Abschließen";
this.buttonFertig.UseVisualStyleBackColor = false;
this.buttonFertig.Click += new System.EventHandler(this.buttonFertig_Click);
//
@ -227,40 +225,6 @@
this.label6.TabIndex = 32;
this.label6.Text = "schmutzig";
//
// buttonSWS
//
this.buttonSWS.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonSWS.BackColor = System.Drawing.Color.Yellow;
this.buttonSWS.FlatAppearance.BorderSize = 0;
this.buttonSWS.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonSWS.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonSWS.ForeColor = System.Drawing.Color.Black;
this.buttonSWS.Location = new System.Drawing.Point(14, 615);
this.buttonSWS.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.buttonSWS.Name = "buttonSWS";
this.buttonSWS.Size = new System.Drawing.Size(267, 50);
this.buttonSWS.TabIndex = 34;
this.buttonSWS.Text = "Sonderetikett drucken";
this.buttonSWS.UseVisualStyleBackColor = false;
this.buttonSWS.Click += new System.EventHandler(this.buttonSWS_Click);
//
// buttonSpeichern
//
this.buttonSpeichern.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonSpeichern.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.buttonSpeichern.FlatAppearance.BorderSize = 0;
this.buttonSpeichern.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonSpeichern.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonSpeichern.ForeColor = System.Drawing.Color.Black;
this.buttonSpeichern.Location = new System.Drawing.Point(558, 615);
this.buttonSpeichern.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.buttonSpeichern.Name = "buttonSpeichern";
this.buttonSpeichern.Size = new System.Drawing.Size(267, 50);
this.buttonSpeichern.TabIndex = 36;
this.buttonSpeichern.Text = "Änderungen speichern";
this.buttonSpeichern.UseVisualStyleBackColor = false;
this.buttonSpeichern.Click += new System.EventHandler(this.buttonSpeichern_Click);
//
// label7
//
this.label7.AutoSize = true;
@ -421,8 +385,6 @@
this.Controls.Add(this.comboBoxPriority);
this.Controls.Add(this.label10);
this.Controls.Add(this.label7);
this.Controls.Add(this.buttonSpeichern);
this.Controls.Add(this.buttonSWS);
this.Controls.Add(this.label6);
this.Controls.Add(this.label5);
this.Controls.Add(this.pictureBoxMinus);
@ -471,8 +433,6 @@
private System.Windows.Forms.Label labelContainer;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Button buttonSWS;
private System.Windows.Forms.Button buttonSpeichern;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.ComboBox comboBoxPriority;

View File

@ -36,7 +36,7 @@ namespace Deckungsbeitrag
//WENN AUFTRAG SPEICHERN
private bool _tosave = false;
public bool tosave
public bool Tosave
{
get { return _tosave; }
set
@ -44,15 +44,15 @@ namespace Deckungsbeitrag
_tosave = value;
if (_tosave)
{
buttonSpeichern.Enabled = true;
buttonSpeichern.BackColor = Color.FromArgb(0,192,0);
buttonFertig.Enabled = true;
buttonFertig.BackColor = Color.FromArgb(0,192,0);
}
}
}
//WENN AUFTRAG ABZUSCHLIESSEN
private bool _toclose = false;
public bool toclose
public bool Toclose
{
get { return _toclose; }
set
@ -73,9 +73,6 @@ namespace Deckungsbeitrag
//this.BackColor = Properties.Settings.Default.Wirlblau;
labelContainer_TextChanged(this.labelContainer, EventArgs.Empty);
//SPEICHERN UND ABSCHLIESSEN BUTTONS WERDEN FUNKTIONSLOS UND GRAU
buttonSpeichern.Enabled = buttonFertig.Enabled = false;
buttonSpeichern.BackColor = buttonFertig.BackColor = Color.Gray;
}
public FormAuftragDetail(Auftrag auftrag, Benutzer benutzer) : this()
{
@ -107,13 +104,13 @@ namespace Deckungsbeitrag
if (this.auftrag.Typ != AuftragTyp.Inventur || (this.auftrag.Typ == AuftragTyp.Inventur & this.auftrag.Status == AuftragStatus.Herrichten)) Load_OLV();
else
{
if (this.auftrag.Status == AuftragStatus.Warten) buttonSpeichern.Visible = buttonFertig.Visible = buttonSWS.Visible = false;
if (this.auftrag.Status == AuftragStatus.Warten) buttonFertig.Visible = false;
Load_UCInventur(this.auftrag);
}
this.ClientSize = new Size(this.oLVArtikel.Right + 10, this.ClientSize.Height);
//WENN STATUS VORBEREITET BUTTON FERTIG ENABLEN
if (auftrag.Status == AuftragStatus.Vorbereitet) { buttonFertig.Enabled = true; buttonFertig.BackColor = Color.FromArgb(0, 192, 0); toclose = true; }
if (auftrag.Status == AuftragStatus.Vorbereitet) { buttonFertig.Enabled = true; buttonFertig.BackColor = Color.FromArgb(0, 192, 0); Toclose = true; }
}
private void Load_UCInventur(Auftrag _auftrag)
@ -179,7 +176,7 @@ namespace Deckungsbeitrag
}
private void comboBox_SelectedValueChanged(object sender, EventArgs e)
{
tosave = true;
Tosave = true;
}
private void labelContainer_TextChanged(object sender, EventArgs e)
{
@ -187,80 +184,8 @@ namespace Deckungsbeitrag
else { this.pictureBoxMinus.Enabled = this.pictureBoxDirtMinus.Enabled = true; this.pictureBoxMinus.BackColor = this.pictureBoxDirtMinus.BackColor = Color.Red; }
}
/// <summary>
/// TOSAVE
/// </summary>
//BEI CLICK AUF CONTAINER +/- SPEICHERN WIRD AKITV
private void Container_Click(object sender, EventArgs e)
{
PictureBox pb = (PictureBox)sender;
int cont = 0;
if (pb.Name.Contains("Dirt"))
{
cont = int.Parse(this.labelContDirt.Text);
if (pb.Name.ToString().Contains("Plus")) cont++;
if (pb.Name.ToString().Contains("Minus")) cont--;
this.labelContDirt.Text = cont.ToString();
}
else
{
cont = int.Parse(this.labelContainer.Text);
if (pb.Name.ToString().Contains("Plus")) cont++;
if (pb.Name.ToString().Contains("Minus")) cont--;
this.labelContainer.Text = cont.ToString();
}
tosave = true;
}
//BEI CLICK AUF DATUM SPEICHERN WIRD AKTIV
private void FormAuftragDetail_MouseClick(object sender, MouseEventArgs e)
{
Control ctr = this.GetChildAtPoint(e.Location);
if (ctr != null)
{
if (ctr.Name.Contains("dTP"))
{
ctr.Enabled = true;
tosave = true;
}
}
}
//WENN LISTVIEW NICHT FOCUSED (FORM.LOAD) TOSAVE BLEIBT FALSE
private void oLVArtikel_ItemCheck(object sender, ItemCheckEventArgs e)
{
ObjectListView olv = (ObjectListView)sender;
if (e.NewValue != e.CurrentValue) { tosave = true; }
}
/// <summary>
/// TOCLOSE
/// </summary>
private void oLVArtikel_ItemChecked(object sender, ItemCheckedEventArgs e)
{
ObjectListView olv = (ObjectListView)sender;
if (olv.Items.Count == olv.CheckedItems.Count) toclose = true;
foreach(OLVListItem item in olv.CheckedItems)
{
AuftragArtikel auftragArtikel = (AuftragArtikel)item.RowObject;
auftragArtikel.Erledigt = true;
auftragArtikel.Save();
}
}
/// <summary>
/// BUTTONS
/// </summary>
//ÄNDERUNGEN SPEICHERN
private void buttonSpeichern_Click(object sender, EventArgs e)
{
if (tosave)
private void AuftragSpeichern()
{
auftrag.Liefertag = dTPLiefertag.Value;
auftrag.ContainerClean = int.Parse(this.labelContainer.Text);
@ -285,15 +210,68 @@ namespace Deckungsbeitrag
WriteToCSV(dictionary);
}
}
tosave = false;
Tosave = false;
}
//SCHMUTZWÄSCHESCHEIN DRUCKEN
private void EtikettDrucken()
{
//DONE: Bestand von allen Artikeln speichern und für Druck vorbereiten.
//TODO: Erstellen von SonderAuftrag und Drucken von Etikett testen.
if (MessageBox.Show("Möchtest du Etiketten für die Änderung drucken?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
Funktionen.SonderEtikett_Drucken(this.auftrag, dictionary);
etikettgedruckt = true;
}
}
this.DialogResult = DialogResult.OK;
this.Close();
#region ToSave
//BEI CLICK AUF CONTAINER +/- SPEICHERN WIRD AKITV
private void Container_Click(object sender, EventArgs e)
{
PictureBox pb = (PictureBox)sender;
int cont = 0;
if (pb.Name.Contains("Dirt"))
{
cont = int.Parse(this.labelContDirt.Text);
if (pb.Name.ToString().Contains("Plus")) cont++;
if (pb.Name.ToString().Contains("Minus")) cont--;
this.labelContDirt.Text = cont.ToString();
}
else
{
cont = int.Parse(this.labelContainer.Text);
if (pb.Name.ToString().Contains("Plus")) cont++;
if (pb.Name.ToString().Contains("Minus")) cont--;
this.labelContainer.Text = cont.ToString();
}
Tosave = true;
}
//BEI CLICK AUF DATUM SPEICHERN WIRD AKTIV
private void FormAuftragDetail_MouseClick(object sender, MouseEventArgs e)
{
Control ctr = this.GetChildAtPoint(e.Location);
if (ctr != null)
{
if (ctr.Name.Contains("dTP"))
{
ctr.Enabled = true;
Tosave = true;
}
}
}
//WENN LISTVIEW NICHT FOCUSED (FORM.LOAD) TOSAVE BLEIBT FALSE
private void oLVArtikel_ItemCheck(object sender, ItemCheckEventArgs e)
{
ObjectListView olv = (ObjectListView)sender;
if (e.NewValue != e.CurrentValue) { Tosave = true; }
}
#endregion
#region Button-Click
//AUFTRAG ABBRECHEN
private void buttonAbbrechen_Click(object sender, EventArgs e)
{
@ -319,22 +297,47 @@ namespace Deckungsbeitrag
//AUFTRAG ABSCHLIESSEN
private void buttonFertig_Click(object sender, EventArgs e)
{
if (toclose)
EtikettDrucken();
if (Tosave) AuftragSpeichern();
if (Toclose)
{
if (auftrag.Typ < AuftragTyp.Standerhöhung || auftrag.Typ > AuftragTyp.Regelmäßig)
if (int.Parse(this.labelContainer.Text) == 0) if (meldung.NoCleanContainer() == DialogResult.OK) return;
if (int.Parse(this.labelContainer.Text) == 0)
{
switch (auftrag.Typ)
{
case AuftragTyp.Geschäft:
meldung.NoCleanContainer();
return;
case AuftragTyp.Standart:
meldung.NoCleanContainer();
return;
case AuftragTyp.Inventur:
break;
case AuftragTyp.SOLL_Erhoehung:
break;
case AuftragTyp.SOLL_Verminderung:
break;
case AuftragTyp.Regelmäßig:
break;
case AuftragTyp.AufAbruf:
meldung.NoCleanContainer();
return;
case AuftragTyp.Laufzettel:
break;
default:
break;
}
}
if (int.Parse(this.labelContainer.Text) != auftrag.ContainerClean)
{
switch (meldung.DifferentCleanContainer())
{
case DialogResult.Cancel:
break;
return;
case DialogResult.Yes:
{
auftrag.ContainerClean = int.Parse(this.labelContainer.Text);
auftrag.Liefertag = dTPLiefertag.Value;
//WENN BEARBEITET UND AUSGEDRUCKT WIRD GEDRUCKT VERÄNDERT UND ERSTELLT IST URSPRUNGSDATUM
auftrag.Gedruckt = DateTime.Now;
auftrag.GedrucktVon = benutzer.BenutzerID;
auftrag.Status = AuftragStatus.Fertig;
@ -346,25 +349,15 @@ namespace Deckungsbeitrag
}
else nocont = false;
DialogResult result = Funktionen.Etikett_Drucken(auftrag, nocont);
if (result == DialogResult.OK)
{
this.auftrag.Save();
this.Close();
}
Funktionen.Etikett_Drucken(auftrag, nocont);
}
break;
case DialogResult.No:
{
auftrag.ContainerClean = int.Parse(this.labelContainer.Text);
auftrag.Liefertag = dTPLiefertag.Value;
//WENN BEARBEITET UND NICHT GEDRUCKT WIRD ERSTELLT VERÄNDERT UND GEDRUCKT IST URSPRUNGSDATUM
auftrag.Erstellt = DateTime.Now;
auftrag.ErstelltVon = (int)benutzer.BenutzerID;
auftrag.Status = AuftragStatus.Fertig;
this.auftrag.Save();
this.Close();
}
break;
default:
@ -376,8 +369,10 @@ namespace Deckungsbeitrag
auftrag.Erledigt = DateTime.Now;
auftrag.ErledigtVon = (int)benutzer.BenutzerID;
auftrag.Status = AuftragStatus.Fertig;
auftrag.Save();
}
auftrag.Save();
// Wenn Inventur wird Fertig-File erstellt.
if (auftrag.Typ == AuftragTyp.Inventur)
{
string loadPath = Path.Combine(ConfigurationManager.AppSettings["DateiSavePfad"], "Listen\\Inventuren") ?? "Inventuren";
@ -390,29 +385,31 @@ namespace Deckungsbeitrag
File.Delete(Path.Combine(loadPath, invFiles[0]));
}
}
toclose = tosave = false;
Toclose = Tosave = false;
}
this.DialogResult = DialogResult.OK;
this.Close();
}
//SCHMUTZWÄSCHESCHEIN DRUCKEN
private void buttonSWS_Click(object sender, EventArgs e)
#endregion
/// <summary>
/// TOCLOSE
/// </summary>
private void oLVArtikel_ItemChecked(object sender, ItemCheckedEventArgs e)
{
//TODO: Bestand von allen Artikeln speichern und für Druck vorbereiten.
//TODO: Eventuell die Zahlen in CSV speichern und von dort für Druck verwenden?!
//TODO: Erstellen von SonderAuftrag und Drucken von Etikett testen.
if (MessageBox.Show("Möchtest du Etiketten für die Änderung drucken?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
ObjectListView olv = (ObjectListView)sender;
if (olv.Items.Count == olv.CheckedItems.Count) Toclose = true;
foreach(OLVListItem item in olv.CheckedItems)
{
Funktionen.SonderEtikett_Drucken(this.auftrag, dictionary);
etikettgedruckt = true;
AuftragArtikel auftragArtikel = (AuftragArtikel)item.RowObject;
auftragArtikel.Erledigt = true;
auftragArtikel.Save();
}
}
}
/// <summary>
/// SonderAuftrag in CSV-Liste eintragen. Jede Änderung wird in eine Zeile eingetragen. Rek./NW/Rest
@ -491,10 +488,6 @@ namespace Deckungsbeitrag
}
/// <summary>
/// UNUSED THINGS
/// </summary>
//PRINT PAGE FÜR DRUCK
private void FormAuftragDetail_Shown(object sender, EventArgs e)
{
@ -539,7 +532,7 @@ namespace Deckungsbeitrag
ObjectListView olv = (ObjectListView)sender;
AuftragArtikel auftragArtikel = (AuftragArtikel)e.RowObject;
if (e.Column.Text == "Anzahl") diff = (int)e.Value - ((int)e.NewValue);
if (diff > 0) tosave = true;
if (diff > 0) Tosave = true;
auftragArtikel.Anzahl = (int)e.NewValue;
auftragArtikel.Save();
@ -612,7 +605,7 @@ namespace Deckungsbeitrag
}
private void oLVArtikel_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
tosave = true;
Tosave = true;
}
private void FormAuftragDetail_Resize(object sender, EventArgs e)
@ -629,7 +622,7 @@ namespace Deckungsbeitrag
private void FormAuftragDetail_FormClosing(object sender, FormClosingEventArgs e)
{
if (tosave)
if (Tosave)
{
if (MessageBox.Show("Möchtest du die Änderungen wirklich verwerfen?", "ÄNDERUNGEN VERWERFEN", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{

View File

@ -355,7 +355,6 @@ namespace Deckungsbeitrag
dirtCol.ShowTextInHeader = false;
dirtCol.MinimumWidth = dirtCol.MaximumWidth = 80;
}
var cleanCol = Find("Sauber");
if (cleanCol != null)
{
@ -386,6 +385,12 @@ namespace Deckungsbeitrag
fertigCol.MinimumWidth = fertigCol.MaximumWidth = 80;
}
// --- Tour-Column ---
var tourCol = Find("Tour");
if (tourCol != null)
{
if (this.benutzer.Rolle != BenutzerRolle.Expedit || this.benutzer.Rolle != BenutzerRolle.Frottee) tourCol.IsEditable = true;
}
}
private void Olv_CellToolTipShowing(object sender, ToolTipShowingEventArgs e)
{
@ -566,7 +571,7 @@ namespace Deckungsbeitrag
}
break;
default:
if (_auftrag.Typ == AuftragTyp.Regelmäßig || _auftrag.Typ == AuftragTyp.Standerhöhung || _auftrag.Typ == AuftragTyp.Standverminderung || _auftrag.Typ == AuftragTyp.Inventur)
if (_auftrag.Typ == AuftragTyp.Regelmäßig || _auftrag.Typ == AuftragTyp.SOLL_Erhoehung || _auftrag.Typ == AuftragTyp.SOLL_Verminderung || _auftrag.Typ == AuftragTyp.Inventur)
{
FormAuftragDetail auftragDetail = new FormAuftragDetail(_auftrag, this.benutzer);
if (auftragDetail.ShowDialog() == DialogResult.OK)
@ -965,18 +970,22 @@ namespace Deckungsbeitrag
e.Cancel = true;
return;
}
else if (meldung.GetFrage(this, $"Möchtest du die gewählte Zelle wirklich bearbeiten?", false) == DialogResult.No) { e.Cancel = true; return; }
if (meldung.GetFrage(this, $"Möchtest du die gewählte Zelle wirklich bearbeiten?", false) == DialogResult.No) { e.Cancel = true; return; }
if (e.Column.AspectName == "Tour")
{
Saison saison = Saison.GetAktivSaison();
List<Tour> list = Tour.GetSaisonListe(saison);
var row = (View_Auftrag_Expedit)e.RowObject;
var aktuelleTour = list.Find(x => x.TourID == row.TourID);
ComboBox touren = new ComboBox
{
Bounds = e.CellBounds,
DropDownStyle = ComboBoxStyle.DropDownList,
DisplayMember = "Bezeichnung",
DataSource = list
DataSource = list,
};
e.Control = touren;
}

View File

@ -363,6 +363,11 @@ namespace Deckungsbeitrag
}
int buttons = flowPanel.Controls.OfType<Button>().Count();
if (buttons % 2 != 0) // zahl % 2 == 1 für ungerade
{
buttons += 1; // 5 → 6
}
// Berechnen der Buttonbreite laut Panelbreit durch Buttonanzahl. (Zweireihig und deshalb durch 2)
Size btnsize = new Size((int)((double)flowPanel.ClientSize.Width / ((double)buttons / (double)2)), (flowPanel.ClientSize.Height / 2) - (flowPanel.Margin.All * 3));

View File

@ -48,6 +48,7 @@ namespace Deckungsbeitrag
this.tSBTourenplanung = new System.Windows.Forms.ToolStripButton();
this.toolStripBeenden = new System.Windows.Forms.ToolStripButton();
this.panelMain = new System.Windows.Forms.Panel();
this.buttonSonderAuftrag = new System.Windows.Forms.Button();
this.groupBoxAuftrag = new System.Windows.Forms.GroupBox();
this.objectListViewAuftrag = new BrightIdeasSoftware.ObjectListView();
this.rBAufAbruf = new System.Windows.Forms.RadioButton();
@ -57,7 +58,6 @@ namespace Deckungsbeitrag
this.rBAlle = new System.Windows.Forms.RadioButton();
this.buttonAufAbruf = new System.Windows.Forms.Button();
this.buttonAusgeliefert = new System.Windows.Forms.Button();
this.buttonNeuerRegAuft = new System.Windows.Forms.Button();
this.panelProgress = new System.Windows.Forms.Panel();
this.buttonKundeArtikelUpdate = new System.Windows.Forms.Button();
this.progressBarKundeArtikelUpdate = new System.Windows.Forms.ProgressBar();
@ -93,8 +93,6 @@ namespace Deckungsbeitrag
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();
this.buttonNeueInventur = new System.Windows.Forms.Button();
this.buttonNeueAufgabe = new System.Windows.Forms.Button();
this.buttonNeuerAuftrag = new System.Windows.Forms.Button();
this.buttonNeuerUser = new System.Windows.Forms.Button();
@ -111,7 +109,6 @@ namespace Deckungsbeitrag
this.textBoxScannTest = new System.Windows.Forms.TextBox();
this.buttonScannTest = new System.Windows.Forms.Button();
this.labelScannTest = new System.Windows.Forms.Label();
this.buttonSonderAuftrag = new System.Windows.Forms.Button();
this.toolStripMenu.SuspendLayout();
this.panelMain.SuspendLayout();
this.groupBoxAuftrag.SuspendLayout();
@ -477,13 +474,10 @@ namespace Deckungsbeitrag
this.panelMain.BackColor = System.Drawing.Color.White;
this.panelMain.Controls.Add(this.buttonSonderAuftrag);
this.panelMain.Controls.Add(this.groupBoxAuftrag);
this.panelMain.Controls.Add(this.buttonNeuerRegAuft);
this.panelMain.Controls.Add(this.panelProgress);
this.panelMain.Controls.Add(this.buttonTourenliste);
this.panelMain.Controls.Add(this.groupBoxContAnz);
this.panelMain.Controls.Add(this.groupBoxSaison);
this.panelMain.Controls.Add(this.buttonNeuerStand);
this.panelMain.Controls.Add(this.buttonNeueInventur);
this.panelMain.Controls.Add(this.buttonNeueAufgabe);
this.panelMain.Controls.Add(this.buttonNeuerAuftrag);
this.panelMain.Controls.Add(this.buttonNeuerUser);
@ -498,6 +492,27 @@ namespace Deckungsbeitrag
this.panelMain.Paint += new System.Windows.Forms.PaintEventHandler(this.PanelMain_Paint);
this.panelMain.Resize += new System.EventHandler(this.PanelMain_Resize);
//
// buttonSonderAuftrag
//
this.buttonSonderAuftrag.BackColor = System.Drawing.Color.CadetBlue;
this.buttonSonderAuftrag.Enabled = false;
this.buttonSonderAuftrag.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.buttonSonderAuftrag.FlatAppearance.BorderSize = 0;
this.buttonSonderAuftrag.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonSonderAuftrag.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonSonderAuftrag.ForeColor = System.Drawing.Color.Black;
this.buttonSonderAuftrag.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.buttonSonderAuftrag.Location = new System.Drawing.Point(11, 79);
this.buttonSonderAuftrag.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
this.buttonSonderAuftrag.Name = "buttonSonderAuftrag";
this.buttonSonderAuftrag.Size = new System.Drawing.Size(333, 50);
this.buttonSonderAuftrag.TabIndex = 72;
this.buttonSonderAuftrag.Text = "Neuer Sonderauftrag";
this.buttonSonderAuftrag.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonSonderAuftrag.UseVisualStyleBackColor = false;
this.buttonSonderAuftrag.Visible = false;
this.buttonSonderAuftrag.Click += new System.EventHandler(this.buttonSonderAuftrag_Click);
//
// groupBoxAuftrag
//
this.groupBoxAuftrag.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@ -548,9 +563,8 @@ namespace Deckungsbeitrag
// rBAufAbruf
//
this.rBAufAbruf.AutoSize = true;
this.rBAufAbruf.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
this.rBAufAbruf.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rBAufAbruf.Location = new System.Drawing.Point(59, 167);
this.rBAufAbruf.Location = new System.Drawing.Point(13, 167);
this.rBAufAbruf.Margin = new System.Windows.Forms.Padding(4);
this.rBAufAbruf.Name = "rBAufAbruf";
this.rBAufAbruf.Size = new System.Drawing.Size(115, 29);
@ -563,9 +577,8 @@ namespace Deckungsbeitrag
// rBAusgeliefert
//
this.rBAusgeliefert.AutoSize = true;
this.rBAusgeliefert.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
this.rBAusgeliefert.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rBAusgeliefert.Location = new System.Drawing.Point(36, 130);
this.rBAusgeliefert.Location = new System.Drawing.Point(13, 130);
this.rBAusgeliefert.Margin = new System.Windows.Forms.Padding(4);
this.rBAusgeliefert.Name = "rBAusgeliefert";
this.rBAusgeliefert.Size = new System.Drawing.Size(136, 29);
@ -578,9 +591,8 @@ namespace Deckungsbeitrag
// rBFertig
//
this.rBFertig.AutoSize = true;
this.rBFertig.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
this.rBFertig.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rBFertig.Location = new System.Drawing.Point(95, 94);
this.rBFertig.Location = new System.Drawing.Point(13, 94);
this.rBFertig.Margin = new System.Windows.Forms.Padding(4);
this.rBFertig.Name = "rBFertig";
this.rBFertig.Size = new System.Drawing.Size(82, 29);
@ -593,9 +605,8 @@ namespace Deckungsbeitrag
// rBVorbereitet
//
this.rBVorbereitet.AutoSize = true;
this.rBVorbereitet.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
this.rBVorbereitet.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rBVorbereitet.Location = new System.Drawing.Point(44, 57);
this.rBVorbereitet.Location = new System.Drawing.Point(13, 57);
this.rBVorbereitet.Margin = new System.Windows.Forms.Padding(4);
this.rBVorbereitet.Name = "rBVorbereitet";
this.rBVorbereitet.Size = new System.Drawing.Size(128, 29);
@ -608,9 +619,8 @@ namespace Deckungsbeitrag
// rBAlle
//
this.rBAlle.AutoSize = true;
this.rBAlle.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
this.rBAlle.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rBAlle.Location = new System.Drawing.Point(115, 20);
this.rBAlle.Location = new System.Drawing.Point(13, 20);
this.rBAlle.Margin = new System.Windows.Forms.Padding(4);
this.rBAlle.Name = "rBAlle";
this.rBAlle.Size = new System.Drawing.Size(66, 29);
@ -660,27 +670,6 @@ namespace Deckungsbeitrag
this.buttonAusgeliefert.Visible = false;
this.buttonAusgeliefert.Click += new System.EventHandler(this.ButtonAusgeliefert_Click);
//
// buttonNeuerRegAuft
//
this.buttonNeuerRegAuft.BackColor = System.Drawing.Color.CadetBlue;
this.buttonNeuerRegAuft.Enabled = false;
this.buttonNeuerRegAuft.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.buttonNeuerRegAuft.FlatAppearance.BorderSize = 0;
this.buttonNeuerRegAuft.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonNeuerRegAuft.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonNeuerRegAuft.ForeColor = System.Drawing.Color.Black;
this.buttonNeuerRegAuft.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.buttonNeuerRegAuft.Location = new System.Drawing.Point(1053, 17);
this.buttonNeuerRegAuft.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
this.buttonNeuerRegAuft.Name = "buttonNeuerRegAuft";
this.buttonNeuerRegAuft.Size = new System.Drawing.Size(333, 50);
this.buttonNeuerRegAuft.TabIndex = 71;
this.buttonNeuerRegAuft.Text = "Regelmäßiger Auftrag";
this.buttonNeuerRegAuft.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonNeuerRegAuft.UseVisualStyleBackColor = false;
this.buttonNeuerRegAuft.Visible = false;
this.buttonNeuerRegAuft.Click += new System.EventHandler(this.ButtonRegAuftrag_Click);
//
// panelProgress
//
this.panelProgress.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
@ -1221,48 +1210,6 @@ namespace Deckungsbeitrag
this.comboBoxSaison.TabIndex = 66;
this.comboBoxSaison.SelectedIndexChanged += new System.EventHandler(this.ComboBoxSaison_SelectedIndexChanged);
//
// buttonNeuerStand
//
this.buttonNeuerStand.BackColor = System.Drawing.Color.MediumTurquoise;
this.buttonNeuerStand.Enabled = false;
this.buttonNeuerStand.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.buttonNeuerStand.FlatAppearance.BorderSize = 0;
this.buttonNeuerStand.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
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.Black;
this.buttonNeuerStand.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.buttonNeuerStand.Location = new System.Drawing.Point(707, 17);
this.buttonNeuerStand.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
this.buttonNeuerStand.Name = "buttonNeuerStand";
this.buttonNeuerStand.Size = new System.Drawing.Size(333, 50);
this.buttonNeuerStand.TabIndex = 65;
this.buttonNeuerStand.Text = "Neue Standveränderung";
this.buttonNeuerStand.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonNeuerStand.UseVisualStyleBackColor = false;
this.buttonNeuerStand.Visible = false;
this.buttonNeuerStand.Click += new System.EventHandler(this.ButtonNeuerStand_Click);
//
// buttonNeueInventur
//
this.buttonNeueInventur.BackColor = System.Drawing.Color.Turquoise;
this.buttonNeueInventur.Enabled = false;
this.buttonNeueInventur.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.buttonNeueInventur.FlatAppearance.BorderSize = 0;
this.buttonNeueInventur.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
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.Black;
this.buttonNeueInventur.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.buttonNeueInventur.Location = new System.Drawing.Point(357, 17);
this.buttonNeueInventur.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
this.buttonNeueInventur.Name = "buttonNeueInventur";
this.buttonNeueInventur.Size = new System.Drawing.Size(333, 50);
this.buttonNeueInventur.TabIndex = 64;
this.buttonNeueInventur.Text = "Neue Inventur";
this.buttonNeueInventur.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonNeueInventur.UseVisualStyleBackColor = false;
this.buttonNeueInventur.Visible = false;
this.buttonNeueInventur.Click += new System.EventHandler(this.ButtonNeueInventur_Click);
//
// buttonNeueAufgabe
//
this.buttonNeueAufgabe.BackColor = System.Drawing.Color.DarkOrange;
@ -1504,27 +1451,6 @@ namespace Deckungsbeitrag
this.labelScannTest.TabIndex = 11;
this.labelScannTest.Text = "label1";
//
// buttonSonderAuftrag
//
this.buttonSonderAuftrag.BackColor = System.Drawing.Color.CadetBlue;
this.buttonSonderAuftrag.Enabled = false;
this.buttonSonderAuftrag.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.buttonSonderAuftrag.FlatAppearance.BorderSize = 0;
this.buttonSonderAuftrag.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonSonderAuftrag.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonSonderAuftrag.ForeColor = System.Drawing.Color.Black;
this.buttonSonderAuftrag.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.buttonSonderAuftrag.Location = new System.Drawing.Point(11, 79);
this.buttonSonderAuftrag.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
this.buttonSonderAuftrag.Name = "buttonSonderAuftrag";
this.buttonSonderAuftrag.Size = new System.Drawing.Size(333, 50);
this.buttonSonderAuftrag.TabIndex = 72;
this.buttonSonderAuftrag.Text = "Neuer Sonderauftrag";
this.buttonSonderAuftrag.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonSonderAuftrag.UseVisualStyleBackColor = false;
this.buttonSonderAuftrag.Visible = false;
this.buttonSonderAuftrag.Click += new System.EventHandler(this.buttonSonderAuftrag_Click);
//
// FormMain
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@ -1606,8 +1532,6 @@ namespace Deckungsbeitrag
private System.Windows.Forms.ToolStripButton tSBHilfe;
private System.Windows.Forms.Button buttonNeuerUser;
private System.Windows.Forms.Button buttonNeueAufgabe;
private System.Windows.Forms.Button buttonNeueInventur;
private System.Windows.Forms.Button buttonNeuerStand;
private System.Windows.Forms.ToolStripButton tSBTourenplanung;
private System.Windows.Forms.ComboBox comboBoxSaison;
private System.Windows.Forms.GroupBox groupBoxSaison;
@ -1651,7 +1575,6 @@ namespace Deckungsbeitrag
private System.Windows.Forms.Button buttonKundeArtikelUpdate;
private System.Windows.Forms.ProgressBar progressBarKundeArtikelUpdate;
private System.Windows.Forms.Panel panelProgress;
private System.Windows.Forms.Button buttonNeuerRegAuft;
private System.Windows.Forms.Button buttonSonderAuftrag;
}
}

View File

@ -186,9 +186,8 @@ namespace Deckungsbeitrag
try
{
_settings.LocationButtonNeueAufgabe = this.buttonNeueAufgabe.Location;
_settings.LocationButtonNeueInventur = this.buttonNeueInventur.Location;
_settings.LocationButtonSonderAuftrag = this.buttonSonderAuftrag.Location;
_settings.LocationButtonNeuerAuftrag = this.buttonNeuerAuftrag.Location;
_settings.LocationButtonNeuerStand = this.buttonNeuerStand.Location;
_settings.LocationButtonNeuerUser = this.buttonNeuerUser.Location;
_settings.LocationGroupBoxContainer = this.groupBoxContAnz.Location;
@ -365,11 +364,8 @@ namespace Deckungsbeitrag
/// <param name="e"></param>
private void ButtonNeuerAuftrag_Click(object sender, EventArgs e)
{
//onBoardingArt = OnboardingSchritt.NeuerAuftrag;
//if (this.benutzer.Rolle == BenutzerRolle.Fahrer) ZeigeOnboarding();
FormNeuerAuftrag neuerAuftrag = new FormNeuerAuftrag(this.benutzer, AuftragTyp.Standart);
if (neuerAuftrag.ShowDialog() == DialogResult.Abort) { this.kunde = neuerAuftrag.kunde; ButtonNeueInventur_Click(this.buttonNeueInventur, null); }
if (neuerAuftrag.ShowDialog() == DialogResult.Abort) { this.kunde = neuerAuftrag.kunde; GetNeueInventur(); }
}
private void ButtonScannTest_Click(object sender, EventArgs e)
{
@ -382,44 +378,6 @@ namespace Deckungsbeitrag
FormNeueAufgabe neueAufgabe = new FormNeueAufgabe();
neueAufgabe.ShowDialog();
}
private void ButtonNeuerStand_Click(object sender, EventArgs e)
{
FormNeuerAuftrag neuerAuftrag;
DialogResult result = meldung.GetFrage(this, "Möchtest du eine Standverminderung oder Standerhöhung erstellen? \n\n [JA = Standverminerung | NEIN = Standerhöhung]", true);
switch (result)
{
case DialogResult.Cancel:
return;
case DialogResult.Yes:
neuerAuftrag = new FormNeuerAuftrag(this.benutzer, AuftragTyp.Standverminderung); neuerAuftrag.ShowDialog();
break;
case DialogResult.No:
neuerAuftrag = new FormNeuerAuftrag(this.benutzer, AuftragTyp.Standerhöhung); neuerAuftrag.ShowDialog();
break;
default:
break;
}
}
private void ButtonNeueInventur_Click(object sender, EventArgs e)
{
onBoardingArt = OnboardingSchritt.NeueInventur;
ZeigeOnboarding();
Kunde kunde = null;
FormListe liste = new FormListe(null, (int)Listentyp.Reklamationliste, "Miete");
if (liste.ShowDialog() == DialogResult.OK)
{
kunde = liste.kunde;
uCInventur = new UCInventur(kunde, this.benutzer);
uCInventur.UCInventur_Update += () => { this.GetInventuren(); };
uCInventur.UCInventur_Delete += Do_UCInventur_Delete;
this.panelMain.Controls.Add(uCInventur);
uCInventur.Location = new Point(100, 100);
uCInventur.BringToFront();
RegisterDragEvents(uCInventur);
}
}
/// <summary>
/// AUFTRAGSVERWALTUNG FUNKTIONEN
@ -569,20 +527,15 @@ namespace Deckungsbeitrag
this.buttonKundeArtikelUpdate.BringToFront();
Application.UseWaitCursor = false;
}
private void ButtonRegAuftrag_Click(object sender, EventArgs e)
{
FormNeuerAuftrag neuerAuftrag = new FormNeuerAuftrag(this.benutzer, AuftragTyp.Regelmäßig);
neuerAuftrag.ShowDialog();
}
private void buttonSonderAuftrag_Click(object sender, EventArgs e)
{
FormNeuerAuftrag neuerAuftrag = new FormNeuerAuftrag(this.benutzer, null);
if (neuerAuftrag.ShowDialog() == DialogResult.Abort) { this.kunde = neuerAuftrag.kunde; ButtonNeueInventur_Click(this.buttonNeueInventur, null); }
if (neuerAuftrag.ShowDialog() == DialogResult.Abort) { this.kunde = neuerAuftrag.kunde; GetNeueInventur(); }
}
#endregion
#region Auftrag GroupBox
#region GroupBox Auftrag
/// <summary>
/// AUFTRAGSVERWALTUNG FUNKTIONEN
/// RadioButtons für Auftragsverwaltung & Laden der Auftragsliste nach Status.
@ -1112,6 +1065,25 @@ namespace Deckungsbeitrag
}
#endregion
private void GetNeueInventur()
{
onBoardingArt = OnboardingSchritt.NeueInventur;
ZeigeOnboarding();
Kunde kunde = null;
FormListe liste = new FormListe(null, (int)Listentyp.Reklamationliste, "Miete");
if (liste.ShowDialog() == DialogResult.OK)
{
kunde = liste.kunde;
uCInventur = new UCInventur(kunde, this.benutzer);
uCInventur.UCInventur_Update += () => { this.GetInventuren(); };
uCInventur.UCInventur_Delete += Do_UCInventur_Delete;
this.panelMain.Controls.Add(uCInventur);
uCInventur.Location = new Point(100, 100);
uCInventur.BringToFront();
RegisterDragEvents(uCInventur);
}
}
private async void GetInventuren()
{
foreach (UCInventur uci in panelMain.Controls.OfType<UCInventur>())

View File

@ -52,6 +52,7 @@ namespace Deckungsbeitrag
{
InitializeComponent();
this.Text += " Version: " + Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
public FormNeuerAuftrag(Benutzer benutzer) : this()
{
@ -83,8 +84,9 @@ namespace Deckungsbeitrag
if (this.auftragtyp == AuftragTyp.Regelmäßig) {kndService = "Geschäft"; labelLiefertag.Text = "Erster Liefertag:"; }
if (this.benutzer.Rolle == BenutzerRolle.Fahrer) kndService = "Geschäft";
if (this.auftragtyp == null) SonderDatenLaden(kndService);
if (this.auftragtyp == null || this.auftragtyp == AuftragTyp.Geschäft) SonderDatenLaden(kndService);
else DatenLaden(kndService);
}
private async void FormNeuerAuftrag_HelpButtonClicked(object sender, CancelEventArgs e)
{
@ -96,7 +98,13 @@ namespace Deckungsbeitrag
private void SonderDatenLaden(string kndService)
{
// Kunde laden
GetKunde(kndService);
this.kunde = Funktionen.Open_List(kndService);
if (this.kunde == null) { CloseForm(DialogResult.Cancel); return; }
this.textBoxKndNr.Text = kunde.KundeNummer;
this.kundeName = this.textBoxKundeName.Text = this.kunde.Suchtext ?? this.kunde.KundeName;
this.textBoxKundeName.Enabled = false;
this.textBoxKndNr.Enabled = false;
// ComboBox Typ & Fahrer wird mit Items geladen
ComboBoxTyp_Load();
@ -104,11 +112,19 @@ namespace Deckungsbeitrag
}
private void DatenLaden(string kndService)
{
this.SuspendLayout();
// Kunde laden
GetKunde(kndService);
this.kunde = Funktionen.Open_List(kndService);
if (this.kunde == null) { CloseForm(DialogResult.Cancel); return; }
this.textBoxKndNr.Text = kunde.KundeNummer;
this.kundeName = this.textBoxKundeName.Text = this.kunde.Suchtext ?? this.kunde.KundeName;
this.textBoxKundeName.Enabled = false;
this.textBoxKndNr.Enabled = false;
// Containeranzahl laden
GetContainerAnzahl();
if (int.TryParse(Interaction.InputBox($"Wieviel Container hast du beim Kunde {kundeName} abgeholt?", "CONTAINERANZAHL", "1"), out int i)) this.textBoxCont.Text = i.ToString();
else { CloseForm(DialogResult.Cancel); return; }
// NextLiefertag laden
GetNextLiefertag();
@ -116,6 +132,8 @@ namespace Deckungsbeitrag
// ComboBox Typ & Fahrer wird mit Items geladen
ComboBoxTyp_Load();
ComboBoxFahrer_Load();
this.ResumeLayout();
}
private void GetNextLiefertag()
{
@ -150,6 +168,7 @@ namespace Deckungsbeitrag
{
this.DialogResult = DialogResult.Cancel;
this.Close();
return;
}
}
else
@ -169,37 +188,6 @@ namespace Deckungsbeitrag
// Der Richtige RadioButton wird als aktiv markiert.
DTPLiefertag_Leave(this.dTPLiefertag, EventArgs.Empty);
}
private void GetKunde(string kndService)
{
try
{
this.kunde = Funktionen.Open_List(kndService);
if (this.kunde == null)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
this.textBoxKndNr.Text = kunde.KundeNummer;
this.kundeName = this.textBoxKundeName.Text = this.kunde.Suchtext ?? this.kunde.KundeName;
this.textBoxKundeName.Enabled = false;
this.textBoxKndNr.Enabled = false;
}
catch (Exception)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
}
private void GetContainerAnzahl()
{
int anzahl = 0;
if (int.TryParse(Interaction.InputBox($"Wieviel Container hast du beim Kunde {kundeName} abgeholt?", "CONTAINERANZAHL", "1"), out int i)) anzahl = i;
this.textBoxCont.Text = anzahl.ToString();
}
private (DateTime? datum, string[] touren, string tour) ShowTourenplan()
{
FormShowUserControl showUserControl = new FormShowUserControl("Tourenplan", this.benutzer, this.kunde);
@ -230,8 +218,7 @@ namespace Deckungsbeitrag
if (this.auftragtyp == null) this.comboBoxTyp.SelectedIndex = -1;
else
{
if (kunde.Service == "Geschäft") this.comboBoxTyp.SelectedItem = AuftragTyp.Geschäft;
else this.comboBoxTyp.SelectedItem = auftragtyp;
this.comboBoxTyp.SelectedItem = auftragtyp;
}
this.ResumeLayout(false);
@ -291,7 +278,7 @@ namespace Deckungsbeitrag
this.DialogResult = DialogResult.Abort;
this.Close();
break;
case AuftragTyp.Standerhöhung:
case AuftragTyp.SOLL_Erhoehung:
if (this.kunde == null) return;
this.panelRegAuftrag.Enabled = this.panelRegAuftrag.Visible = true;
@ -299,7 +286,7 @@ namespace Deckungsbeitrag
this.Width = this.panelRegAuftrag.Right + 25;
this.Height = 470;
break;
case AuftragTyp.Standverminderung:
case AuftragTyp.SOLL_Verminderung:
if (this.kunde == null) return;
this.panelRegAuftrag.Enabled = this.panelRegAuftrag.Visible = true;
@ -402,7 +389,7 @@ namespace Deckungsbeitrag
comboBoxRhythmus.DataSource = Enum.GetValues(typeof(RegRhythmen));
comboBoxRhythmus.SelectedIndex = -1;
}
if ((AuftragTyp)comboBoxTyp.SelectedValue == AuftragTyp.Standerhöhung || (AuftragTyp)comboBoxTyp.SelectedValue == AuftragTyp.Standverminderung)
if ((AuftragTyp)comboBoxTyp.SelectedValue == AuftragTyp.SOLL_Erhoehung || (AuftragTyp)comboBoxTyp.SelectedValue == AuftragTyp.SOLL_Verminderung)
{
List<KundeArtikel> kndartikel = KundeArtikel.GetList(this.kunde.KundeID.ToString());
comboBoxArtikel.DataSource = kndartikel;
@ -447,9 +434,9 @@ namespace Deckungsbeitrag
// Wenn Expedit/Waschstrasse/Verwaltung/Admin den Auftrag speichert
switch ((AuftragTyp)comboBoxTyp.SelectedItem)
{
case AuftragTyp.Standerhöhung: SpezialAuftragSpeichern(Auftrag);
case AuftragTyp.SOLL_Erhoehung: SpezialAuftragSpeichern(Auftrag);
return;
case AuftragTyp.Standverminderung: SpezialAuftragSpeichern(Auftrag);
case AuftragTyp.SOLL_Verminderung: SpezialAuftragSpeichern(Auftrag);
return;
case AuftragTyp.Regelmäßig: SpezialAuftragSpeichern(Auftrag);
return;
@ -743,7 +730,6 @@ namespace Deckungsbeitrag
//this.Close(); // Onboarding beendet
}
}
private void textBoxText_VisibleChanged(object sender, EventArgs e)
{
if (textBoxText.Visible)
@ -751,6 +737,11 @@ namespace Deckungsbeitrag
foreach (Control ctr in this.panelRegAuftrag.Controls) if (!ctr.Name.Contains("Text")) ctr.Enabled = false;
}
}
private void CloseForm(DialogResult result)
{
this.DialogResult = result;
this.Close();
}
}
}
//TODO: TourenListe Entwurf muss überarbeitet werden.

View File

@ -41,13 +41,14 @@ namespace DatenDB
public enum AuftragTyp
{
Geschäft = 0,
Standart = 1,
Inventur = 2,
Standerhöhung = 3,
Standverminderung = 4,
Regelmäßig = 5,
AufAbruf = 6,
Laufzettel = 7
Standart = 10,
Inventur = 20,
SOLL_Erhoehung = 30,
IST_Erhoehung = 32,
SOLL_Verminderung = 40,
Regelmäßig = 50,
AufAbruf = 60,
Laufzettel = 70
}
[Flags]
@ -685,7 +686,7 @@ namespace DatenDB
{
get
{
if(Typ >= AuftragTyp.Inventur & Typ <= AuftragTyp.Standverminderung)
if(Typ >= AuftragTyp.Inventur & Typ <= AuftragTyp.SOLL_Verminderung)
{
if (Status >= AuftragStatus.Fertig) return _fertig = string.Empty;
else return _fertig = "✅";

View File

@ -257,7 +257,7 @@ namespace Deckungsbeitrag.AA_Klassen
// Join-Felder aus Table kunde & benutzer
[OLVColumn("Aufgabe", DisplayIndex = 55)]public string AufgabeBezeichnung { get; set; }
[OLVColumn("Kunde", DisplayIndex = 0)]public string KundeName { get; set; }
[OLVColumn("Tour", DisplayIndex = 70)]public string Tour { get; set; }
[OLVColumn("Tour", DisplayIndex = 70, IsEditable = false)]public string Tour { get; set; }
// **3 Status-Spalten statt 12 Flags**
[OLVIgnore]public int FrotteeStatus { get; set; }

View File

@ -1118,11 +1118,12 @@ namespace Deckungsbeitrag
{
string artikelKey = kvp.Key; // z.B. "ART1"
int[] artbestand = kvp.Value; // z.B. [3, 0, 5]
g.DrawString($"{Artikel.GetShort(null, artikelKey)}", font1, Brushes.Black, einzug, nextposition);
if (artbestand[2] < 0) g.DrawString($"{artbestand[0].ToString()}/{artbestand[1].ToString()}/({artbestand[2].ToString()})/{artbestand[3].ToString()}", font1, Brushes.Black, einzug + 50, nextposition);
else g.DrawString($"{artbestand[0].ToString()}/{artbestand[1].ToString()}/{artbestand[2].ToString()}/{artbestand[3].ToString()}", font1, Brushes.Black, einzug + 50, nextposition);
nextposition += (int)height_font1;
string shortName = Artikel.GetShort(null, artikelKey);
g.DrawString($"{shortName}", font1, Brushes.Black, einzug, nextposition);
if (artbestand[2] < 0) g.DrawString($"{artbestand[0].ToString()}/{artbestand[1].ToString()}/({artbestand[2].ToString()})/{artbestand[3].ToString()}", font1, Brushes.Black, einzug + g.MeasureString(shortName, font1).Width + 10, nextposition);
else g.DrawString($"{artbestand[0].ToString()}/{artbestand[1].ToString()}/{artbestand[2].ToString()}/{artbestand[3].ToString()}", font1, Brushes.Black, einzug + g.MeasureString(shortName, font1).Width + 10, nextposition);
nextposition += (int)height_font1;
}
Image img = bitmap;

View File

@ -15,6 +15,7 @@ using System.Net;
using System.Reflection;
using System.Runtime;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Text.RegularExpressions;

View File

@ -23,7 +23,7 @@ public class UserSettingsManager
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 LocationButtonSonderAuftrag { 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; }
@ -67,7 +67,7 @@ public class UserSettingsManager
LocationGroupBoxContainer = loadedSettings.LocationGroupBoxContainer;
LocationButtonNeuerUser = loadedSettings.LocationButtonNeuerUser;
LocationButtonNeuerAuftrag = loadedSettings.LocationButtonNeuerAuftrag;
LocationButtonNeueInventur = loadedSettings.LocationButtonNeueInventur;
LocationButtonSonderAuftrag = loadedSettings.LocationButtonSonderAuftrag;
LocationButtonNeuerStand = loadedSettings.LocationButtonNeuerStand;
LocationButtonNeueAufgabe = loadedSettings.LocationButtonNeueAufgabe;

View File

@ -4,8 +4,8 @@ NEUIGKEITEN - Version 1.0.9.5
Build-Info:
- Build-Typ: Release Build
- Erledigte TODOs: 14
- Offene TODOs: 29
- Erledigte TODOs: 15
- Offene TODOs: 26
- Install-Reminders: 1
- Changes: 15
@ -31,8 +31,9 @@ Build-Info:
- ✨ Wenn ein anderer Fahrer ausgewählt wird, wird auch die Priority laut dem Fahrer geändert. [FormExpedit.cs]
=== ✅ ERLEDIGTE TODOs (14) ===
=== ✅ ERLEDIGTE TODOs (15) ===
- ✅ : Bei Transport wir ein Fach mit Aktuellem Auftrag erstellt. Das Alte wird bei Transport gespeichert. [FormAusschlager.cs]
- ✅ : Bestand von allen Artikeln speichern und für Druck vorbereiten. [FormAuftragDetail.cs]
- ✅ : CLick auf Inventur freigeben Dateiname von "Warten" auf "Herrichten" ändern. [UCInventur.cs]
- ✅ : ComboBox Fahrer und Priorität implementieren [FormAuftragDetail.cs]
- ✅ : Container schmutzig bearbeitbar machen [FormAuftragDetail.cs]
@ -48,20 +49,18 @@ Build-Info:
- ✅ : Wenn NeuerAuftrag gewählt wie gehts weiter? [FormAusschlager.cs]
=== 🔄 OFFENE TODOs (29) ===
=== 🔄 OFFENE TODOs (26) ===
- 🔄 Alle Icons in einer Spalte anzeigen? I für Anmerkung und ! für Aufgabe?? [FormMain.cs]
- 🔄 Alle Icons in einer Spalte anzeigen? I für Anmerkung und ! für Aufgabe?? [UCAuftragListe.cs]
- 🔄 Auftrag richtig speichern... mit gedruckt bzw. erledigt bzw. [FormExpedit.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]
- 🔄 Bestand von allen Artikeln speichern und für Druck vorbereiten. [FormAuftragDetail.cs]
- 🔄 Dateinamen aus Tikos anschauen. Eventuell Datum von letztem Import über Dateiname wählen? [FormMain.cs]
- 🔄 Deaktivieren wenn SPS funktioniert. Transport wird simuliert. [FormWSVerfolgung.cs]
- 🔄 Design des Controls anpassen. Eventuell im Designer erstellen. [UCKunde.cs]
- 🔄 Einbinden der NachwaescheArtikelData... [FormArtikelVW.cs]
- 🔄 Erstellen von SonderAuftrag und Drucken von Etikett testen. [FormAuftragDetail.cs]
- 🔄 Eventuell die Zahlen in CSV speichern und von dort für Druck verwenden?! [FormAuftragDetail.cs]
- 🔄 Funktioniert mehrere KundenControls auf einmal DragDrop? [FormTourenplanung.cs]
- 🔄 Gesamt soll immer 100% sein. [Funktionen.cs]
- 🔄 Hier Settings speichern mit UserSettingsManager Klasse. [FormEinstellung.cs]
@ -76,8 +75,7 @@ Build-Info:
- 🔄 UserSetting Properties eintragen und in EinstellungsScreen abrufen. [UserSettingsManager.cs]
- 🔄 Warum der falsche Path? Immer mit \\ [UCFeedback.cs]
- 🔄 Weitere Properties von oben hier zuweisen [UserSettingsManager.cs]
- 🔄 Wenn Cancel... [FormShowUserControl.cs]
- 🔄 Zuweisung zu Fahrer muss geklärt werden. [Funktionen.cs]
Installation: 22.04.2026 14:11
Installation: 22.04.2026 17:19
=====================================