Codehygiene
This commit is contained in:
parent
15d3d99bc0
commit
e67d73edf6
10
AA-Forms/FormArtikelVW.Designer.cs
generated
10
AA-Forms/FormArtikelVW.Designer.cs
generated
@ -61,10 +61,10 @@
|
|||||||
this.objectListViewArtikel.UseCompatibleStateImageBehavior = false;
|
this.objectListViewArtikel.UseCompatibleStateImageBehavior = false;
|
||||||
this.objectListViewArtikel.UseFiltering = true;
|
this.objectListViewArtikel.UseFiltering = true;
|
||||||
this.objectListViewArtikel.View = System.Windows.Forms.View.Details;
|
this.objectListViewArtikel.View = System.Windows.Forms.View.Details;
|
||||||
this.objectListViewArtikel.ButtonClick += new System.EventHandler<BrightIdeasSoftware.CellClickEventArgs>(this.objectListViewArtikel_ButtonClick);
|
this.objectListViewArtikel.ButtonClick += new System.EventHandler<BrightIdeasSoftware.CellClickEventArgs>(this.ObjectListViewArtikel_ButtonClick);
|
||||||
this.objectListViewArtikel.CellEditFinished += new BrightIdeasSoftware.CellEditEventHandler(this.objectListViewArtikel_CellEditFinished);
|
this.objectListViewArtikel.CellEditFinished += new BrightIdeasSoftware.CellEditEventHandler(this.ObjectListViewArtikel_CellEditFinished);
|
||||||
this.objectListViewArtikel.CellEditStarting += new BrightIdeasSoftware.CellEditEventHandler(this.objectListViewArtikel_CellEditStarting);
|
this.objectListViewArtikel.CellEditStarting += new BrightIdeasSoftware.CellEditEventHandler(this.ObjectListViewArtikel_CellEditStarting);
|
||||||
this.objectListViewArtikel.Resize += new System.EventHandler(this.objectListViewArtikel_Resize);
|
this.objectListViewArtikel.Resize += new System.EventHandler(this.ObjectListViewArtikel_Resize);
|
||||||
//
|
//
|
||||||
// fLPSuche
|
// fLPSuche
|
||||||
//
|
//
|
||||||
@ -85,7 +85,7 @@
|
|||||||
this.comboBoxArtikel.Name = "comboBoxArtikel";
|
this.comboBoxArtikel.Name = "comboBoxArtikel";
|
||||||
this.comboBoxArtikel.Size = new System.Drawing.Size(261, 33);
|
this.comboBoxArtikel.Size = new System.Drawing.Size(261, 33);
|
||||||
this.comboBoxArtikel.TabIndex = 0;
|
this.comboBoxArtikel.TabIndex = 0;
|
||||||
this.comboBoxArtikel.SelectedIndexChanged += new System.EventHandler(this.comboBoxArtikel_SelectedIndexChanged);
|
this.comboBoxArtikel.SelectedIndexChanged += new System.EventHandler(this.ComboBoxArtikel_SelectedIndexChanged);
|
||||||
//
|
//
|
||||||
// FormArtikelVW
|
// FormArtikelVW
|
||||||
//
|
//
|
||||||
|
|||||||
@ -18,9 +18,8 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
public partial class FormArtikelVW : Form
|
public partial class FormArtikelVW : Form
|
||||||
{
|
{
|
||||||
private Benutzer user;
|
private readonly Benutzer user;
|
||||||
private List<Artikel> artikelList;
|
private List<Artikel> artikelList;
|
||||||
private List<ArtikelNachwaesche> artNWList;
|
|
||||||
private int dropdownWidth;
|
private int dropdownWidth;
|
||||||
public FormArtikelVW()
|
public FormArtikelVW()
|
||||||
{
|
{
|
||||||
@ -35,7 +34,7 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
|
|
||||||
List<Artikel> artlist = Artikel.GetArtikelList("Nachwaesche");
|
List<Artikel> artlist = Artikel.GetArtikelList("Nachwaesche");
|
||||||
this.comboBoxArtikel.SelectedIndexChanged -= comboBoxArtikel_SelectedIndexChanged;
|
this.comboBoxArtikel.SelectedIndexChanged -= ComboBoxArtikel_SelectedIndexChanged;
|
||||||
this.comboBoxArtikel.DataSource = artlist;
|
this.comboBoxArtikel.DataSource = artlist;
|
||||||
this.comboBoxArtikel.DisplayMember = "Bezeichnung";
|
this.comboBoxArtikel.DisplayMember = "Bezeichnung";
|
||||||
foreach (Artikel art in artlist)
|
foreach (Artikel art in artlist)
|
||||||
@ -45,7 +44,7 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
this.comboBoxArtikel.DropDownWidth = dropdownWidth;
|
this.comboBoxArtikel.DropDownWidth = dropdownWidth;
|
||||||
this.comboBoxArtikel.SelectedIndex = -1;
|
this.comboBoxArtikel.SelectedIndex = -1;
|
||||||
this.comboBoxArtikel.SelectedIndexChanged += comboBoxArtikel_SelectedIndexChanged;
|
this.comboBoxArtikel.SelectedIndexChanged += ComboBoxArtikel_SelectedIndexChanged;
|
||||||
|
|
||||||
OLV_Load_with_Artikel();
|
OLV_Load_with_Artikel();
|
||||||
|
|
||||||
@ -64,7 +63,7 @@ namespace Deckungsbeitrag
|
|||||||
Artikel art = (Artikel)item.RowObject;
|
Artikel art = (Artikel)item.RowObject;
|
||||||
sum += art.Nachwaesche;
|
sum += art.Nachwaesche;
|
||||||
}
|
}
|
||||||
group.Header = $"{group.Header} (Anzahl: {sum.ToString()})";
|
group.Header = $"{group.Header} (Anzahl: {sum})";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -115,7 +114,7 @@ namespace Deckungsbeitrag
|
|||||||
//buttonColumn.ButtonSizing = OLVColumn.ButtonSizingMode.CellBounds;
|
//buttonColumn.ButtonSizing = OLVColumn.ButtonSizingMode.CellBounds;
|
||||||
|
|
||||||
}
|
}
|
||||||
OLV_ColumnsResize(this.objectListViewArtikel);
|
OLV_ColumnsResize();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -143,27 +142,28 @@ namespace Deckungsbeitrag
|
|||||||
KndArtID = kndart.KundeArtikelID,
|
KndArtID = kndart.KundeArtikelID,
|
||||||
KundeID = kndart.KundeID,
|
KundeID = kndart.KundeID,
|
||||||
KndNummer = knd.KundeNummer,
|
KndNummer = knd.KundeNummer,
|
||||||
Kunde = knd.Suchtext == null ? knd.KundeName : knd.Suchtext,
|
Kunde = knd.Suchtext ?? knd.KundeName,
|
||||||
Nachwaesche = kndart.Fehlmenge
|
Nachwaesche = kndart.Fehlmenge,
|
||||||
|
Reklamation = kndart.Reklamation
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this.objectListViewArtikel.SetObjects(NWDataList);
|
this.objectListViewArtikel.SetObjects(NWDataList);
|
||||||
this.objectListViewArtikel.Refresh();
|
this.objectListViewArtikel.Refresh();
|
||||||
|
|
||||||
OLV_ColumnsResize(this.objectListViewArtikel);
|
OLV_ColumnsResize();
|
||||||
|
|
||||||
this.ResumeLayout();
|
this.ResumeLayout();
|
||||||
this.Cursor = Cursors.Default;
|
this.Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
private void OLV_ColumnsResize(ObjectListView olv)
|
private void OLV_ColumnsResize()
|
||||||
{
|
{
|
||||||
this.objectListViewArtikel.FilterMenuBuildStrategy = new MeinFilterMenu();
|
this.objectListViewArtikel.FilterMenuBuildStrategy = new MeinFilterMenu();
|
||||||
this.objectListViewArtikel.Width = Funktionen.Columns_Resize(null, objectListViewArtikel).olv.Width + 20;
|
this.objectListViewArtikel.Width = Funktionen.Columns_Resize(null, objectListViewArtikel).olv.Width + 20;
|
||||||
|
|
||||||
this.objectListViewArtikel.Refresh();
|
this.objectListViewArtikel.Refresh();
|
||||||
}
|
}
|
||||||
private void objectListViewArtikel_ButtonClick(object sender, CellClickEventArgs e)
|
private void ObjectListViewArtikel_ButtonClick(object sender, CellClickEventArgs e)
|
||||||
{
|
{
|
||||||
Artikel artikel = (Artikel)e.Model;
|
Artikel artikel = (Artikel)e.Model;
|
||||||
artikel.Nachwaesche = 0;
|
artikel.Nachwaesche = 0;
|
||||||
@ -171,7 +171,7 @@ namespace Deckungsbeitrag
|
|||||||
if(artikel.Save() == 1) this.objectListViewArtikel.RefreshObject(e.Model);
|
if(artikel.Save() == 1) this.objectListViewArtikel.RefreshObject(e.Model);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void objectListViewArtikel_AfterCreatingGroups(object sender, CreateGroupsEventArgs e)
|
private void ObjectListViewArtikel_AfterCreatingGroups(object sender, CreateGroupsEventArgs e)
|
||||||
{
|
{
|
||||||
foreach (OLVGroup group in this.objectListViewArtikel.OLVGroups)
|
foreach (OLVGroup group in this.objectListViewArtikel.OLVGroups)
|
||||||
{
|
{
|
||||||
@ -182,12 +182,12 @@ namespace Deckungsbeitrag
|
|||||||
Artikel art = (Artikel)item.RowObject;
|
Artikel art = (Artikel)item.RowObject;
|
||||||
sum += art.Nachwaesche;
|
sum += art.Nachwaesche;
|
||||||
}
|
}
|
||||||
group.Header = $"{group.Header} (Anzahl: {sum.ToString()})";
|
group.Header = $"{group.Header} (Anzahl: {sum})";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void objectListViewArtikel_CellEditFinished(object sender, CellEditEventArgs e)
|
private void ObjectListViewArtikel_CellEditFinished(object sender, CellEditEventArgs e)
|
||||||
{
|
{
|
||||||
OLVColumn col = e.Column;
|
OLVColumn col = e.Column;
|
||||||
DateTime timestamp = DateTime.Now.Date;
|
DateTime timestamp = DateTime.Now.Date;
|
||||||
@ -249,13 +249,12 @@ namespace Deckungsbeitrag
|
|||||||
this.objectListViewArtikel.RefreshObject(e.RowObject);
|
this.objectListViewArtikel.RefreshObject(e.RowObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void objectListViewArtikel_CellEditStarting(object sender, CellEditEventArgs e)
|
private void ObjectListViewArtikel_CellEditStarting(object sender, CellEditEventArgs e)
|
||||||
{
|
{
|
||||||
OLVColumn col = e.Column;
|
|
||||||
if (e.Control is NumericUpDown numeric) { numeric.Select(0, Text.Length); numeric.Focus(); }
|
if (e.Control is NumericUpDown numeric) { numeric.Select(0, Text.Length); numeric.Focus(); }
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
private void comboBoxArtikel_SelectedIndexChanged(object sender, EventArgs e)
|
private void ComboBoxArtikel_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ComboBox cb = sender as ComboBox;
|
ComboBox cb = sender as ComboBox;
|
||||||
Artikel art = cb.SelectedItem as Artikel;
|
Artikel art = cb.SelectedItem as Artikel;
|
||||||
@ -263,9 +262,10 @@ namespace Deckungsbeitrag
|
|||||||
OLV_Load_with_Kunden(art);
|
OLV_Load_with_Kunden(art);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void objectListViewArtikel_Resize(object sender, EventArgs e)
|
private void ObjectListViewArtikel_Resize(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.ClientSize = new Size(this.objectListViewArtikel.Width + this.objectListViewArtikel.Left, this.ClientSize.Height);
|
this.ClientSize = new Size(this.objectListViewArtikel.Width + this.objectListViewArtikel.Left, this.ClientSize.Height);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//CHANGES: Reklamation als Spalte hinzugefügt und Anzeigen implementiert. Sowohl bei KundeArtikel als auch bei NW_Artikel.
|
||||||
14
AA-Forms/FormAufleger.Designer.cs
generated
14
AA-Forms/FormAufleger.Designer.cs
generated
@ -105,7 +105,7 @@
|
|||||||
this.labelContT5.Tag = "FR";
|
this.labelContT5.Tag = "FR";
|
||||||
this.labelContT5.Text = "0";
|
this.labelContT5.Text = "0";
|
||||||
this.labelContT5.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
this.labelContT5.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||||
this.labelContT5.DoubleClick += new System.EventHandler(this.labelCont_DoubleClick);
|
this.labelContT5.DoubleClick += new System.EventHandler(this.LabelCont_DoubleClick);
|
||||||
//
|
//
|
||||||
// labelContT4
|
// labelContT4
|
||||||
//
|
//
|
||||||
@ -122,7 +122,7 @@
|
|||||||
this.labelContT4.Tag = "DO";
|
this.labelContT4.Tag = "DO";
|
||||||
this.labelContT4.Text = "0";
|
this.labelContT4.Text = "0";
|
||||||
this.labelContT4.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
this.labelContT4.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||||
this.labelContT4.DoubleClick += new System.EventHandler(this.labelCont_DoubleClick);
|
this.labelContT4.DoubleClick += new System.EventHandler(this.LabelCont_DoubleClick);
|
||||||
//
|
//
|
||||||
// labelContT3
|
// labelContT3
|
||||||
//
|
//
|
||||||
@ -139,7 +139,7 @@
|
|||||||
this.labelContT3.Tag = "MI";
|
this.labelContT3.Tag = "MI";
|
||||||
this.labelContT3.Text = "0";
|
this.labelContT3.Text = "0";
|
||||||
this.labelContT3.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
this.labelContT3.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||||
this.labelContT3.DoubleClick += new System.EventHandler(this.labelCont_DoubleClick);
|
this.labelContT3.DoubleClick += new System.EventHandler(this.LabelCont_DoubleClick);
|
||||||
//
|
//
|
||||||
// labelContT2
|
// labelContT2
|
||||||
//
|
//
|
||||||
@ -156,7 +156,7 @@
|
|||||||
this.labelContT2.Tag = "DI";
|
this.labelContT2.Tag = "DI";
|
||||||
this.labelContT2.Text = "0";
|
this.labelContT2.Text = "0";
|
||||||
this.labelContT2.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
this.labelContT2.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||||
this.labelContT2.DoubleClick += new System.EventHandler(this.labelCont_DoubleClick);
|
this.labelContT2.DoubleClick += new System.EventHandler(this.LabelCont_DoubleClick);
|
||||||
//
|
//
|
||||||
// labelContT1
|
// labelContT1
|
||||||
//
|
//
|
||||||
@ -173,7 +173,7 @@
|
|||||||
this.labelContT1.Tag = "MO";
|
this.labelContT1.Tag = "MO";
|
||||||
this.labelContT1.Text = "0";
|
this.labelContT1.Text = "0";
|
||||||
this.labelContT1.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
this.labelContT1.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||||
this.labelContT1.DoubleClick += new System.EventHandler(this.labelCont_DoubleClick);
|
this.labelContT1.DoubleClick += new System.EventHandler(this.LabelCont_DoubleClick);
|
||||||
//
|
//
|
||||||
// fLP_T5
|
// fLP_T5
|
||||||
//
|
//
|
||||||
@ -324,7 +324,7 @@
|
|||||||
this.textBoxScan.Name = "textBoxScan";
|
this.textBoxScan.Name = "textBoxScan";
|
||||||
this.textBoxScan.Size = new System.Drawing.Size(268, 46);
|
this.textBoxScan.Size = new System.Drawing.Size(268, 46);
|
||||||
this.textBoxScan.TabIndex = 25;
|
this.textBoxScan.TabIndex = 25;
|
||||||
this.textBoxScan.TextChanged += new System.EventHandler(this.textBoxScan_TextChanged);
|
this.textBoxScan.TextChanged += new System.EventHandler(this.TextBoxScan_TextChanged);
|
||||||
//
|
//
|
||||||
// buttonCloseForm
|
// buttonCloseForm
|
||||||
//
|
//
|
||||||
@ -342,7 +342,7 @@
|
|||||||
this.buttonCloseForm.TabIndex = 27;
|
this.buttonCloseForm.TabIndex = 27;
|
||||||
this.buttonCloseForm.Text = "Schließen";
|
this.buttonCloseForm.Text = "Schließen";
|
||||||
this.buttonCloseForm.UseVisualStyleBackColor = false;
|
this.buttonCloseForm.UseVisualStyleBackColor = false;
|
||||||
this.buttonCloseForm.Click += new System.EventHandler(this.buttonCloseForm_Click);
|
this.buttonCloseForm.Click += new System.EventHandler(this.ButtonCloseForm_Click);
|
||||||
//
|
//
|
||||||
// labelVersion
|
// labelVersion
|
||||||
//
|
//
|
||||||
|
|||||||
@ -16,26 +16,27 @@ using System.Text;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Windows.Input;
|
|
||||||
|
|
||||||
namespace Deckungsbeitrag
|
namespace Deckungsbeitrag
|
||||||
{
|
{
|
||||||
public partial class FormAufleger : Form
|
public partial class FormAufleger : Form
|
||||||
{
|
{
|
||||||
private Dictionary<DateTime, List<Auftrag>> auftragliste;
|
private Dictionary<DateTime, List<Auftrag>> auftragliste;
|
||||||
private System.Windows.Forms.Timer timer;
|
private readonly System.Windows.Forms.Timer timer;
|
||||||
private Auftrag auftrag;
|
private Auftrag auftrag;
|
||||||
private Meldungen meldung = new Meldungen();
|
private readonly Meldungen meldung = new Meldungen();
|
||||||
private bool iswechsel = false;
|
private bool iswechsel = false;
|
||||||
private string userid;
|
private readonly string userid;
|
||||||
|
|
||||||
public FormAufleger()
|
public FormAufleger()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
// Timer für Wartezeit bis TextChanged eintritt.
|
// Timer für Wartezeit bis TextChanged eintritt.
|
||||||
timer = new System.Windows.Forms.Timer();
|
timer = new System.Windows.Forms.Timer
|
||||||
timer.Interval = 700; // 0,7 Sekunden
|
{
|
||||||
|
Interval = 700 // 0,7 Sekunden
|
||||||
|
};
|
||||||
timer.Tick += Timer_Tick;
|
timer.Tick += Timer_Tick;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -119,8 +120,10 @@ namespace Deckungsbeitrag
|
|||||||
int anzUCA = 0;
|
int anzUCA = 0;
|
||||||
foreach (Auftrag auftrag in liste)
|
foreach (Auftrag auftrag in liste)
|
||||||
{
|
{
|
||||||
UCAuftrag uca = new UCAuftrag(auftrag);
|
UCAuftrag uca = new UCAuftrag(auftrag)
|
||||||
uca.Tag = auftrag;
|
{
|
||||||
|
Tag = auftrag
|
||||||
|
};
|
||||||
|
|
||||||
if (auftrag.Status == AuftragStatus.Aufgelegt)
|
if (auftrag.Status == AuftragStatus.Aufgelegt)
|
||||||
{
|
{
|
||||||
@ -194,7 +197,7 @@ namespace Deckungsbeitrag
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
await conn.OpenAsync();
|
await conn.OpenAsync();
|
||||||
auftragliste = await Auftrag.GetAuftraegeProLiefertagAsync(conn, AuftragTyp.Standart, AuftragStatus.Aufgelegt);
|
auftragliste = await Auftrag.GetAuftraegeProLiefertagAsync(conn, AuftragStatus.Aufgelegt);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
@ -229,7 +232,7 @@ namespace Deckungsbeitrag
|
|||||||
return base.ProcessDialogKey(keyData);
|
return base.ProcessDialogKey(keyData);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void textBoxScan_TextChanged(object sender, EventArgs 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
|
// TextChanged tritt nur ein wenn x Sekunden keine Eingabe erfolgt. Logik befindet sich in Timer_Tick
|
||||||
timer.Stop(); // Alten Timer beenden
|
timer.Stop(); // Alten Timer beenden
|
||||||
@ -285,7 +288,7 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
private void SucheAuftrag()
|
private void SucheAuftrag()
|
||||||
{
|
{
|
||||||
this.textBoxScan.TextChanged -= textBoxScan_TextChanged;
|
this.textBoxScan.TextChanged -= TextBoxScan_TextChanged;
|
||||||
|
|
||||||
foreach (FlowLayoutPanel flp in this.tLPAuftrag.Controls.OfType<FlowLayoutPanel>())
|
foreach (FlowLayoutPanel flp in this.tLPAuftrag.Controls.OfType<FlowLayoutPanel>())
|
||||||
{
|
{
|
||||||
@ -305,7 +308,7 @@ namespace Deckungsbeitrag
|
|||||||
this.textBoxScan.Clear();
|
this.textBoxScan.Clear();
|
||||||
this.textBoxScan.Focus();
|
this.textBoxScan.Focus();
|
||||||
|
|
||||||
this.textBoxScan.TextChanged += textBoxScan_TextChanged;
|
this.textBoxScan.TextChanged += TextBoxScan_TextChanged;
|
||||||
}
|
}
|
||||||
private bool AuftragSpeichern()
|
private bool AuftragSpeichern()
|
||||||
{
|
{
|
||||||
@ -320,7 +323,7 @@ namespace Deckungsbeitrag
|
|||||||
//if (auftrag == null) return;
|
//if (auftrag == null) return;
|
||||||
//if (AuftragSpeichern() == false) e.Cancel = true;
|
//if (AuftragSpeichern() == false) e.Cancel = true;
|
||||||
}
|
}
|
||||||
private void buttonCloseForm_Click(object sender, EventArgs e)
|
private void ButtonCloseForm_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (meldung.GetFrage(this, "Möchtest du das Programm wirklich schließen?", false) == DialogResult.No) return;
|
if (meldung.GetFrage(this, "Möchtest du das Programm wirklich schließen?", false) == DialogResult.No) return;
|
||||||
|
|
||||||
@ -333,7 +336,7 @@ namespace Deckungsbeitrag
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
private void labelCont_DoubleClick(object sender, EventArgs e)
|
private void LabelCont_DoubleClick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Label lbl = sender as Label;
|
Label lbl = sender as Label;
|
||||||
double[] zeit = { 0, 0 };
|
double[] zeit = { 0, 0 };
|
||||||
@ -343,9 +346,8 @@ namespace Deckungsbeitrag
|
|||||||
if (double.TryParse(lbl.Text, out double cont)) zeit[i-1] = (cont * 2.7 * 3.5) / 60 / i;
|
if (double.TryParse(lbl.Text, out double cont)) zeit[i-1] = (cont * 2.7 * 3.5) / 60 / i;
|
||||||
}
|
}
|
||||||
|
|
||||||
meldung.GetInfo(this, $"Die Waschzeiten für den gewünschten Tag lauten:\n\n[Eine Waschstraße] => {zeit[0].ToString("F1")} Stunden\n[Zwei Waschstraßen] => {zeit[1].ToString("F1")} Stunden", false);
|
meldung.GetInfo(this, $"Die Waschzeiten für den gewünschten Tag lauten:\n\n[Eine Waschstraße] => {zeit[0]:F1} Stunden\n[Zwei Waschstraßen] => {zeit[1]:F1} Stunden", false);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//CHANGES: Programm wird mit Button geschlossen. (Sicherheitsabfrage ob wirklich gewollt wird gemacht.)
|
|
||||||
|
|||||||
@ -15,7 +15,6 @@ using System.Text;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Web;
|
using System.Web;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Windows.Input;
|
|
||||||
using ZXing;
|
using ZXing;
|
||||||
|
|
||||||
namespace Deckungsbeitrag
|
namespace Deckungsbeitrag
|
||||||
@ -496,16 +495,6 @@ namespace Deckungsbeitrag
|
|||||||
/// UNUSED THINGS
|
/// UNUSED THINGS
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
||||||
//RAHMEN UM FORM ZEICHNEN
|
|
||||||
private void FormAuftragDetail_Paint(object sender, PaintEventArgs e)
|
|
||||||
{
|
|
||||||
Graphics surface = CreateGraphics();
|
|
||||||
Pen pen1 = new Pen(Color.White, 5);
|
|
||||||
|
|
||||||
surface.DrawLine(pen1, 10, 215, this.buttonAbbrechen.Right + 15, 215);
|
|
||||||
surface.DrawRectangle(pen1, 10, 10, this.buttonAbbrechen.Right + 5, this.buttonAbbrechen.Bottom + 5);
|
|
||||||
|
|
||||||
}
|
|
||||||
//PRINT PAGE FÜR DRUCK
|
//PRINT PAGE FÜR DRUCK
|
||||||
private void FormAuftragDetail_Shown(object sender, EventArgs e)
|
private void FormAuftragDetail_Shown(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@ -654,7 +643,7 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//DONE: Korrigiere Bestand: Wenn -Zahl dann Stand - Zahl.
|
//DONE: Korrigiere Bestand: Wenn -Zahl dann Stand - Zahl.
|
||||||
//TODO: Speichern etc. durchgehen und adaptieren
|
//DONE: Speichern etc. durchgehen und adaptieren
|
||||||
//DONE: Feedback Button hinzufügen
|
//DONE: Feedback Button hinzufügen
|
||||||
//DONE: ComboBox Fahrer und Priorität implementieren
|
//DONE: ComboBox Fahrer und Priorität implementieren
|
||||||
//DONE: Container schmutzig bearbeitbar machen
|
//DONE: Container schmutzig bearbeitbar machen
|
||||||
10
AA-Forms/FormBenutzerVW.Designer.cs
generated
10
AA-Forms/FormBenutzerVW.Designer.cs
generated
@ -59,9 +59,9 @@
|
|||||||
this.objectListViewBenutzer.UseCompatibleStateImageBehavior = false;
|
this.objectListViewBenutzer.UseCompatibleStateImageBehavior = false;
|
||||||
this.objectListViewBenutzer.UseFiltering = true;
|
this.objectListViewBenutzer.UseFiltering = true;
|
||||||
this.objectListViewBenutzer.View = System.Windows.Forms.View.Details;
|
this.objectListViewBenutzer.View = System.Windows.Forms.View.Details;
|
||||||
this.objectListViewBenutzer.CellEditFinished += new BrightIdeasSoftware.CellEditEventHandler(this.objectListViewBenutzer_CellEditFinished);
|
this.objectListViewBenutzer.CellEditFinished += new BrightIdeasSoftware.CellEditEventHandler(this.ObjectListViewBenutzer_CellEditFinished);
|
||||||
this.objectListViewBenutzer.CellEditStarting += new BrightIdeasSoftware.CellEditEventHandler(this.objectListViewBenutzer_CellEditStarting);
|
this.objectListViewBenutzer.CellEditStarting += new BrightIdeasSoftware.CellEditEventHandler(this.ObjectListViewBenutzer_CellEditStarting);
|
||||||
this.objectListViewBenutzer.SubItemChecking += new System.EventHandler<BrightIdeasSoftware.SubItemCheckingEventArgs>(this.objectListViewBenutzer_SubItemChecking);
|
this.objectListViewBenutzer.SubItemChecking += new System.EventHandler<BrightIdeasSoftware.SubItemCheckingEventArgs>(this.ObjectListViewBenutzer_SubItemChecking);
|
||||||
//
|
//
|
||||||
// buttonNewUser
|
// buttonNewUser
|
||||||
//
|
//
|
||||||
@ -78,7 +78,7 @@
|
|||||||
this.buttonNewUser.Text = "Neuer User";
|
this.buttonNewUser.Text = "Neuer User";
|
||||||
this.buttonNewUser.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
|
this.buttonNewUser.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
|
||||||
this.buttonNewUser.UseVisualStyleBackColor = false;
|
this.buttonNewUser.UseVisualStyleBackColor = false;
|
||||||
this.buttonNewUser.Click += new System.EventHandler(this.buttonNewUser_Click);
|
this.buttonNewUser.Click += new System.EventHandler(this.ButtonNewUser_Click);
|
||||||
//
|
//
|
||||||
// buttonAbbrechen
|
// buttonAbbrechen
|
||||||
//
|
//
|
||||||
@ -96,7 +96,7 @@
|
|||||||
this.buttonAbbrechen.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
|
this.buttonAbbrechen.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
|
||||||
this.buttonAbbrechen.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
this.buttonAbbrechen.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
||||||
this.buttonAbbrechen.UseVisualStyleBackColor = false;
|
this.buttonAbbrechen.UseVisualStyleBackColor = false;
|
||||||
this.buttonAbbrechen.Click += new System.EventHandler(this.buttonAbbrechen_Click);
|
this.buttonAbbrechen.Click += new System.EventHandler(this.ButtonAbbrechen_Click);
|
||||||
//
|
//
|
||||||
// buttonSpeichern
|
// buttonSpeichern
|
||||||
//
|
//
|
||||||
|
|||||||
@ -18,7 +18,7 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
public Meldungen meldung = new Meldungen();
|
public Meldungen meldung = new Meldungen();
|
||||||
public Benutzer user;
|
public Benutzer user;
|
||||||
private List<Benutzer> fahrerliste;
|
private readonly List<Benutzer> fahrerliste;
|
||||||
|
|
||||||
public FormBenutzerVW()
|
public FormBenutzerVW()
|
||||||
{
|
{
|
||||||
@ -33,7 +33,7 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
private void FormBenutzerVW_Load(object sender, EventArgs e)
|
private void FormBenutzerVW_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
List<Benutzer> list = new List<Benutzer>();
|
List<Benutzer> list;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (this.fahrerliste != null && this.fahrerliste.Count > 0) list = this.fahrerliste;
|
if (this.fahrerliste != null && this.fahrerliste.Count > 0) list = this.fahrerliste;
|
||||||
@ -55,28 +55,24 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// BUTTON CLICK EVENTS
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="sender"></param>
|
|
||||||
/// <param name="e"></param>
|
|
||||||
private void buttonNewUser_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
FormNeuerBenutzer neuerBenutzer = new FormNeuerBenutzer();
|
|
||||||
neuerBenutzer.Show();
|
|
||||||
}
|
|
||||||
private void buttonAbbrechen_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
this.Close();
|
|
||||||
}
|
|
||||||
private void Save_Benutzer(Benutzer benutzer, bool show)
|
private void Save_Benutzer(Benutzer benutzer, bool show)
|
||||||
{
|
{
|
||||||
if (benutzer.Save() == 1) if (show) meldung.Gespeichert();
|
if (benutzer.Save() == 1) if (show) meldung.Gespeichert();
|
||||||
else if (show) meldung.Speicherfehler();
|
else if (show) meldung.Speicherfehler();
|
||||||
}
|
}
|
||||||
|
|
||||||
#region ObjectListView-Funktionen
|
|
||||||
|
private void ButtonNewUser_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
FormNeuerBenutzer neuerBenutzer = new FormNeuerBenutzer();
|
||||||
|
neuerBenutzer.Show();
|
||||||
|
}
|
||||||
|
private void ButtonAbbrechen_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void Load_OLV(List<Benutzer> alist)
|
private void Load_OLV(List<Benutzer> alist)
|
||||||
{
|
{
|
||||||
Generator.GenerateColumns(this.objectListViewBenutzer, typeof(Benutzer), true);
|
Generator.GenerateColumns(this.objectListViewBenutzer, typeof(Benutzer), true);
|
||||||
@ -95,12 +91,12 @@ namespace Deckungsbeitrag
|
|||||||
this.objectListViewBenutzer = Funktionen.Columns_Resize(null, this.objectListViewBenutzer).olv;
|
this.objectListViewBenutzer = Funktionen.Columns_Resize(null, this.objectListViewBenutzer).olv;
|
||||||
|
|
||||||
}
|
}
|
||||||
private void objectListViewBenutzer_CellEditFinished(object sender, CellEditEventArgs e)
|
private void ObjectListViewBenutzer_CellEditFinished(object sender, CellEditEventArgs e)
|
||||||
{
|
{
|
||||||
Benutzer benutzer = (Benutzer)e.RowObject;
|
Benutzer benutzer = (Benutzer)e.RowObject;
|
||||||
if(!string.IsNullOrWhiteSpace(e.NewValue.ToString())) Save_Benutzer(benutzer, false);
|
if(!string.IsNullOrWhiteSpace(e.NewValue.ToString())) Save_Benutzer(benutzer, false);
|
||||||
}
|
}
|
||||||
private void objectListViewBenutzer_SubItemChecking(object sender, SubItemCheckingEventArgs e)
|
private void ObjectListViewBenutzer_SubItemChecking(object sender, SubItemCheckingEventArgs e)
|
||||||
{
|
{
|
||||||
Benutzer benutzer = (Benutzer)e.RowObject;
|
Benutzer benutzer = (Benutzer)e.RowObject;
|
||||||
if (benutzer.Aktiv) benutzer.Aktiv = false;
|
if (benutzer.Aktiv) benutzer.Aktiv = false;
|
||||||
@ -108,15 +104,13 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
Save_Benutzer(benutzer, false);
|
Save_Benutzer(benutzer, false);
|
||||||
}
|
}
|
||||||
private void objectListViewBenutzer_CellEditStarting(object sender, CellEditEventArgs e)
|
private void ObjectListViewBenutzer_CellEditStarting(object sender, CellEditEventArgs e)
|
||||||
{
|
{
|
||||||
ObjectListView olv = (ObjectListView)sender;
|
|
||||||
user = e.RowObject as Benutzer;
|
user = e.RowObject as Benutzer;
|
||||||
|
|
||||||
if (user == null) return;
|
if (user == null) return;
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -228,8 +228,6 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void ButtonReklamation_Click(object sender, EventArgs e)
|
private void ButtonReklamation_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
FormFehlmengeCount reklamation = new FormFehlmengeCount(this.benutzer);
|
FormFehlmengeCount reklamation = new FormFehlmengeCount(this.benutzer);
|
||||||
@ -333,8 +331,7 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
aufgabeCol.ImageGetter = rowObject =>
|
aufgabeCol.ImageGetter = rowObject =>
|
||||||
{
|
{
|
||||||
var a = rowObject as View_Auftrag_Expedit;
|
if (!(rowObject is View_Auftrag_Expedit a)) return -1;
|
||||||
if (a == null) return -1;
|
|
||||||
return string.IsNullOrEmpty(a.AufgabeBezeichnung) ? -1 : 0;
|
return string.IsNullOrEmpty(a.AufgabeBezeichnung) ? -1 : 0;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -345,8 +342,7 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
kundeCol.ImageGetter = rowObject =>
|
kundeCol.ImageGetter = rowObject =>
|
||||||
{
|
{
|
||||||
var a = rowObject as View_Auftrag_Expedit;
|
if (!(rowObject is View_Auftrag_Expedit a)) return -1;
|
||||||
if (a == null) return -1;
|
|
||||||
return string.IsNullOrEmpty(a.Zusatz) ? -1 : 1;
|
return string.IsNullOrEmpty(a.Zusatz) ? -1 : 1;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -389,6 +385,7 @@ namespace Deckungsbeitrag
|
|||||||
fertigCol.ShowTextInHeader = false;
|
fertigCol.ShowTextInHeader = false;
|
||||||
fertigCol.MinimumWidth = fertigCol.MaximumWidth = 80;
|
fertigCol.MinimumWidth = fertigCol.MaximumWidth = 80;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
private void Olv_CellToolTipShowing(object sender, ToolTipShowingEventArgs e)
|
private void Olv_CellToolTipShowing(object sender, ToolTipShowingEventArgs e)
|
||||||
{
|
{
|
||||||
@ -889,18 +886,55 @@ namespace Deckungsbeitrag
|
|||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
private void ObjectListViewAuftrag_CellEditFinished(object sender, CellEditEventArgs e)
|
private void ObjectListViewAuftrag_CellEditFinished(object sender, CellEditEventArgs e)
|
||||||
{
|
{
|
||||||
|
ObjectListView olv = (ObjectListView)sender;
|
||||||
this.auftrag = Auftrag.GetAuftrag(((View_Auftrag_Expedit)e.RowObject).AuftragID);
|
this.auftrag = Auftrag.GetAuftrag(((View_Auftrag_Expedit)e.RowObject).AuftragID);
|
||||||
if (e.Column.Text == "sauber") altecontclean = (int?)e.Value;
|
var modelType = this.auftrag.GetType();
|
||||||
if (!string.IsNullOrWhiteSpace(e.NewValue.ToString())) { this.auftrag.ContainerClean = (int)e.NewValue; Save_Auftrag(this.auftrag, false); }
|
var propInfo = modelType.GetProperty(e.Column.AspectName);
|
||||||
|
|
||||||
if (this.auftrag.Status == AuftragStatus.Vorbereitet & e.Value != e.NewValue)
|
|
||||||
|
switch (e.Column.AspectName)
|
||||||
|
{
|
||||||
|
case var t when t == "ContainerClean":
|
||||||
|
{
|
||||||
|
altecontclean = (int?)e.Value;
|
||||||
|
|
||||||
|
if (e.Value != e.NewValue)
|
||||||
|
{
|
||||||
|
if (this.auftrag.Status <= AuftragStatus.Warten)
|
||||||
|
{
|
||||||
|
if (int.TryParse(e.NewValue.ToString(), out int i)) this.auftrag.ContainerClean = i;
|
||||||
|
else return;
|
||||||
|
|
||||||
|
if (this.auftrag.Status == AuftragStatus.Vorbereitet)
|
||||||
{
|
{
|
||||||
if (MessageBox.Show("Die Containeranzahl wurde verändert. Möchtest du die Etiketten nochmals drucken?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
if (MessageBox.Show("Die Containeranzahl wurde verändert. Möchtest du die Etiketten nochmals drucken?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
Funktionen.Etikett_Drucken(this.auftrag, nocont);
|
Funktionen.Etikett_Drucken(this.auftrag, nocont);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//Neuladen_OLV(olv);
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case var t when t == "Fahrer":
|
||||||
|
{
|
||||||
|
if (e.NewValue != null)
|
||||||
|
{
|
||||||
|
this.auftrag.ArbeiterID = ((Benutzer)e.NewValue).BenutzerID;
|
||||||
|
this.auftrag.Priority = Funktionen.GetPriority((Benutzer)e.NewValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (propInfo != null && e.NewValue != null)
|
||||||
|
{
|
||||||
|
// Dynamisch setzen
|
||||||
|
propInfo.SetValue(this.auftrag, Convert.ChangeType(e.NewValue, propInfo.PropertyType));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
Save_Auftrag(this.auftrag, false);
|
||||||
|
Neuladen_OLV(olv);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -909,12 +943,12 @@ namespace Deckungsbeitrag
|
|||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
private void ObjectListViewAuftrag_CellEditStarting(object sender, CellEditEventArgs e)
|
private void ObjectListViewAuftrag_CellEditStarting(object sender, CellEditEventArgs e)
|
||||||
{
|
|
||||||
if (e.Column.AspectName == "KundeName")
|
|
||||||
{
|
{
|
||||||
ObjectListView olv = (ObjectListView)sender;
|
ObjectListView olv = (ObjectListView)sender;
|
||||||
Auftrag _auftrag = Auftrag.GetAuftrag(((View_Auftrag_Expedit)e.RowObject).AuftragID);
|
Auftrag _auftrag = Auftrag.GetAuftrag(((View_Auftrag_Expedit)e.RowObject).AuftragID);
|
||||||
|
|
||||||
|
if (e.Column.AspectName == "KundeName")
|
||||||
|
{
|
||||||
if (_auftrag == null) return;
|
if (_auftrag == null) return;
|
||||||
Kunde _kunde = Kunde.GetKunde(null, _auftrag.KundeID, null);
|
Kunde _kunde = Kunde.GetKunde(null, _auftrag.KundeID, null);
|
||||||
|
|
||||||
@ -923,9 +957,42 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
olv.RefreshObject(olv.SelectedObject);
|
olv.RefreshObject(olv.SelectedObject);
|
||||||
e.Cancel = true;
|
e.Cancel = true;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else if (meldung.GetFrage(this, $"Möchtest du die gewählte Zelle wirklich bearbeiten?", false) == DialogResult.No) e.Cancel = true;
|
else if (meldung.GetFrage(this, $"Möchtest du die gewählte Zelle wirklich bearbeiten?", false) == DialogResult.No) { e.Cancel = true; return; }
|
||||||
|
|
||||||
|
if (e.Column.AspectName == "Fahrer")
|
||||||
|
{
|
||||||
|
List<Benutzer> list = Benutzer.GetFahrerList();
|
||||||
|
ComboBox fahrer = new ComboBox
|
||||||
|
{
|
||||||
|
Bounds = e.CellBounds,
|
||||||
|
DropDownStyle = ComboBoxStyle.DropDownList,
|
||||||
|
DisplayMember = "BenutzerName",
|
||||||
|
DataSource = list
|
||||||
|
};
|
||||||
|
e.Control = fahrer;
|
||||||
|
}
|
||||||
|
if (e.Control is NumericUpDown num) num.Select(0, int.MaxValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Satt Edit wird der Kunde als gewaschen markiert.
|
||||||
|
/// Solange Waschstraße nicht involviert, muss Expedit so die Aufträge in Aufträge heute bringen.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void ObjectListViewRampe_CellEditStarting(object sender, CellEditEventArgs e)
|
||||||
|
{
|
||||||
|
ObjectListView olv = (ObjectListView)sender;
|
||||||
|
Auftrag _auftrag = Auftrag.GetAuftrag(((View_Auftrag_Expedit)e.RowObject).AuftragID);
|
||||||
|
|
||||||
|
if (_auftrag == null) return;
|
||||||
|
_auftrag.Status = AuftragStatus.Gewaschen;
|
||||||
|
_auftrag.Save();
|
||||||
|
|
||||||
|
Neuladen_OLV(olv);
|
||||||
|
e.Cancel = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -1225,18 +1292,6 @@ namespace Deckungsbeitrag
|
|||||||
//this.Close(); // Onboarding beendet
|
//this.Close(); // Onboarding beendet
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void ObjectListViewRampe_CellEditStarting(object sender, CellEditEventArgs e)
|
|
||||||
{
|
|
||||||
ObjectListView olv = (ObjectListView)sender;
|
|
||||||
|
|
||||||
if (!(e.RowObject is Auftrag _auftrag)) return;
|
|
||||||
//Kunde _kunde = Kunde.GetKunde(null, _auftrag.KundeID, null);
|
|
||||||
_auftrag.Status = AuftragStatus.Gewaschen;
|
|
||||||
_auftrag.Save();
|
|
||||||
|
|
||||||
olv.RefreshObject(olv.SelectedObject);
|
|
||||||
e.Cancel = true;
|
|
||||||
}
|
|
||||||
private void ButtonNW_Click(object sender, EventArgs e)
|
private void ButtonNW_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
FormArtikelVW artikelVW = new FormArtikelVW(this.benutzer);
|
FormArtikelVW artikelVW = new FormArtikelVW(this.benutzer);
|
||||||
@ -1244,4 +1299,7 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//CHANGES: Im Tap Vorbereitet wird beim Ändern der sauberen Containeranzahl gefragt ob die Etiketten neu gedruckt werden sollen.
|
//CHANGES: Im Tab Vorbereitet wird beim Ändern der sauberen Containeranzahl gefragt ob die Etiketten neu gedruckt werden sollen.
|
||||||
|
//CHANGES: Im Tab Rampe wird bei DoppelClick der Auftrag als gewaschen markiert und im Tab Aufträge heute sichtbar.
|
||||||
|
//CHANGES: Wenn ein anderer Fahrer ausgewählt wird, wird auch die Priority laut dem Fahrer geändert.
|
||||||
|
//CHANGES: NumericUpDown markiert automatisch den Inhalt. Erleichtert die Eingabe.
|
||||||
6
AA-Forms/FormFehlmengeCount.Designer.cs
generated
6
AA-Forms/FormFehlmengeCount.Designer.cs
generated
@ -56,8 +56,8 @@
|
|||||||
this.textBoxScann.Name = "textBoxScann";
|
this.textBoxScann.Name = "textBoxScann";
|
||||||
this.textBoxScann.Size = new System.Drawing.Size(130, 31);
|
this.textBoxScann.Size = new System.Drawing.Size(130, 31);
|
||||||
this.textBoxScann.TabIndex = 1;
|
this.textBoxScann.TabIndex = 1;
|
||||||
this.textBoxScann.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBoxScann_KeyDown);
|
this.textBoxScann.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxScann_KeyDown);
|
||||||
this.textBoxScann.Leave += new System.EventHandler(this.textBoxScann_Leave);
|
this.textBoxScann.Leave += new System.EventHandler(this.TextBoxScann_Leave);
|
||||||
//
|
//
|
||||||
// labelSuchtext
|
// labelSuchtext
|
||||||
//
|
//
|
||||||
@ -81,7 +81,7 @@
|
|||||||
this.buttonFertig.TabIndex = 3;
|
this.buttonFertig.TabIndex = 3;
|
||||||
this.buttonFertig.Text = "Kunde Fertig";
|
this.buttonFertig.Text = "Kunde Fertig";
|
||||||
this.buttonFertig.UseVisualStyleBackColor = false;
|
this.buttonFertig.UseVisualStyleBackColor = false;
|
||||||
this.buttonFertig.Click += new System.EventHandler(this.buttonFertig_Click);
|
this.buttonFertig.Click += new System.EventHandler(this.ButtonFertig_Click);
|
||||||
//
|
//
|
||||||
// labelName
|
// labelName
|
||||||
//
|
//
|
||||||
|
|||||||
@ -25,11 +25,11 @@ namespace Deckungsbeitrag
|
|||||||
Kunde kunde;
|
Kunde kunde;
|
||||||
Auftrag auftrag;
|
Auftrag auftrag;
|
||||||
List<KundeArtikel> artikelListe;
|
List<KundeArtikel> artikelListe;
|
||||||
Meldungen meldung = new Meldungen();
|
readonly Meldungen meldung = new Meldungen();
|
||||||
private Benutzer benutzer;
|
private readonly Benutzer benutzer;
|
||||||
private List<object> auftragsliste;
|
private List<object> auftragsliste;
|
||||||
private ArtikelKategorie kategorie;
|
private ArtikelKategorie kategorie;
|
||||||
string userid;
|
readonly string userid;
|
||||||
|
|
||||||
#region Form-Konstruktor
|
#region Form-Konstruktor
|
||||||
|
|
||||||
@ -114,7 +114,7 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
if (kunde.Aufgabe != null)
|
if (kunde.Aufgabe != null)
|
||||||
{
|
{
|
||||||
string n = kunde.Suchtext == null ? kunde.KundeName : kunde.Suchtext;
|
string n = kunde.Suchtext ?? kunde.KundeName;
|
||||||
meldung.GetInfo(this, $"Bei Kunde {n} solltest du folgendes beachten: {Aufgabe.GetAufgabe(null, kunde.Aufgabe).Bezeichnung}", false);
|
meldung.GetInfo(this, $"Bei Kunde {n} solltest du folgendes beachten: {Aufgabe.GetAufgabe(null, kunde.Aufgabe).Bezeichnung}", false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -387,7 +387,7 @@ namespace Deckungsbeitrag
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
private void buttonFertig_Click(object sender, EventArgs e)
|
private void ButtonFertig_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
// Controls werden durchgegangen und ausgeblendet oder der Text entfernt.
|
// Controls werden durchgegangen und ausgeblendet oder der Text entfernt.
|
||||||
@ -470,7 +470,7 @@ namespace Deckungsbeitrag
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
private void textBoxScann_Leave(object sender, EventArgs e)
|
private void TextBoxScann_Leave(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// Kundennummer wird ausgelesen und Kunde aus DB geholt. Form_Load wird danach ausgelöst
|
// Kundennummer wird ausgelesen und Kunde aus DB geholt. Form_Load wird danach ausgelöst
|
||||||
if (this.kunde == null)
|
if (this.kunde == null)
|
||||||
@ -479,12 +479,12 @@ namespace Deckungsbeitrag
|
|||||||
ControlLaden();
|
ControlLaden();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void textBoxScann_KeyDown(object sender, KeyEventArgs e)
|
private void TextBoxScann_KeyDown(object sender, KeyEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.KeyCode == Keys.Enter)
|
if (e.KeyCode == Keys.Enter)
|
||||||
{
|
{
|
||||||
// Leave-Ereignis manuell ausführen
|
// Leave-Ereignis manuell ausführen
|
||||||
textBoxScann_Leave(sender, EventArgs.Empty);
|
TextBoxScann_Leave(sender, EventArgs.Empty);
|
||||||
|
|
||||||
// Fokus auf das nächste Steuerelement verschieben
|
// Fokus auf das nächste Steuerelement verschieben
|
||||||
//this.SelectNextControl((Control)sender, true, true, true, true);
|
//this.SelectNextControl((Control)sender, true, true, true, true);
|
||||||
@ -502,16 +502,14 @@ namespace Deckungsbeitrag
|
|||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
private void Button_MouseUp(object sender, MouseEventArgs e)
|
private void Button_MouseUp(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
Button btn = sender as Button;
|
if (sender is Button btn)
|
||||||
if (btn != null)
|
|
||||||
{
|
{
|
||||||
btn.BackColor = Color.Turquoise; // Gewünschte Farbe beim MouseUp
|
btn.BackColor = Color.Turquoise; // Gewünschte Farbe beim MouseUp
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void Button_MouseDown(object sender, MouseEventArgs e)
|
private void Button_MouseDown(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
Button btn = sender as Button;
|
if (sender is Button btn)
|
||||||
if (btn != null)
|
|
||||||
{
|
{
|
||||||
btn.BackColor = Color.LightSeaGreen; // Gewünschte Farbe beim MouseDown
|
btn.BackColor = Color.LightSeaGreen; // Gewünschte Farbe beim MouseDown
|
||||||
}
|
}
|
||||||
@ -521,36 +519,25 @@ namespace Deckungsbeitrag
|
|||||||
// Beim geklickten Artikel wird Fehlmenge erhöht
|
// Beim geklickten Artikel wird Fehlmenge erhöht
|
||||||
Button btn = (Button)sender;
|
Button btn = (Button)sender;
|
||||||
KundeArtikel kndart = (KundeArtikel)btn.Tag;
|
KundeArtikel kndart = (KundeArtikel)btn.Tag;
|
||||||
|
|
||||||
if ((userid != null && userid.Contains("reklamation")) || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Expedit)) kndart.Reklamation++;
|
|
||||||
else kndart.Fehlmenge++;
|
|
||||||
|
|
||||||
// Wenn speichern nicht möglich, wird darauf hingewiesen.
|
|
||||||
if (kndart.Save() != 1) meldung.FehlmengeCount();
|
|
||||||
else
|
|
||||||
{
|
|
||||||
DateTime timestamp = DateTime.Now.Date;
|
DateTime timestamp = DateTime.Now.Date;
|
||||||
ArtikelNachwaesche artnw = ArtikelNachwaesche.FindeDatensatz(kndart.ArtikelID, timestamp);
|
ArtikelNachwaesche artnw = ArtikelNachwaesche.FindeDatensatz(kndart.ArtikelID, timestamp);
|
||||||
if (artnw.NachwaescheID != null) artnw.Nachwaesche++;
|
if (artnw.NachwaescheID == null)
|
||||||
else
|
|
||||||
{
|
{
|
||||||
artnw = new ArtikelNachwaesche()
|
artnw = new ArtikelNachwaesche()
|
||||||
{
|
{
|
||||||
ArtikelID = kndart.ArtikelID,
|
ArtikelID = kndart.ArtikelID,
|
||||||
Datum = timestamp,
|
Datum = timestamp,
|
||||||
Nachwaesche = 1
|
Nachwaesche = 0,
|
||||||
|
Reklamation = 0
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
artnw.Save();
|
if ((userid != null && userid.Contains("reklamation")) || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Expedit)) { kndart.Reklamation++; artnw.Reklamation++; }
|
||||||
|
else { kndart.Fehlmenge++; artnw.Nachwaesche++; }
|
||||||
|
|
||||||
|
// Wenn speichern nicht möglich, wird darauf hingewiesen.
|
||||||
|
if (kndart.Save() != 1 || artnw.Save() != 1) meldung.FehlmengeCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//TODO: Wenn Frottee-Expedit auch Relamation bearbeitet, muss BenutzerRolle abgefragt werden. siehe CHANGES.
|
//DONE: Wenn Frottee-Expedit auch Reklamation bearbeitet, muss BenutzerRolle abgefragt werden. siehe CHANGES.
|
||||||
//DONE: Auftrag über FormListe holen und daraus den Kunden für Fehlmenge holen.
|
|
||||||
//DONE: Logik überlegen wie ein bearbeiteter Auftrag nicht doppelt gewählt werden kann. (Abteilungen zu Auftrag hinzufügen und bei Ausschlager Druck definieren?)
|
|
||||||
//DONE: Nur die Kunden der Aufträge als Liste anzeigen wäre möglich. Macht die Auswahl für das Personal einfacher weil 90% bereits weg fallen.
|
|
||||||
@ -604,5 +604,3 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//INSTALL-REMINDER: Tabelle KundeArtikel Spalten ArtikelID und Reihung hinzufügen.
|
|
||||||
//CHANGES: KundeArtikel wird mit Reihung gespeichert und angezeigt.
|
|
||||||
14
AA-Forms/FormListe.Designer.cs
generated
14
AA-Forms/FormListe.Designer.cs
generated
@ -67,8 +67,8 @@ namespace Deckungsbeitrag
|
|||||||
this.listViewKunde.TabIndex = 1;
|
this.listViewKunde.TabIndex = 1;
|
||||||
this.listViewKunde.UseCompatibleStateImageBehavior = false;
|
this.listViewKunde.UseCompatibleStateImageBehavior = false;
|
||||||
this.listViewKunde.View = System.Windows.Forms.View.Details;
|
this.listViewKunde.View = System.Windows.Forms.View.Details;
|
||||||
this.listViewKunde.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listViewKunde_KeyDown);
|
this.listViewKunde.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ListViewKunde_KeyDown);
|
||||||
this.listViewKunde.MouseClick += new System.Windows.Forms.MouseEventHandler(this.listViewKunde_MouseClick);
|
this.listViewKunde.MouseClick += new System.Windows.Forms.MouseEventHandler(this.ListViewKunde_MouseClick);
|
||||||
//
|
//
|
||||||
// columnHeader1
|
// columnHeader1
|
||||||
//
|
//
|
||||||
@ -97,10 +97,10 @@ namespace Deckungsbeitrag
|
|||||||
this.textBoxKunde.Size = new System.Drawing.Size(120, 26);
|
this.textBoxKunde.Size = new System.Drawing.Size(120, 26);
|
||||||
this.textBoxKunde.TabIndex = 0;
|
this.textBoxKunde.TabIndex = 0;
|
||||||
this.textBoxKunde.Text = "Hier eingeben";
|
this.textBoxKunde.Text = "Hier eingeben";
|
||||||
this.textBoxKunde.TextChanged += new System.EventHandler(this.textBoxKunde_TextChanged);
|
this.textBoxKunde.TextChanged += new System.EventHandler(this.TextBoxKunde_TextChanged);
|
||||||
this.textBoxKunde.Enter += new System.EventHandler(this.TextBoxKunde_Enter);
|
this.textBoxKunde.Enter += new System.EventHandler(this.TextBoxKunde_Enter);
|
||||||
this.textBoxKunde.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listViewKunde_KeyDown);
|
this.textBoxKunde.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ListViewKunde_KeyDown);
|
||||||
this.textBoxKunde.Leave += new System.EventHandler(this.textBoxKunde_Leave);
|
this.textBoxKunde.Leave += new System.EventHandler(this.TextBoxKunde_Leave);
|
||||||
//
|
//
|
||||||
// label1
|
// label1
|
||||||
//
|
//
|
||||||
@ -127,7 +127,7 @@ namespace Deckungsbeitrag
|
|||||||
this.buttonOK.TabIndex = 15;
|
this.buttonOK.TabIndex = 15;
|
||||||
this.buttonOK.Text = "Kunde übernehmen";
|
this.buttonOK.Text = "Kunde übernehmen";
|
||||||
this.buttonOK.UseVisualStyleBackColor = false;
|
this.buttonOK.UseVisualStyleBackColor = false;
|
||||||
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
|
this.buttonOK.Click += new System.EventHandler(this.ButtonOK_Click);
|
||||||
//
|
//
|
||||||
// buttonNeuerAuftrag
|
// buttonNeuerAuftrag
|
||||||
//
|
//
|
||||||
@ -144,7 +144,7 @@ namespace Deckungsbeitrag
|
|||||||
this.buttonNeuerAuftrag.TabIndex = 16;
|
this.buttonNeuerAuftrag.TabIndex = 16;
|
||||||
this.buttonNeuerAuftrag.Text = "Neuer Auftrag";
|
this.buttonNeuerAuftrag.Text = "Neuer Auftrag";
|
||||||
this.buttonNeuerAuftrag.UseVisualStyleBackColor = false;
|
this.buttonNeuerAuftrag.UseVisualStyleBackColor = false;
|
||||||
this.buttonNeuerAuftrag.Click += new System.EventHandler(this.buttonNeuerAuftrag_Click);
|
this.buttonNeuerAuftrag.Click += new System.EventHandler(this.ButtonNeuerAuftrag_Click);
|
||||||
//
|
//
|
||||||
// FormListe
|
// FormListe
|
||||||
//
|
//
|
||||||
|
|||||||
@ -31,16 +31,16 @@ namespace Deckungsbeitrag
|
|||||||
public Benutzer benutzer;
|
public Benutzer benutzer;
|
||||||
public Auftrag auftrag;
|
public Auftrag auftrag;
|
||||||
private List<Kunde> Kundenliste;
|
private List<Kunde> Kundenliste;
|
||||||
private List<Auftrag> Auftragliste;
|
private readonly List<Auftrag> Auftragliste;
|
||||||
private List<Auftrag> Finishingliste;
|
private readonly List<Auftrag> Finishingliste;
|
||||||
private Meldungen meldung = new Meldungen();
|
private readonly Meldungen meldung = new Meldungen();
|
||||||
int type_of_list;
|
readonly int type_of_list;
|
||||||
string ben_col = "Vorname,Nachname,Benutzername,Rolle,Schein,Gueltig bis,Aktiv";
|
readonly string ben_col = "Vorname,Nachname,Benutzername,Rolle,Schein,Gueltig bis,Aktiv";
|
||||||
string knd_col = "KundenNr,Suchtext,KundenName,Ort";
|
readonly string knd_col = "KundenNr,Suchtext,KundenName,Ort";
|
||||||
string auf_col = "Aufgabe,Beschreibung";
|
readonly string auf_col = "Aufgabe,Beschreibung";
|
||||||
string auftrag_col = "Kunde,Liefertag,Container";
|
readonly string auftrag_col = "Kunde,Liefertag,Container";
|
||||||
private Timer timer;
|
private Timer timer;
|
||||||
private string kndService;
|
private readonly string kndService;
|
||||||
|
|
||||||
|
|
||||||
#region Form-Konstruktor
|
#region Form-Konstruktor
|
||||||
@ -74,13 +74,15 @@ namespace Deckungsbeitrag
|
|||||||
private void FormListe_Load(object sender, EventArgs e)
|
private void FormListe_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// Timer für Wartezeit bis TextChanged eintritt.
|
// Timer für Wartezeit bis TextChanged eintritt.
|
||||||
timer = new Timer();
|
timer = new Timer
|
||||||
timer.Interval = 700; // 0,7 Sekunden
|
{
|
||||||
|
Interval = 700 // 0,7 Sekunden
|
||||||
|
};
|
||||||
timer.Tick += Timer_Tick;
|
timer.Tick += Timer_Tick;
|
||||||
|
|
||||||
this.buttonOK.Visible = this.buttonOK.Enabled = false;
|
this.buttonOK.Visible = this.buttonOK.Enabled = false;
|
||||||
|
|
||||||
listViewKunde_Load();
|
ListViewKunde_Load();
|
||||||
|
|
||||||
this.textBoxKunde.Focus();
|
this.textBoxKunde.Focus();
|
||||||
this.CenterToScreen();
|
this.CenterToScreen();
|
||||||
@ -90,7 +92,7 @@ namespace Deckungsbeitrag
|
|||||||
this.CenterToScreen();
|
this.CenterToScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void listViewKunde_Load()
|
private void ListViewKunde_Load()
|
||||||
{
|
{
|
||||||
//LISTE LEEREN
|
//LISTE LEEREN
|
||||||
this.listViewKunde.Items.Clear();
|
this.listViewKunde.Items.Clear();
|
||||||
@ -99,14 +101,16 @@ namespace Deckungsbeitrag
|
|||||||
//SWITCH NACH LISTENTYP
|
//SWITCH NACH LISTENTYP
|
||||||
switch (type_of_list)
|
switch (type_of_list)
|
||||||
{
|
{
|
||||||
case var kndliste when type_of_list == (int)Listentyp.Kundenliste:
|
case var _ when type_of_list == (int)Listentyp.Kundenliste:
|
||||||
{
|
{
|
||||||
//SPALTEN ERSTELLEN UND EINFÜGEN
|
//SPALTEN ERSTELLEN UND EINFÜGEN
|
||||||
string[] colname = knd_col.Split(',');
|
string[] colname = knd_col.Split(',');
|
||||||
foreach (string s in colname)
|
foreach (string s in colname)
|
||||||
{
|
{
|
||||||
ColumnHeader ch = new ColumnHeader();
|
ColumnHeader ch = new ColumnHeader
|
||||||
ch.Text = s;
|
{
|
||||||
|
Text = s
|
||||||
|
};
|
||||||
|
|
||||||
this.listViewKunde.Columns.Add(ch);
|
this.listViewKunde.Columns.Add(ch);
|
||||||
}
|
}
|
||||||
@ -136,27 +140,31 @@ namespace Deckungsbeitrag
|
|||||||
this.buttonNeuerAuftrag.Visible = this.buttonNeuerAuftrag.Enabled = false;
|
this.buttonNeuerAuftrag.Visible = this.buttonNeuerAuftrag.Enabled = false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case var aufliste when type_of_list == (int)Listentyp.Aufgabenliste:
|
case var _ when type_of_list == (int)Listentyp.Aufgabenliste:
|
||||||
{
|
{
|
||||||
string[] colname = auf_col.Split(',');
|
string[] colname = auf_col.Split(',');
|
||||||
foreach (string s in colname)
|
foreach (string s in colname)
|
||||||
{
|
{
|
||||||
ColumnHeader ch = new ColumnHeader();
|
ColumnHeader ch = new ColumnHeader
|
||||||
ch.Text = s;
|
{
|
||||||
|
Text = s
|
||||||
|
};
|
||||||
|
|
||||||
this.listViewKunde.Columns.Add(ch);
|
this.listViewKunde.Columns.Add(ch);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case var benliste when type_of_list == (int)Listentyp.Benutzerliste:
|
case var _ when type_of_list == (int)Listentyp.Benutzerliste:
|
||||||
{
|
{
|
||||||
this.textBoxKunde.Visible = this.label1.Visible = false;
|
this.textBoxKunde.Visible = this.label1.Visible = false;
|
||||||
this.buttonNeuerAuftrag.Visible = true;
|
this.buttonNeuerAuftrag.Visible = true;
|
||||||
string[] colname = ben_col.Split(',');
|
string[] colname = ben_col.Split(',');
|
||||||
foreach (string s in colname)
|
foreach (string s in colname)
|
||||||
{
|
{
|
||||||
ColumnHeader ch = new ColumnHeader();
|
ColumnHeader ch = new ColumnHeader
|
||||||
ch.Text = s;
|
{
|
||||||
|
Text = s
|
||||||
|
};
|
||||||
|
|
||||||
this.listViewKunde.Columns.Add(ch);
|
this.listViewKunde.Columns.Add(ch);
|
||||||
}
|
}
|
||||||
@ -164,9 +172,11 @@ namespace Deckungsbeitrag
|
|||||||
this.Text = "BENUTZER WÄHLEN";
|
this.Text = "BENUTZER WÄHLEN";
|
||||||
foreach(Benutzer b in Benutzer.GetList())
|
foreach(Benutzer b in Benutzer.GetList())
|
||||||
{
|
{
|
||||||
ListViewItem item = new ListViewItem();
|
ListViewItem item = new ListViewItem
|
||||||
item.Tag = b;
|
{
|
||||||
item.Text = b.Vorname;
|
Tag = b,
|
||||||
|
Text = b.Vorname
|
||||||
|
};
|
||||||
item.SubItems.Add(b.Nachname);
|
item.SubItems.Add(b.Nachname);
|
||||||
item.SubItems.Add(b.BenutzerName);
|
item.SubItems.Add(b.BenutzerName);
|
||||||
item.SubItems.Add(b.Rolle.ToString());
|
item.SubItems.Add(b.Rolle.ToString());
|
||||||
@ -178,20 +188,24 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case var auftragliste when type_of_list == (int)Listentyp.Auftragliste:
|
case var _ when type_of_list == (int)Listentyp.Auftragliste:
|
||||||
string[] col = auftrag_col.Split(',');
|
string[] col = auftrag_col.Split(',');
|
||||||
foreach(string s in col)
|
foreach(string s in col)
|
||||||
{
|
{
|
||||||
ColumnHeader ch = new ColumnHeader();
|
ColumnHeader ch = new ColumnHeader
|
||||||
ch.Text = s;
|
{
|
||||||
|
Text = s
|
||||||
|
};
|
||||||
this.listViewKunde.Columns.Add(ch);
|
this.listViewKunde.Columns.Add(ch);
|
||||||
}
|
}
|
||||||
this.Text = "AUFTRAG WÄHLEN";
|
this.Text = "AUFTRAG WÄHLEN";
|
||||||
foreach(Auftrag auftrag in this.Auftragliste)
|
foreach(Auftrag auftrag in this.Auftragliste)
|
||||||
{
|
{
|
||||||
ListViewItem item = new ListViewItem();
|
ListViewItem item = new ListViewItem
|
||||||
item.Tag = auftrag;
|
{
|
||||||
item.Text = auftrag.Kundename;
|
Tag = auftrag,
|
||||||
|
Text = auftrag.Kundename
|
||||||
|
};
|
||||||
item.SubItems.Add(auftrag.Liefertag.ToString("ddd dd.MM"));
|
item.SubItems.Add(auftrag.Liefertag.ToString("ddd dd.MM"));
|
||||||
item.SubItems.Add(auftrag.Container.ToString());
|
item.SubItems.Add(auftrag.Container.ToString());
|
||||||
|
|
||||||
@ -208,13 +222,15 @@ namespace Deckungsbeitrag
|
|||||||
this.buttonNeuerAuftrag.Visible = this.buttonNeuerAuftrag.Enabled = false;
|
this.buttonNeuerAuftrag.Visible = this.buttonNeuerAuftrag.Enabled = false;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case var finishliste when type_of_list == (int)Listentyp.Finishingliste:
|
case var _ when type_of_list == (int)Listentyp.Finishingliste:
|
||||||
//SPALTEN ERSTELLEN UND EINFÜGEN
|
//SPALTEN ERSTELLEN UND EINFÜGEN
|
||||||
string[] colname1 = knd_col.Split(',');
|
string[] colname1 = knd_col.Split(',');
|
||||||
foreach (string s in colname1)
|
foreach (string s in colname1)
|
||||||
{
|
{
|
||||||
ColumnHeader ch = new ColumnHeader();
|
ColumnHeader ch = new ColumnHeader
|
||||||
ch.Text = s;
|
{
|
||||||
|
Text = s
|
||||||
|
};
|
||||||
|
|
||||||
this.listViewKunde.Columns.Add(ch);
|
this.listViewKunde.Columns.Add(ch);
|
||||||
}
|
}
|
||||||
@ -224,9 +240,11 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
Kunde knd = Kunde.GetKunde(null, a.KundeID, null);
|
Kunde knd = Kunde.GetKunde(null, a.KundeID, null);
|
||||||
|
|
||||||
ListViewItem item = new ListViewItem();
|
ListViewItem item = new ListViewItem
|
||||||
item.Tag = a;
|
{
|
||||||
item.Text = knd.KundeNummer;
|
Tag = a,
|
||||||
|
Text = knd.KundeNummer
|
||||||
|
};
|
||||||
item.SubItems.Add(knd.Suchtext);
|
item.SubItems.Add(knd.Suchtext);
|
||||||
item.SubItems.Add(knd.KundeName);
|
item.SubItems.Add(knd.KundeName);
|
||||||
item.SubItems.Add(knd.Ort);
|
item.SubItems.Add(knd.Ort);
|
||||||
@ -242,14 +260,16 @@ namespace Deckungsbeitrag
|
|||||||
this.buttonNeuerAuftrag.Visible = this.buttonNeuerAuftrag.Enabled = false;
|
this.buttonNeuerAuftrag.Visible = this.buttonNeuerAuftrag.Enabled = false;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case var reklamationliste when type_of_list == (int)Listentyp.Reklamationliste:
|
case var _ when type_of_list == (int)Listentyp.Reklamationliste:
|
||||||
{
|
{
|
||||||
//SPALTEN ERSTELLEN UND EINFÜGEN
|
//SPALTEN ERSTELLEN UND EINFÜGEN
|
||||||
string[] colname = knd_col.Split(',');
|
string[] colname = knd_col.Split(',');
|
||||||
foreach (string s in colname)
|
foreach (string s in colname)
|
||||||
{
|
{
|
||||||
ColumnHeader ch = new ColumnHeader();
|
ColumnHeader ch = new ColumnHeader
|
||||||
ch.Text = s;
|
{
|
||||||
|
Text = s
|
||||||
|
};
|
||||||
|
|
||||||
this.listViewKunde.Columns.Add(ch);
|
this.listViewKunde.Columns.Add(ch);
|
||||||
}
|
}
|
||||||
@ -258,9 +278,11 @@ namespace Deckungsbeitrag
|
|||||||
if (this.Kundenliste == null) this.Kundenliste = Kunde.GetReklamationListe("Miete");
|
if (this.Kundenliste == null) this.Kundenliste = Kunde.GetReklamationListe("Miete");
|
||||||
foreach (Kunde kunde in this.Kundenliste)
|
foreach (Kunde kunde in this.Kundenliste)
|
||||||
{
|
{
|
||||||
ListViewItem item = new ListViewItem();
|
ListViewItem item = new ListViewItem
|
||||||
item.Tag = kunde;
|
{
|
||||||
item.Text = kunde.KundeNummer;
|
Tag = kunde,
|
||||||
|
Text = kunde.KundeNummer
|
||||||
|
};
|
||||||
item.SubItems.Add(kunde.Suchtext);
|
item.SubItems.Add(kunde.Suchtext);
|
||||||
item.SubItems.Add(kunde.KundeName);
|
item.SubItems.Add(kunde.KundeName);
|
||||||
item.SubItems.Add(kunde.Ort);
|
item.SubItems.Add(kunde.Ort);
|
||||||
@ -280,12 +302,12 @@ namespace Deckungsbeitrag
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
listViewKunde_Design();
|
ListViewKunde_Design();
|
||||||
//Funktionen.Columns_Resize(this.listViewKunde);
|
//Funktionen.Columns_Resize(this.listViewKunde);
|
||||||
//this.Size = new Size(this.listViewKunde.Width + 70, this.Height);
|
//this.Size = new Size(this.listViewKunde.Width + 70, this.Height);
|
||||||
|
|
||||||
}
|
}
|
||||||
private void listViewKunde_Design()
|
private void ListViewKunde_Design()
|
||||||
{
|
{
|
||||||
int lvwWidth = 0;
|
int lvwWidth = 0;
|
||||||
this.listViewKunde.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
|
this.listViewKunde.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
|
||||||
@ -310,7 +332,7 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
//GetKeyboard();
|
//GetKeyboard();
|
||||||
}
|
}
|
||||||
private void textBoxKunde_TextChanged(object sender, EventArgs e)
|
private void TextBoxKunde_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// TextChanged tritt nur ein wenn x Sekunden keine Eingabe erfolgt. Logik befindet sich in Timer_Tick
|
// TextChanged tritt nur ein wenn x Sekunden keine Eingabe erfolgt. Logik befindet sich in Timer_Tick
|
||||||
timer.Stop(); // Alten Timer beenden
|
timer.Stop(); // Alten Timer beenden
|
||||||
@ -319,26 +341,25 @@ namespace Deckungsbeitrag
|
|||||||
private void Timer_Tick(object sender, EventArgs e)
|
private void Timer_Tick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
timer.Stop(); // Timer stoppen
|
timer.Stop(); // Timer stoppen
|
||||||
string text = string.Empty;
|
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(textBoxKunde.Text)) { return; }
|
if (string.IsNullOrEmpty(textBoxKunde.Text)) { return; }
|
||||||
|
|
||||||
// Wenn kein Fragezeichen am Anfang wird Kundenliste erstellt.
|
// Wenn kein Fragezeichen am Anfang wird Kundenliste erstellt.
|
||||||
if (!textBoxKunde.Text.StartsWith("?"))
|
if (!textBoxKunde.Text.StartsWith("?"))
|
||||||
{
|
{
|
||||||
|
string text;
|
||||||
if (textBoxKunde.Text.StartsWith("http"))
|
if (textBoxKunde.Text.StartsWith("http"))
|
||||||
{
|
{
|
||||||
int index = 1;
|
int index = 1;
|
||||||
int i = 0;
|
|
||||||
index += textBoxKunde.Text.IndexOf("=", index);
|
index += textBoxKunde.Text.IndexOf("=", index);
|
||||||
i = textBoxKunde.Text.IndexOf("%", index);
|
int i = textBoxKunde.Text.IndexOf("%", index);
|
||||||
text = textBoxKunde.Text.Substring(index, i - index);
|
text = textBoxKunde.Text.Substring(index, i - index);
|
||||||
textBoxKunde.Text = text;
|
textBoxKunde.Text = text;
|
||||||
}
|
}
|
||||||
else text = this.textBoxKunde.Text;
|
else text = this.textBoxKunde.Text;
|
||||||
|
|
||||||
this.Kundenliste = Kunde.GetTmpList(text, this.kndService);
|
this.Kundenliste = Kunde.GetTmpList(text, this.kndService);
|
||||||
listViewKunde_Load();
|
ListViewKunde_Load();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -351,7 +372,7 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
private void listViewKunde_MouseClick(object sender, MouseEventArgs e)
|
private void ListViewKunde_MouseClick(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
ListViewItem item = this.listViewKunde.GetItemAt(e.X, e.Y);
|
ListViewItem item = this.listViewKunde.GetItemAt(e.X, e.Y);
|
||||||
|
|
||||||
@ -385,7 +406,7 @@ namespace Deckungsbeitrag
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void listViewKunde_KeyDown(object sender, KeyEventArgs e)
|
private void ListViewKunde_KeyDown(object sender, KeyEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.KeyCode == Keys.Enter)
|
if (e.KeyCode == Keys.Enter)
|
||||||
{
|
{
|
||||||
@ -425,7 +446,7 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
|
|
||||||
textBoxKunde_Leave(this, e);
|
TextBoxKunde_Leave(this, e);
|
||||||
this.DialogResult = DialogResult.OK;
|
this.DialogResult = DialogResult.OK;
|
||||||
this.Close();
|
this.Close();
|
||||||
}
|
}
|
||||||
@ -436,7 +457,7 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
private void buttonOK_Click(object sender, EventArgs e)
|
private void ButtonOK_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.kunde = Kunde.GetKunde("2320000", null, null);
|
this.kunde = Kunde.GetKunde("2320000", null, null);
|
||||||
this.kunde.Suchtext = this.textBoxKunde.Text.Substring(1);
|
this.kunde.Suchtext = this.textBoxKunde.Text.Substring(1);
|
||||||
@ -445,7 +466,7 @@ namespace Deckungsbeitrag
|
|||||||
this.DialogResult = DialogResult.OK;
|
this.DialogResult = DialogResult.OK;
|
||||||
this.Close();
|
this.Close();
|
||||||
}
|
}
|
||||||
private void textBoxKunde_Leave(object sender, EventArgs e)
|
private void TextBoxKunde_Leave(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
// Alle gestarteten Instanzen von TabTip.exe (Touch Tastatur) schließen
|
// Alle gestarteten Instanzen von TabTip.exe (Touch Tastatur) schließen
|
||||||
@ -462,7 +483,7 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void buttonNeuerAuftrag_Click(object sender, EventArgs e)
|
private void ButtonNeuerAuftrag_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (meldung.GetFrage(this, "Konntest du den gewünschten Auftrag nicht finden und möchtest diesen neu erstellen?", false) == DialogResult.Yes)
|
if (meldung.GetFrage(this, "Konntest du den gewünschten Auftrag nicht finden und möchtest diesen neu erstellen?", false) == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
|
|||||||
18
AA-Forms/FormMain.Designer.cs
generated
18
AA-Forms/FormMain.Designer.cs
generated
@ -750,7 +750,7 @@ namespace Deckungsbeitrag
|
|||||||
this.groupBoxContAnz.Controls.Add(this.tLPContAnz);
|
this.groupBoxContAnz.Controls.Add(this.tLPContAnz);
|
||||||
this.groupBoxContAnz.Enabled = false;
|
this.groupBoxContAnz.Enabled = false;
|
||||||
this.groupBoxContAnz.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
|
this.groupBoxContAnz.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
|
||||||
this.groupBoxContAnz.Location = new System.Drawing.Point(375, 224);
|
this.groupBoxContAnz.Location = new System.Drawing.Point(558, 311);
|
||||||
this.groupBoxContAnz.Margin = new System.Windows.Forms.Padding(4);
|
this.groupBoxContAnz.Margin = new System.Windows.Forms.Padding(4);
|
||||||
this.groupBoxContAnz.Name = "groupBoxContAnz";
|
this.groupBoxContAnz.Name = "groupBoxContAnz";
|
||||||
this.groupBoxContAnz.Padding = new System.Windows.Forms.Padding(4);
|
this.groupBoxContAnz.Padding = new System.Windows.Forms.Padding(4);
|
||||||
@ -818,7 +818,7 @@ namespace Deckungsbeitrag
|
|||||||
this.label14.Dock = System.Windows.Forms.DockStyle.Right;
|
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.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.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||||
this.label14.Location = new System.Drawing.Point(417, 222);
|
this.label14.Location = new System.Drawing.Point(306, 222);
|
||||||
this.label14.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
this.label14.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||||
this.label14.Name = "label14";
|
this.label14.Name = "label14";
|
||||||
this.label14.Size = new System.Drawing.Size(54, 37);
|
this.label14.Size = new System.Drawing.Size(54, 37);
|
||||||
@ -874,7 +874,7 @@ namespace Deckungsbeitrag
|
|||||||
this.label5.Dock = System.Windows.Forms.DockStyle.Right;
|
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.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.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||||
this.label5.Location = new System.Drawing.Point(421, 185);
|
this.label5.Location = new System.Drawing.Point(310, 185);
|
||||||
this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||||
this.label5.Name = "label5";
|
this.label5.Name = "label5";
|
||||||
this.label5.Size = new System.Drawing.Size(50, 37);
|
this.label5.Size = new System.Drawing.Size(50, 37);
|
||||||
@ -930,7 +930,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelZeit52.Dock = System.Windows.Forms.DockStyle.Right;
|
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.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.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||||
this.labelZeit52.Location = new System.Drawing.Point(421, 148);
|
this.labelZeit52.Location = new System.Drawing.Point(310, 148);
|
||||||
this.labelZeit52.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
this.labelZeit52.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||||
this.labelZeit52.Name = "labelZeit52";
|
this.labelZeit52.Name = "labelZeit52";
|
||||||
this.labelZeit52.Size = new System.Drawing.Size(50, 37);
|
this.labelZeit52.Size = new System.Drawing.Size(50, 37);
|
||||||
@ -944,7 +944,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelZeit42.Dock = System.Windows.Forms.DockStyle.Right;
|
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.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.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||||
this.labelZeit42.Location = new System.Drawing.Point(421, 111);
|
this.labelZeit42.Location = new System.Drawing.Point(310, 111);
|
||||||
this.labelZeit42.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
this.labelZeit42.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||||
this.labelZeit42.Name = "labelZeit42";
|
this.labelZeit42.Name = "labelZeit42";
|
||||||
this.labelZeit42.Size = new System.Drawing.Size(50, 37);
|
this.labelZeit42.Size = new System.Drawing.Size(50, 37);
|
||||||
@ -958,7 +958,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelZeit32.Dock = System.Windows.Forms.DockStyle.Right;
|
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.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.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||||
this.labelZeit32.Location = new System.Drawing.Point(421, 74);
|
this.labelZeit32.Location = new System.Drawing.Point(310, 74);
|
||||||
this.labelZeit32.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
this.labelZeit32.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||||
this.labelZeit32.Name = "labelZeit32";
|
this.labelZeit32.Name = "labelZeit32";
|
||||||
this.labelZeit32.Size = new System.Drawing.Size(50, 37);
|
this.labelZeit32.Size = new System.Drawing.Size(50, 37);
|
||||||
@ -972,7 +972,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelZeit22.Dock = System.Windows.Forms.DockStyle.Right;
|
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.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.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||||
this.labelZeit22.Location = new System.Drawing.Point(421, 37);
|
this.labelZeit22.Location = new System.Drawing.Point(310, 37);
|
||||||
this.labelZeit22.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
this.labelZeit22.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||||
this.labelZeit22.Name = "labelZeit22";
|
this.labelZeit22.Name = "labelZeit22";
|
||||||
this.labelZeit22.Size = new System.Drawing.Size(50, 37);
|
this.labelZeit22.Size = new System.Drawing.Size(50, 37);
|
||||||
@ -989,7 +989,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelZeit12.Location = new System.Drawing.Point(306, 0);
|
this.labelZeit12.Location = new System.Drawing.Point(306, 0);
|
||||||
this.labelZeit12.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
this.labelZeit12.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||||
this.labelZeit12.Name = "labelZeit12";
|
this.labelZeit12.Name = "labelZeit12";
|
||||||
this.labelZeit12.Size = new System.Drawing.Size(165, 37);
|
this.labelZeit12.Size = new System.Drawing.Size(54, 37);
|
||||||
this.labelZeit12.TabIndex = 15;
|
this.labelZeit12.TabIndex = 15;
|
||||||
this.labelZeit12.Text = "2";
|
this.labelZeit12.Text = "2";
|
||||||
this.labelZeit12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
this.labelZeit12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
@ -1195,7 +1195,7 @@ namespace Deckungsbeitrag
|
|||||||
this.groupBoxSaison.Controls.Add(this.comboBoxSaison);
|
this.groupBoxSaison.Controls.Add(this.comboBoxSaison);
|
||||||
this.groupBoxSaison.Enabled = false;
|
this.groupBoxSaison.Enabled = false;
|
||||||
this.groupBoxSaison.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
|
this.groupBoxSaison.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
|
||||||
this.groupBoxSaison.Location = new System.Drawing.Point(294, 408);
|
this.groupBoxSaison.Location = new System.Drawing.Point(558, 224);
|
||||||
this.groupBoxSaison.Margin = new System.Windows.Forms.Padding(4);
|
this.groupBoxSaison.Margin = new System.Windows.Forms.Padding(4);
|
||||||
this.groupBoxSaison.Name = "groupBoxSaison";
|
this.groupBoxSaison.Name = "groupBoxSaison";
|
||||||
this.groupBoxSaison.Padding = new System.Windows.Forms.Padding(4);
|
this.groupBoxSaison.Padding = new System.Windows.Forms.Padding(4);
|
||||||
|
|||||||
@ -25,7 +25,6 @@ using System.Text;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Windows.Input;
|
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
using ZXing.Common;
|
using ZXing.Common;
|
||||||
using Timer = System.Windows.Forms.Timer;
|
using Timer = System.Windows.Forms.Timer;
|
||||||
@ -99,8 +98,12 @@ namespace Deckungsbeitrag
|
|||||||
this.labelSoftwareDatum.Text = @"N:\TECHNIK\Software\Wirl-Verwaltung\Setup\SetupVerwaltung*.msi";
|
this.labelSoftwareDatum.Text = @"N:\TECHNIK\Software\Wirl-Verwaltung\Setup\SetupVerwaltung*.msi";
|
||||||
this.labelArtikelDatum.Text = @"N:\TECHNIK\Software\Wirl-Verwaltung\Listen\Artikelkurzliste.csv";
|
this.labelArtikelDatum.Text = @"N:\TECHNIK\Software\Wirl-Verwaltung\Listen\Artikelkurzliste.csv";
|
||||||
|
|
||||||
if (this.benutzer.Rolle == BenutzerRolle.Admin || this.benutzer.Rolle == BenutzerRolle.Verwaltung || this.benutzer.Rolle == BenutzerRolle.Master) GetInventuren();
|
// Inventuren sind ausschließlich für Admin, Verwaltung oder Master sichtbar.
|
||||||
|
if (this.benutzer.Rolle == BenutzerRolle.Admin || this.benutzer.Rolle == BenutzerRolle.Verwaltung || this.benutzer.Rolle == BenutzerRolle.Master)
|
||||||
|
{
|
||||||
|
GetInventuren();
|
||||||
GetSaison();
|
GetSaison();
|
||||||
|
}
|
||||||
|
|
||||||
if (this.groupBoxContAnz.Visible)
|
if (this.groupBoxContAnz.Visible)
|
||||||
{
|
{
|
||||||
@ -1108,9 +1111,8 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
this.panelMain.Controls.Add(uCInventur);
|
this.panelMain.Controls.Add(uCInventur);
|
||||||
}
|
}
|
||||||
Get_UCInventur_Location();
|
//Get_UCInventur_Location();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Do_UCInventur_Delete()
|
private void Do_UCInventur_Delete()
|
||||||
{
|
{
|
||||||
this.panelMain.Controls.Remove(uCInventur);
|
this.panelMain.Controls.Remove(uCInventur);
|
||||||
@ -1119,16 +1121,14 @@ namespace Deckungsbeitrag
|
|||||||
private void Get_UCInventur_Location()
|
private void Get_UCInventur_Location()
|
||||||
{
|
{
|
||||||
// UCInventur in den Vordergrund bringen und Location setzen.
|
// UCInventur in den Vordergrund bringen und Location setzen.
|
||||||
int y = 0;
|
int y = panelMain.Controls["feedback"].Bottom + 10;
|
||||||
int x = 0;
|
|
||||||
if (!formloading) y = panelMain.Controls["feedback"].Top;
|
|
||||||
foreach (UCInventur uci in panelMain.Controls.OfType<UCInventur>())
|
foreach (UCInventur uci in panelMain.Controls.OfType<UCInventur>())
|
||||||
{
|
{
|
||||||
if (!formloading) x = panelMain.Controls["feedback"].Left - uCInventur.Width - 10;
|
int x = panelMain.Width - uCInventur.Width - 10;
|
||||||
|
uci.Visible = true;
|
||||||
uci.BringToFront();
|
uci.BringToFront();
|
||||||
uci.Location = new Point(x, y);
|
uci.Location = new Point(x, y);
|
||||||
y += uci.Height;
|
y += uci.Height;
|
||||||
uci.Visible = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1317,7 +1317,7 @@ namespace Deckungsbeitrag
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
await conn.OpenAsync();
|
await conn.OpenAsync();
|
||||||
auftragliste = await Auftrag.GetAuftraegeProLiefertagAsync(conn, AuftragTyp.Standart, AuftragStatus.Aufgelegt);
|
auftragliste = await Auftrag.GetAuftraegeProLiefertagAsync(conn, AuftragStatus.Aufgelegt);
|
||||||
//TODO: nicht ganze Aufträge holen sondern nur die Zahlen?
|
//TODO: nicht ganze Aufträge holen sondern nur die Zahlen?
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
@ -1469,21 +1469,9 @@ namespace Deckungsbeitrag
|
|||||||
textBox1.Width = (int)size.Width + 10; // +10 als Puffer
|
textBox1.Width = (int)size.Width + 10; // +10 als Puffer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void buttonTestInventur_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
FormShowUserControl showUserControl = new FormShowUserControl("Tourenplan", this.benutzer);
|
|
||||||
showUserControl.ShowDialog();
|
|
||||||
var data = showUserControl.lieferDaten;
|
|
||||||
MessageBox.Show($"{data.datum} {data.text}", "Test", MessageBoxButtons.OK);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//CHANGES: Fahrer können abgeholte Aufträge erstellen und ausgelieferte Aufträge markieren.
|
//CHANGES: Fahrer können abgeholte Aufträge erstellen und ausgelieferte Aufträge markieren.
|
||||||
//CHANGES: Artikelliste und Kundenliste werden automatisch importiert wenn vorhanden.
|
//CHANGES: Artikelliste und Kundenliste werden automatisch importiert wenn vorhanden.
|
||||||
//TODO: Dateinamen aus Tikos anschauen. Eventuell Datum von letztem Import über Dateiname wählen?
|
//TODO: Dateinamen aus Tikos anschauen. Eventuell Datum von letztem Import über Dateiname wählen?
|
||||||
//TODO: JSON nach angemeldeten Fahrer durchsuchen und Kundenliste des aktuellen Wochentag anzeigen.
|
//DONE: JSON nach angemeldeten Fahrer durchsuchen und Kundenliste des aktuellen Wochentag anzeigen.
|
||||||
//TODO: Auftrag Schnellerfassung erstellen. Kundenliste aus JSON in OLV einfügen wenn schmutzig > 0 dann Auftrag erstellen. Spalten: "Kunde, schmutzig, liefertag, zustellfahrer" evnetuell in AuftragVW?
|
|
||||||
//DONE: HILFE zeigt OnBoarding.
|
|
||||||
//DONE: Auftragliste bei Fahrer anzeigen wenn Login.
|
|
||||||
//DONE: Wenn RegAuftrag wird als augeliefert markiert, wird dieser automatisch neu erstellt laut hinterlegtem Rhythmus.
|
|
||||||
|
|||||||
@ -13,9 +13,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Windows.Input;
|
|
||||||
using Point = System.Drawing.Point;
|
using Point = System.Drawing.Point;
|
||||||
using Size = System.Drawing.Size;
|
using Size = System.Drawing.Size;
|
||||||
|
|
||||||
|
|||||||
@ -81,4 +81,3 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//DONE: Neue Aufgabe Screen erstellen.
|
|
||||||
48
AA-Forms/FormNeuerAuftrag.Designer.cs
generated
48
AA-Forms/FormNeuerAuftrag.Designer.cs
generated
@ -37,7 +37,7 @@ namespace Deckungsbeitrag
|
|||||||
this.label2 = new System.Windows.Forms.Label();
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
this.textBoxKundeName = new System.Windows.Forms.TextBox();
|
this.textBoxKundeName = new System.Windows.Forms.TextBox();
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
this.label4 = new System.Windows.Forms.Label();
|
this.labelLiefertag = new System.Windows.Forms.Label();
|
||||||
this.label5 = new System.Windows.Forms.Label();
|
this.label5 = new System.Windows.Forms.Label();
|
||||||
this.rBMO = new System.Windows.Forms.RadioButton();
|
this.rBMO = new System.Windows.Forms.RadioButton();
|
||||||
this.rBFR = new System.Windows.Forms.RadioButton();
|
this.rBFR = new System.Windows.Forms.RadioButton();
|
||||||
@ -76,8 +76,8 @@ namespace Deckungsbeitrag
|
|||||||
this.dTPLiefertag.Name = "dTPLiefertag";
|
this.dTPLiefertag.Name = "dTPLiefertag";
|
||||||
this.dTPLiefertag.Size = new System.Drawing.Size(187, 38);
|
this.dTPLiefertag.Size = new System.Drawing.Size(187, 38);
|
||||||
this.dTPLiefertag.TabIndex = 2;
|
this.dTPLiefertag.TabIndex = 2;
|
||||||
this.dTPLiefertag.ValueChanged += new System.EventHandler(this.dTPLiefertag_ValueChanged);
|
this.dTPLiefertag.ValueChanged += new System.EventHandler(this.DTPLiefertag_ValueChanged);
|
||||||
this.dTPLiefertag.Leave += new System.EventHandler(this.dTPLiefertag_Leave);
|
this.dTPLiefertag.Leave += new System.EventHandler(this.DTPLiefertag_Leave);
|
||||||
//
|
//
|
||||||
// buttonSpeichern
|
// buttonSpeichern
|
||||||
//
|
//
|
||||||
@ -97,7 +97,7 @@ namespace Deckungsbeitrag
|
|||||||
this.buttonSpeichern.Text = "Speichern";
|
this.buttonSpeichern.Text = "Speichern";
|
||||||
this.buttonSpeichern.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
this.buttonSpeichern.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
||||||
this.buttonSpeichern.UseVisualStyleBackColor = false;
|
this.buttonSpeichern.UseVisualStyleBackColor = false;
|
||||||
this.buttonSpeichern.Click += new System.EventHandler(this.buttonSpeichern_Click);
|
this.buttonSpeichern.Click += new System.EventHandler(this.ButtonSpeichern_Click);
|
||||||
//
|
//
|
||||||
// buttonAbbrechen
|
// buttonAbbrechen
|
||||||
//
|
//
|
||||||
@ -118,7 +118,7 @@ namespace Deckungsbeitrag
|
|||||||
this.buttonAbbrechen.Text = "Abbrechen";
|
this.buttonAbbrechen.Text = "Abbrechen";
|
||||||
this.buttonAbbrechen.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
this.buttonAbbrechen.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
||||||
this.buttonAbbrechen.UseVisualStyleBackColor = false;
|
this.buttonAbbrechen.UseVisualStyleBackColor = false;
|
||||||
this.buttonAbbrechen.Click += new System.EventHandler(this.buttonAbbrechen_Click);
|
this.buttonAbbrechen.Click += new System.EventHandler(this.ButtonAbbrechen_Click);
|
||||||
//
|
//
|
||||||
// textBoxKndNr
|
// textBoxKndNr
|
||||||
//
|
//
|
||||||
@ -128,8 +128,6 @@ namespace Deckungsbeitrag
|
|||||||
this.textBoxKndNr.Name = "textBoxKndNr";
|
this.textBoxKndNr.Name = "textBoxKndNr";
|
||||||
this.textBoxKndNr.Size = new System.Drawing.Size(139, 37);
|
this.textBoxKndNr.Size = new System.Drawing.Size(139, 37);
|
||||||
this.textBoxKndNr.TabIndex = 0;
|
this.textBoxKndNr.TabIndex = 0;
|
||||||
this.textBoxKndNr.Click += new System.EventHandler(this.textBoxKndNr_Click);
|
|
||||||
this.textBoxKndNr.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.textBoxKndNr_PreviewKeyDown);
|
|
||||||
//
|
//
|
||||||
// label2
|
// label2
|
||||||
//
|
//
|
||||||
@ -149,7 +147,6 @@ namespace Deckungsbeitrag
|
|||||||
this.textBoxKundeName.Name = "textBoxKundeName";
|
this.textBoxKundeName.Name = "textBoxKundeName";
|
||||||
this.textBoxKundeName.Size = new System.Drawing.Size(369, 37);
|
this.textBoxKundeName.Size = new System.Drawing.Size(369, 37);
|
||||||
this.textBoxKundeName.TabIndex = 8;
|
this.textBoxKundeName.TabIndex = 8;
|
||||||
this.textBoxKundeName.Leave += new System.EventHandler(this.textBoxKundeName_Leave);
|
|
||||||
//
|
//
|
||||||
// label3
|
// label3
|
||||||
//
|
//
|
||||||
@ -161,15 +158,15 @@ namespace Deckungsbeitrag
|
|||||||
this.label3.TabIndex = 19;
|
this.label3.TabIndex = 19;
|
||||||
this.label3.Text = "Kunde:";
|
this.label3.Text = "Kunde:";
|
||||||
//
|
//
|
||||||
// label4
|
// labelLiefertag
|
||||||
//
|
//
|
||||||
this.label4.AutoSize = true;
|
this.labelLiefertag.AutoSize = true;
|
||||||
this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.labelLiefertag.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.label4.Location = new System.Drawing.Point(7, 266);
|
this.labelLiefertag.Location = new System.Drawing.Point(7, 266);
|
||||||
this.label4.Name = "label4";
|
this.labelLiefertag.Name = "labelLiefertag";
|
||||||
this.label4.Size = new System.Drawing.Size(120, 25);
|
this.labelLiefertag.Size = new System.Drawing.Size(120, 25);
|
||||||
this.label4.TabIndex = 22;
|
this.labelLiefertag.TabIndex = 22;
|
||||||
this.label4.Text = "Lieferdatum:";
|
this.labelLiefertag.Text = "Lieferdatum:";
|
||||||
//
|
//
|
||||||
// label5
|
// label5
|
||||||
//
|
//
|
||||||
@ -309,7 +306,7 @@ namespace Deckungsbeitrag
|
|||||||
this.comboBoxTyp.Name = "comboBoxTyp";
|
this.comboBoxTyp.Name = "comboBoxTyp";
|
||||||
this.comboBoxTyp.Size = new System.Drawing.Size(224, 38);
|
this.comboBoxTyp.Size = new System.Drawing.Size(224, 38);
|
||||||
this.comboBoxTyp.TabIndex = 1;
|
this.comboBoxTyp.TabIndex = 1;
|
||||||
this.comboBoxTyp.SelectedValueChanged += new System.EventHandler(this.comboBoxTyp_SelectedValueChanged);
|
this.comboBoxTyp.SelectedValueChanged += new System.EventHandler(this.ComboBoxTyp_SelectedValueChanged);
|
||||||
//
|
//
|
||||||
// textBoxCont
|
// textBoxCont
|
||||||
//
|
//
|
||||||
@ -321,7 +318,7 @@ namespace Deckungsbeitrag
|
|||||||
this.textBoxCont.TabIndex = 31;
|
this.textBoxCont.TabIndex = 31;
|
||||||
this.textBoxCont.Text = "0";
|
this.textBoxCont.Text = "0";
|
||||||
this.textBoxCont.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
this.textBoxCont.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||||
this.textBoxCont.TextChanged += new System.EventHandler(this.textBoxCont_TextChanged);
|
this.textBoxCont.TextChanged += new System.EventHandler(this.TextBoxCont_TextChanged);
|
||||||
//
|
//
|
||||||
// label1
|
// label1
|
||||||
//
|
//
|
||||||
@ -345,7 +342,7 @@ namespace Deckungsbeitrag
|
|||||||
this.comboBoxFahrer.Name = "comboBoxFahrer";
|
this.comboBoxFahrer.Name = "comboBoxFahrer";
|
||||||
this.comboBoxFahrer.Size = new System.Drawing.Size(224, 38);
|
this.comboBoxFahrer.Size = new System.Drawing.Size(224, 38);
|
||||||
this.comboBoxFahrer.TabIndex = 34;
|
this.comboBoxFahrer.TabIndex = 34;
|
||||||
this.comboBoxFahrer.Validating += new System.ComponentModel.CancelEventHandler(this.comboBoxFahrer_Validating);
|
this.comboBoxFahrer.Validating += new System.ComponentModel.CancelEventHandler(this.ComboBoxFahrer_Validating);
|
||||||
//
|
//
|
||||||
// buttonEinstellung
|
// buttonEinstellung
|
||||||
//
|
//
|
||||||
@ -362,7 +359,7 @@ namespace Deckungsbeitrag
|
|||||||
this.buttonEinstellung.TabIndex = 46;
|
this.buttonEinstellung.TabIndex = 46;
|
||||||
this.buttonEinstellung.Text = "i";
|
this.buttonEinstellung.Text = "i";
|
||||||
this.buttonEinstellung.UseVisualStyleBackColor = true;
|
this.buttonEinstellung.UseVisualStyleBackColor = true;
|
||||||
this.buttonEinstellung.Click += new System.EventHandler(this.buttonEinstellung_Click);
|
this.buttonEinstellung.Click += new System.EventHandler(this.ButtonEinstellung_Click);
|
||||||
//
|
//
|
||||||
// panelRegAuftrag
|
// panelRegAuftrag
|
||||||
//
|
//
|
||||||
@ -379,7 +376,7 @@ namespace Deckungsbeitrag
|
|||||||
this.panelRegAuftrag.Size = new System.Drawing.Size(569, 514);
|
this.panelRegAuftrag.Size = new System.Drawing.Size(569, 514);
|
||||||
this.panelRegAuftrag.TabIndex = 47;
|
this.panelRegAuftrag.TabIndex = 47;
|
||||||
this.panelRegAuftrag.Visible = false;
|
this.panelRegAuftrag.Visible = false;
|
||||||
this.panelRegAuftrag.EnabledChanged += new System.EventHandler(this.panelRegAuftrag_EnabledChanged);
|
this.panelRegAuftrag.EnabledChanged += new System.EventHandler(this.PanelRegAuftrag_EnabledChanged);
|
||||||
//
|
//
|
||||||
// pictureBoxAddArtikel
|
// pictureBoxAddArtikel
|
||||||
//
|
//
|
||||||
@ -393,7 +390,7 @@ namespace Deckungsbeitrag
|
|||||||
this.pictureBoxAddArtikel.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
this.pictureBoxAddArtikel.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||||
this.pictureBoxAddArtikel.TabIndex = 39;
|
this.pictureBoxAddArtikel.TabIndex = 39;
|
||||||
this.pictureBoxAddArtikel.TabStop = false;
|
this.pictureBoxAddArtikel.TabStop = false;
|
||||||
this.pictureBoxAddArtikel.Click += new System.EventHandler(this.pictureBoxAddArtikel_Click);
|
this.pictureBoxAddArtikel.Click += new System.EventHandler(this.PictureBoxAddArtikel_Click);
|
||||||
//
|
//
|
||||||
// label8
|
// label8
|
||||||
//
|
//
|
||||||
@ -419,7 +416,7 @@ namespace Deckungsbeitrag
|
|||||||
this.comboBoxArtikel.Name = "comboBoxArtikel";
|
this.comboBoxArtikel.Name = "comboBoxArtikel";
|
||||||
this.comboBoxArtikel.Size = new System.Drawing.Size(449, 38);
|
this.comboBoxArtikel.Size = new System.Drawing.Size(449, 38);
|
||||||
this.comboBoxArtikel.TabIndex = 37;
|
this.comboBoxArtikel.TabIndex = 37;
|
||||||
this.comboBoxArtikel.SelectedIndexChanged += new System.EventHandler(this.comboBoxArtikel_SelectedIndexChanged);
|
this.comboBoxArtikel.SelectedIndexChanged += new System.EventHandler(this.ComboBoxArtikel_SelectedIndexChanged);
|
||||||
//
|
//
|
||||||
// label7
|
// label7
|
||||||
//
|
//
|
||||||
@ -506,7 +503,7 @@ namespace Deckungsbeitrag
|
|||||||
this.Controls.Add(this.pictureBoxMinus);
|
this.Controls.Add(this.pictureBoxMinus);
|
||||||
this.Controls.Add(this.pictureBoxPlus);
|
this.Controls.Add(this.pictureBoxPlus);
|
||||||
this.Controls.Add(this.label5);
|
this.Controls.Add(this.label5);
|
||||||
this.Controls.Add(this.label4);
|
this.Controls.Add(this.labelLiefertag);
|
||||||
this.Controls.Add(this.label3);
|
this.Controls.Add(this.label3);
|
||||||
this.Controls.Add(this.textBoxKundeName);
|
this.Controls.Add(this.textBoxKundeName);
|
||||||
this.Controls.Add(this.label2);
|
this.Controls.Add(this.label2);
|
||||||
@ -529,7 +526,6 @@ namespace Deckungsbeitrag
|
|||||||
this.Text = "NEUER AUFTRAG";
|
this.Text = "NEUER AUFTRAG";
|
||||||
this.HelpButtonClicked += new System.ComponentModel.CancelEventHandler(this.FormNeuerAuftrag_HelpButtonClicked);
|
this.HelpButtonClicked += new System.ComponentModel.CancelEventHandler(this.FormNeuerAuftrag_HelpButtonClicked);
|
||||||
this.Load += new System.EventHandler(this.FormNeuerAuftrag_Load);
|
this.Load += new System.EventHandler(this.FormNeuerAuftrag_Load);
|
||||||
this.Shown += new System.EventHandler(this.FormNeuerAuftrag_Shown);
|
|
||||||
this.panelRegAuftrag.ResumeLayout(false);
|
this.panelRegAuftrag.ResumeLayout(false);
|
||||||
this.panelRegAuftrag.PerformLayout();
|
this.panelRegAuftrag.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxAddArtikel)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxAddArtikel)).EndInit();
|
||||||
@ -548,7 +544,7 @@ namespace Deckungsbeitrag
|
|||||||
private System.Windows.Forms.Label label2;
|
private System.Windows.Forms.Label label2;
|
||||||
private System.Windows.Forms.TextBox textBoxKundeName;
|
private System.Windows.Forms.TextBox textBoxKundeName;
|
||||||
private System.Windows.Forms.Label label3;
|
private System.Windows.Forms.Label label3;
|
||||||
private System.Windows.Forms.Label label4;
|
private System.Windows.Forms.Label labelLiefertag;
|
||||||
private System.Windows.Forms.Label label5;
|
private System.Windows.Forms.Label label5;
|
||||||
private System.Windows.Forms.PictureBox pictureBoxPlus;
|
private System.Windows.Forms.PictureBox pictureBoxPlus;
|
||||||
private System.Windows.Forms.PictureBox pictureBoxMinus;
|
private System.Windows.Forms.PictureBox pictureBoxMinus;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -93,7 +93,6 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
private void FormShowUserControl_Shown(object sender, EventArgs e)
|
private void FormShowUserControl_Shown(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.ClientSize = new Size(uc.Width, uc.Height);
|
this.ClientSize = new Size(uc.Width, uc.Height);
|
||||||
//ucs.Location = new Point(5, 10);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void FormShowUserControl_FormClosing(object sender, FormClosingEventArgs e)
|
private void FormShowUserControl_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
@ -103,7 +102,6 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
{
|
{
|
||||||
UCTourenplan uc = (UCTourenplan)form.Controls[0];
|
UCTourenplan uc = (UCTourenplan)form.Controls[0];
|
||||||
lieferDaten = uc.lieferDaten;
|
lieferDaten = uc.lieferDaten;
|
||||||
//this.DialogResult = DialogResult.OK;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
12
AA-Forms/FormTourenplanung.Designer.cs
generated
12
AA-Forms/FormTourenplanung.Designer.cs
generated
@ -48,8 +48,8 @@
|
|||||||
this.tabControlLKW.SelectedIndex = 0;
|
this.tabControlLKW.SelectedIndex = 0;
|
||||||
this.tabControlLKW.Size = new System.Drawing.Size(594, 411);
|
this.tabControlLKW.Size = new System.Drawing.Size(594, 411);
|
||||||
this.tabControlLKW.TabIndex = 0;
|
this.tabControlLKW.TabIndex = 0;
|
||||||
this.tabControlLKW.SelectedIndexChanged += new System.EventHandler(this.tabControlLKW_SelectedIndexChanged);
|
this.tabControlLKW.SelectedIndexChanged += new System.EventHandler(this.TabControlLKW_SelectedIndexChanged);
|
||||||
this.tabControlLKW.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.tabControlLKW_MouseDoubleClick);
|
this.tabControlLKW.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.TabControlLKW_MouseDoubleClick);
|
||||||
//
|
//
|
||||||
// flowLayoutPanelKunden
|
// flowLayoutPanelKunden
|
||||||
//
|
//
|
||||||
@ -72,7 +72,7 @@
|
|||||||
this.comboBoxFilter.Name = "comboBoxFilter";
|
this.comboBoxFilter.Name = "comboBoxFilter";
|
||||||
this.comboBoxFilter.Size = new System.Drawing.Size(199, 33);
|
this.comboBoxFilter.Size = new System.Drawing.Size(199, 33);
|
||||||
this.comboBoxFilter.TabIndex = 2;
|
this.comboBoxFilter.TabIndex = 2;
|
||||||
this.comboBoxFilter.SelectedIndexChanged += new System.EventHandler(this.comboBoxFilter_SelectedIndexChanged);
|
this.comboBoxFilter.SelectedIndexChanged += new System.EventHandler(this.ComboBoxFilter_SelectedIndexChanged);
|
||||||
//
|
//
|
||||||
// buttonAddPage
|
// buttonAddPage
|
||||||
//
|
//
|
||||||
@ -92,7 +92,7 @@
|
|||||||
this.buttonAddPage.Text = "Neues Fahrzeug";
|
this.buttonAddPage.Text = "Neues Fahrzeug";
|
||||||
this.buttonAddPage.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
|
this.buttonAddPage.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
|
||||||
this.buttonAddPage.UseVisualStyleBackColor = false;
|
this.buttonAddPage.UseVisualStyleBackColor = false;
|
||||||
this.buttonAddPage.Click += new System.EventHandler(this.buttonAddPage_Click);
|
this.buttonAddPage.Click += new System.EventHandler(this.ButtonAddPage_Click);
|
||||||
//
|
//
|
||||||
// radioButtonSommer
|
// radioButtonSommer
|
||||||
//
|
//
|
||||||
@ -110,7 +110,7 @@
|
|||||||
this.radioButtonSommer.Text = "Sommer";
|
this.radioButtonSommer.Text = "Sommer";
|
||||||
this.radioButtonSommer.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
this.radioButtonSommer.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
this.radioButtonSommer.UseVisualStyleBackColor = false;
|
this.radioButtonSommer.UseVisualStyleBackColor = false;
|
||||||
this.radioButtonSommer.CheckedChanged += new System.EventHandler(this.radioButton_CheckedChanged);
|
this.radioButtonSommer.CheckedChanged += new System.EventHandler(this.RadioButton_CheckedChanged);
|
||||||
//
|
//
|
||||||
// radioButtonWinter
|
// radioButtonWinter
|
||||||
//
|
//
|
||||||
@ -128,7 +128,7 @@
|
|||||||
this.radioButtonWinter.Text = "Winter";
|
this.radioButtonWinter.Text = "Winter";
|
||||||
this.radioButtonWinter.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
this.radioButtonWinter.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
this.radioButtonWinter.UseVisualStyleBackColor = false;
|
this.radioButtonWinter.UseVisualStyleBackColor = false;
|
||||||
this.radioButtonWinter.CheckedChanged += new System.EventHandler(this.radioButton_CheckedChanged);
|
this.radioButtonWinter.CheckedChanged += new System.EventHandler(this.RadioButton_CheckedChanged);
|
||||||
//
|
//
|
||||||
// radioButtonFruehling26
|
// radioButtonFruehling26
|
||||||
//
|
//
|
||||||
|
|||||||
@ -21,8 +21,8 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
public partial class FormTourenplanung : Form
|
public partial class FormTourenplanung : Form
|
||||||
{
|
{
|
||||||
private List<Kunde> kundenliste;
|
private List<Kunde> kundenliste;
|
||||||
private Benutzer Benutzer;
|
private readonly Benutzer Benutzer;
|
||||||
Meldungen meldung = new Meldungen();
|
readonly Meldungen meldung = new Meldungen();
|
||||||
|
|
||||||
|
|
||||||
#region Form-Konstruktor
|
#region Form-Konstruktor
|
||||||
@ -100,15 +100,17 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
foreach (Kunde kunde in kundenliste)
|
foreach (Kunde kunde in kundenliste)
|
||||||
{
|
{
|
||||||
// Wenn kein Suchtext vorhanden, dann KundeName verwenden.
|
// Wenn kein Suchtext vorhanden, dann KundeName verwenden.
|
||||||
UCKunde control = new UCKunde(kunde);
|
UCKunde control = new UCKunde(kunde)
|
||||||
control.Tag = kunde;
|
{
|
||||||
|
Tag = kunde
|
||||||
|
};
|
||||||
flowLayoutPanelKunden.Controls.Add(control);
|
flowLayoutPanelKunden.Controls.Add(control);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#region TabControl-Funktionen
|
#region TabControl-Funktionen
|
||||||
// 1. TabPage wird hinzugefügt.
|
// 1. TabPage wird hinzugefügt.
|
||||||
private void buttonAddPage_Click(object sender, EventArgs e)
|
private void ButtonAddPage_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
UCTabPageLKW uc = new UCTabPageLKW();
|
UCTabPageLKW uc = new UCTabPageLKW();
|
||||||
TabPage tp = new TabPage("Neue TabPage");
|
TabPage tp = new TabPage("Neue TabPage");
|
||||||
@ -117,7 +119,7 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
this.tabControlLKW.TabPages.Add(tp);
|
this.tabControlLKW.TabPages.Add(tp);
|
||||||
}
|
}
|
||||||
// 2. Umbennen mit DoppelClick starten
|
// 2. Umbennen mit DoppelClick starten
|
||||||
private void tabControlLKW_MouseDoubleClick(object sender, MouseEventArgs e)
|
private void TabControlLKW_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
if (this.Benutzer.Rolle == BenutzerRolle.Admin || this.Benutzer.Rolle == BenutzerRolle.Verwaltung)
|
if (this.Benutzer.Rolle == BenutzerRolle.Admin || this.Benutzer.Rolle == BenutzerRolle.Verwaltung)
|
||||||
{
|
{
|
||||||
@ -146,13 +148,15 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
{
|
{
|
||||||
return Interaction.InputBox(prompt, titel, defaultText);
|
return Interaction.InputBox(prompt, titel, defaultText);
|
||||||
}
|
}
|
||||||
private void tabControlLKW_SelectedIndexChanged(object sender, EventArgs e)
|
private void TabControlLKW_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (tabControlLKW.SelectedTab == null) return;
|
if (tabControlLKW.SelectedTab == null) return;
|
||||||
if (tabControlLKW.SelectedTab.Controls.Count == 0)
|
if (tabControlLKW.SelectedTab.Controls.Count == 0)
|
||||||
{
|
{
|
||||||
UCTabPageLKW uc = new UCTabPageLKW();
|
UCTabPageLKW uc = new UCTabPageLKW
|
||||||
uc.Dock = DockStyle.Fill;
|
{
|
||||||
|
Dock = DockStyle.Fill
|
||||||
|
};
|
||||||
tabControlLKW.SelectedTab.Controls.Add(uc);
|
tabControlLKW.SelectedTab.Controls.Add(uc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -179,8 +183,7 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
}
|
}
|
||||||
private void LadeAlleTabs()
|
private void LadeAlleTabs()
|
||||||
{
|
{
|
||||||
string json = string.Empty;
|
string json;
|
||||||
|
|
||||||
if (this.radioButtonSommer.Checked)
|
if (this.radioButtonSommer.Checked)
|
||||||
{
|
{
|
||||||
if (!File.Exists("lkw-touren-sommer.json")) return;
|
if (!File.Exists("lkw-touren-sommer.json")) return;
|
||||||
@ -206,8 +209,10 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
TabPage tabPage = new TabPage(tabData.TourName);
|
TabPage tabPage = new TabPage(tabData.TourName);
|
||||||
|
|
||||||
// UserControl erstellen
|
// UserControl erstellen
|
||||||
UCTabPageLKW uc = new UCTabPageLKW();
|
UCTabPageLKW uc = new UCTabPageLKW
|
||||||
uc.Dock = DockStyle.Fill;
|
{
|
||||||
|
Dock = DockStyle.Fill
|
||||||
|
};
|
||||||
|
|
||||||
// DATEN laden!
|
// DATEN laden!
|
||||||
uc.LadeDaten(tabData);
|
uc.LadeDaten(tabData);
|
||||||
@ -292,7 +297,7 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void comboBoxFilter_SelectedIndexChanged(object sender, EventArgs e)
|
private void ComboBoxFilter_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (this.comboBoxFilter.SelectedIndex != -1) GetList((string)this.comboBoxFilter.SelectedItem);
|
if (this.comboBoxFilter.SelectedIndex != -1) GetList((string)this.comboBoxFilter.SelectedItem);
|
||||||
}
|
}
|
||||||
@ -300,8 +305,7 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
public static void KundenControlToDelete(FormTourenplanung form, UCKunde kundectr)
|
public static void KundenControlToDelete(FormTourenplanung form, UCKunde kundectr)
|
||||||
{
|
{
|
||||||
Kunde _knd = (Kunde)kundectr.Tag;
|
Kunde _knd = (Kunde)kundectr.Tag;
|
||||||
int saisonrhythmus = 0;
|
int saisonrhythmus;
|
||||||
|
|
||||||
if (form.radioButtonSommer.Checked) { saisonrhythmus = _knd.SommerLieferRhythmus; }
|
if (form.radioButtonSommer.Checked) { saisonrhythmus = _knd.SommerLieferRhythmus; }
|
||||||
else { saisonrhythmus = _knd.WinterLieferRhythmus; }
|
else { saisonrhythmus = _knd.WinterLieferRhythmus; }
|
||||||
// Global über ALLE Tabs/Panels zählen
|
// Global über ALLE Tabs/Panels zählen
|
||||||
@ -358,7 +362,7 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void radioButton_CheckedChanged(object sender, EventArgs e)
|
private void RadioButton_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
RadioButton rb = sender as RadioButton;
|
RadioButton rb = sender as RadioButton;
|
||||||
if (!rb.Checked) SpeichereAlleTabs(rb);
|
if (!rb.Checked) SpeichereAlleTabs(rb);
|
||||||
|
|||||||
@ -381,8 +381,6 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
protected override bool ProcessDialogKey(Keys keyData)
|
protected override bool ProcessDialogKey(Keys keyData)
|
||||||
{
|
{
|
||||||
//TODO: Umbau in Switch.
|
|
||||||
|
|
||||||
// Escape [ESC] schließt den Screen.
|
// Escape [ESC] schließt den Screen.
|
||||||
if (Form.ModifierKeys == Keys.None && keyData == Keys.Escape)
|
if (Form.ModifierKeys == Keys.None && keyData == Keys.Escape)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -12,8 +12,8 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
{
|
{
|
||||||
internal class ArtikelNachwaesche
|
internal class ArtikelNachwaesche
|
||||||
{
|
{
|
||||||
// 0 1 2 3 4 5
|
// 0 1 2 3 4 5 6
|
||||||
private static string COLUMNS = "nw_artikel_id, artikel_id, datum, nachwaesche, nw_muell, nw_sauber";
|
private static string COLUMNS = "nw_artikel_id, artikel_id, datum, nachwaesche, nw_muell, nw_sauber, reklamation";
|
||||||
private static string TABLE = "kundenverwaltung.nw_artikel";
|
private static string TABLE = "kundenverwaltung.nw_artikel";
|
||||||
|
|
||||||
#region Class-Standarts (Properties, Save, reader)
|
#region Class-Standarts (Properties, Save, reader)
|
||||||
@ -31,6 +31,7 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
public int Muell { get; set; }
|
public int Muell { get; set; }
|
||||||
[OLVColumn("Sauber", DisplayIndex = 2)]
|
[OLVColumn("Sauber", DisplayIndex = 2)]
|
||||||
public int Sauber { get; set; }
|
public int Sauber { get; set; }
|
||||||
|
public int Reklamation { get; set; }
|
||||||
|
|
||||||
public int? Save()
|
public int? Save()
|
||||||
{
|
{
|
||||||
@ -43,13 +44,13 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
|
|
||||||
if (this.NachwaescheID.HasValue & this.NachwaescheID != 0)
|
if (this.NachwaescheID.HasValue & this.NachwaescheID != 0)
|
||||||
{
|
{
|
||||||
command.CommandText = $"update {TABLE} set artikel_id = :p1, datum = :p2, nachwaesche = :p3, nw_muell = :p4, nw_sauber = :p5 WHERE nw_artikel_id = :p0";
|
command.CommandText = $"update {TABLE} set artikel_id = :p1, datum = :p2, nachwaesche = :p3, nw_muell = :p4, nw_sauber = :p5, reklamation = :p6 WHERE nw_artikel_id = :p0";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
command.CommandText = "select nextval('kundenverwaltung.tour_seq')";
|
command.CommandText = "select nextval('kundenverwaltung.tour_seq')";
|
||||||
this.NachwaescheID = (int)(long)command.ExecuteScalar();
|
this.NachwaescheID = (int)(long)command.ExecuteScalar();
|
||||||
command.CommandText = $"insert into {TABLE} ({COLUMNS}) values (:p0, :p1, :p2, :p3, :p4, :p5)";
|
command.CommandText = $"insert into {TABLE} ({COLUMNS}) values (:p0, :p1, :p2, :p3, :p4, :p5, :p6)";
|
||||||
}
|
}
|
||||||
|
|
||||||
command.Parameters.AddWithValue("p0", this.NachwaescheID);
|
command.Parameters.AddWithValue("p0", this.NachwaescheID);
|
||||||
@ -58,6 +59,7 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
command.Parameters.AddWithValue("p3", this.Nachwaesche);
|
command.Parameters.AddWithValue("p3", this.Nachwaesche);
|
||||||
command.Parameters.AddWithValue("p4", this.Muell);
|
command.Parameters.AddWithValue("p4", this.Muell);
|
||||||
command.Parameters.AddWithValue("p5", this.Sauber);
|
command.Parameters.AddWithValue("p5", this.Sauber);
|
||||||
|
command.Parameters.AddWithValue("p6", this.Reklamation);
|
||||||
|
|
||||||
|
|
||||||
result = command.ExecuteNonQuery();
|
result = command.ExecuteNonQuery();
|
||||||
@ -75,6 +77,7 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
this.Nachwaesche = reader.IsDBNull(3) ? 0 : reader.GetInt32(3);
|
this.Nachwaesche = reader.IsDBNull(3) ? 0 : reader.GetInt32(3);
|
||||||
this.Muell = reader.IsDBNull(4) ? 0 : reader.GetInt32(4);
|
this.Muell = reader.IsDBNull(4) ? 0 : reader.GetInt32(4);
|
||||||
this.Sauber = reader.IsDBNull(5) ? 0 : reader.GetInt32(5);
|
this.Sauber = reader.IsDBNull(5) ? 0 : reader.GetInt32(5);
|
||||||
|
this.Reklamation = reader.IsDBNull(6) ? 0 : reader.GetInt32(5);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@ -199,7 +199,7 @@ namespace DatenDB
|
|||||||
return resultList;
|
return resultList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task<Dictionary<DateTime, List<Auftrag>>> GetAuftraegeProLiefertagAsync(NpgsqlConnection conn, AuftragTyp standart, AuftragStatus aufgelegt)
|
public static async Task<Dictionary<DateTime, List<Auftrag>>> GetAuftraegeProLiefertagAsync(NpgsqlConnection conn, AuftragStatus aufgelegt)
|
||||||
{
|
{
|
||||||
|
|
||||||
// ✅ 5 FIXED Keys mit Sonntags-Check
|
// ✅ 5 FIXED Keys mit Sonntags-Check
|
||||||
@ -236,7 +236,8 @@ namespace DatenDB
|
|||||||
{
|
{
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
List<Auftrag> resultList = new List<Auftrag>();
|
List<Auftrag> resultList = new List<Auftrag>();
|
||||||
NpgsqlCommand cmd = new NpgsqlCommand();
|
using (NpgsqlCommand cmd = new NpgsqlCommand())
|
||||||
|
{
|
||||||
cmd.Connection = DatenbankConnection.GetConnection();
|
cmd.Connection = DatenbankConnection.GetConnection();
|
||||||
//cmd.CommandText = $"select {COLUMNS} from {TABLE} where status = 2 order by liefertag asc";
|
//cmd.CommandText = $"select {COLUMNS} from {TABLE} where status = 2 order by liefertag asc";
|
||||||
if (kategorie == ArtikelKategorie.Frottee) cmd.CommandText = $"select {ACOLUMNS} from {TABLE} a JOIN kundenverwaltung.kunde_artikel k ON a.kunde_id = k.kunde_id JOIN kundenverwaltung.artikel b ON k.artikel_id = b.artikel_id WHERE a.status = 2 and b.kategorie = {(int)kategorie} or a.status = 2 and b.kategorie = 4 GROUP BY a.auftrag_id, a.kunde_id HAVING COUNT(*) >= 1";
|
if (kategorie == ArtikelKategorie.Frottee) cmd.CommandText = $"select {ACOLUMNS} from {TABLE} a JOIN kundenverwaltung.kunde_artikel k ON a.kunde_id = k.kunde_id JOIN kundenverwaltung.artikel b ON k.artikel_id = b.artikel_id WHERE a.status = 2 and b.kategorie = {(int)kategorie} or a.status = 2 and b.kategorie = 4 GROUP BY a.auftrag_id, a.kunde_id HAVING COUNT(*) >= 1";
|
||||||
@ -245,6 +246,8 @@ namespace DatenDB
|
|||||||
NpgsqlDataReader reader = cmd.ExecuteReader();
|
NpgsqlDataReader reader = cmd.ExecuteReader();
|
||||||
while (reader.Read()) resultList.Add(new Auftrag(reader));
|
while (reader.Read()) resultList.Add(new Auftrag(reader));
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
return resultList;
|
return resultList;
|
||||||
}
|
}
|
||||||
@ -252,7 +255,8 @@ namespace DatenDB
|
|||||||
{
|
{
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
List<Auftrag> resultList = new List<Auftrag>();
|
List<Auftrag> resultList = new List<Auftrag>();
|
||||||
NpgsqlCommand cmd = new NpgsqlCommand();
|
using (NpgsqlCommand cmd = new NpgsqlCommand())
|
||||||
|
{
|
||||||
cmd.Connection = DatenbankConnection.GetConnection();
|
cmd.Connection = DatenbankConnection.GetConnection();
|
||||||
|
|
||||||
cmd.CommandText = $"select {COLUMNS} from {TABLE} where status = 0 order by liefertag asc";
|
cmd.CommandText = $"select {COLUMNS} from {TABLE} where status = 0 order by liefertag asc";
|
||||||
@ -260,6 +264,8 @@ namespace DatenDB
|
|||||||
NpgsqlDataReader reader = cmd.ExecuteReader();
|
NpgsqlDataReader reader = cmd.ExecuteReader();
|
||||||
while (reader.Read()) resultList.Add(new Auftrag(reader));
|
while (reader.Read()) resultList.Add(new Auftrag(reader));
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
return resultList;
|
return resultList;
|
||||||
}
|
}
|
||||||
@ -278,7 +284,8 @@ namespace DatenDB
|
|||||||
|
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
List<Auftrag> resultList = new List<Auftrag>();
|
List<Auftrag> resultList = new List<Auftrag>();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
|
|
||||||
if (s == "Expedit") command.CommandText = $"select {COLUMNS} from {TABLE} where status = 3 order by liefertag asc";
|
if (s == "Expedit") command.CommandText = $"select {COLUMNS} from {TABLE} where status = 3 order by liefertag asc";
|
||||||
@ -290,6 +297,8 @@ namespace DatenDB
|
|||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) resultList.Add(new Auftrag(reader));
|
while (reader.Read()) resultList.Add(new Auftrag(reader));
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
return resultList;
|
return resultList;
|
||||||
}
|
}
|
||||||
@ -297,7 +306,8 @@ namespace DatenDB
|
|||||||
{
|
{
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
List<Auftrag> resultList = new List<Auftrag>();
|
List<Auftrag> resultList = new List<Auftrag>();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
|
|
||||||
command.CommandText = $"select {COLUMNS} from {TABLE} where typ = 1 and erstellt::date = '{produktion.Date}' order by liefertag asc";
|
command.CommandText = $"select {COLUMNS} from {TABLE} where typ = 1 and erstellt::date = '{produktion.Date}' order by liefertag asc";
|
||||||
@ -305,6 +315,8 @@ namespace DatenDB
|
|||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) resultList.Add(new Auftrag(reader));
|
while (reader.Read()) resultList.Add(new Auftrag(reader));
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
return resultList;
|
return resultList;
|
||||||
}
|
}
|
||||||
@ -313,7 +325,8 @@ namespace DatenDB
|
|||||||
DateTime dateTime = NaechsterLiefertag();
|
DateTime dateTime = NaechsterLiefertag();
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
List<Auftrag> resultList = new List<Auftrag>();
|
List<Auftrag> resultList = new List<Auftrag>();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
|
|
||||||
command.CommandText = $"select {ACOLUMNS} from {TABLE} a join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id where typ >= {(int)AuftragTyp.Standart} and a.liefertag = '{dateTime}' and a.benutzer_id = {fahrer.BenutzerID} and a.status <= {(int)AuftragStatus.Fertig} order by k.region, k.bezeichnung";
|
command.CommandText = $"select {ACOLUMNS} from {TABLE} a join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id where typ >= {(int)AuftragTyp.Standart} and a.liefertag = '{dateTime}' and a.benutzer_id = {fahrer.BenutzerID} and a.status <= {(int)AuftragStatus.Fertig} order by k.region, k.bezeichnung";
|
||||||
@ -321,6 +334,8 @@ namespace DatenDB
|
|||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) resultList.Add(new Auftrag(reader));
|
while (reader.Read()) resultList.Add(new Auftrag(reader));
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
return resultList;
|
return resultList;
|
||||||
}
|
}
|
||||||
@ -332,12 +347,15 @@ namespace DatenDB
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
command.CommandText = $"select {COLUMNS} from {TABLE} where auftrag_id = {auftragID}";
|
command.CommandText = $"select {COLUMNS} from {TABLE} where auftrag_id = {auftragID}";
|
||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) result = new Auftrag(reader);
|
while (reader.Read()) result = new Auftrag(reader);
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -354,12 +372,15 @@ namespace DatenDB
|
|||||||
{
|
{
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
Auftrag result = new Auftrag();
|
Auftrag result = new Auftrag();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
command.CommandText = $"select {COLUMNS} from {TABLE} where erstellt_von = {benutzerID} order by erstellt desc limit 1";
|
command.CommandText = $"select {COLUMNS} from {TABLE} where erstellt_von = {benutzerID} order by erstellt desc limit 1";
|
||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) result = new Auftrag(reader);
|
while (reader.Read()) result = new Auftrag(reader);
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
@ -368,8 +389,8 @@ namespace DatenDB
|
|||||||
{
|
{
|
||||||
List<Auftrag> result = new List<Auftrag>();
|
List<Auftrag> result = new List<Auftrag>();
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
if (string.IsNullOrWhiteSpace(zusatz))
|
if (string.IsNullOrWhiteSpace(zusatz))
|
||||||
{
|
{
|
||||||
@ -380,6 +401,8 @@ namespace DatenDB
|
|||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) result.Add(new Auftrag(reader));
|
while (reader.Read()) result.Add(new Auftrag(reader));
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -413,7 +436,7 @@ namespace DatenDB
|
|||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
if (cmd != null) cmd.Dispose();
|
cmd?.Dispose();
|
||||||
if (conn != null && conn.State == ConnectionState.Open)
|
if (conn != null && conn.State == ConnectionState.Open)
|
||||||
{
|
{
|
||||||
conn.Close();
|
conn.Close();
|
||||||
@ -428,13 +451,15 @@ namespace DatenDB
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
command.CommandText = $"select a.benutzer_id from {TABLE} a inner join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id where k.region = '{kunde.Region}' and a.liefertag = '{liefertag.Date}' order by a.benutzer_id limit 1";
|
command.CommandText = $"select a.benutzer_id from {TABLE} a inner join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id where k.region = '{kunde.Region}' and a.liefertag = '{liefertag.Date}' order by a.benutzer_id limit 1";
|
||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) result = reader.GetInt32(0);
|
while (reader.Read()) result = reader.GetInt32(0);
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -453,8 +478,8 @@ namespace DatenDB
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
if (this.Typ != AuftragTyp.Regelmäßig)
|
if (this.Typ != AuftragTyp.Regelmäßig)
|
||||||
{
|
{
|
||||||
@ -465,6 +490,8 @@ namespace DatenDB
|
|||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) result = reader.GetInt16(0);
|
while (reader.Read()) result = reader.GetInt16(0);
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@ -525,8 +552,8 @@ namespace DatenDB
|
|||||||
int[] result = { 0, 0, 0 };
|
int[] result = { 0, 0, 0 };
|
||||||
int i = 0;
|
int i = 0;
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
command.CommandText = $"select max(container_clean), avg(container_clean), min(container_clean) from {TABLE} where kunde_id = {kundeId}";
|
command.CommandText = $"select max(container_clean), avg(container_clean), min(container_clean) from {TABLE} where kunde_id = {kundeId}";
|
||||||
|
|
||||||
@ -537,6 +564,8 @@ namespace DatenDB
|
|||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
|
|
||||||
|
|
||||||
@ -562,7 +591,7 @@ namespace DatenDB
|
|||||||
this.MaschineID = reader.IsDBNull(15) ? null : (int?)reader.GetInt32(15);
|
this.MaschineID = reader.IsDBNull(15) ? null : (int?)reader.GetInt32(15);
|
||||||
this.ContainerClean = reader.IsDBNull(16) ? 0 : reader.GetInt32(16);
|
this.ContainerClean = reader.IsDBNull(16) ? 0 : reader.GetInt32(16);
|
||||||
this.Typ = reader.IsDBNull(17) ? AuftragTyp.Standart : (AuftragTyp)reader.GetInt32(17);
|
this.Typ = reader.IsDBNull(17) ? AuftragTyp.Standart : (AuftragTyp)reader.GetInt32(17);
|
||||||
this.AufgabeErledigt = reader.IsDBNull(18) ? false : reader.GetBoolean(18);
|
this.AufgabeErledigt = !reader.IsDBNull(18) && reader.GetBoolean(18);
|
||||||
this.Abteilungen = reader.IsDBNull(19) ? AbteilungsStatus.Keine : (AbteilungsStatus)reader.GetInt16(19);
|
this.Abteilungen = reader.IsDBNull(19) ? AbteilungsStatus.Keine : (AbteilungsStatus)reader.GetInt16(19);
|
||||||
this.Rhythmus = reader.IsDBNull(20) ? RegRhythmen.Unbekannt : (RegRhythmen)reader.GetInt32(20);
|
this.Rhythmus = reader.IsDBNull(20) ? RegRhythmen.Unbekannt : (RegRhythmen)reader.GetInt32(20);
|
||||||
this.Priority = (AuftragPriority)reader.GetInt32(21);
|
this.Priority = (AuftragPriority)reader.GetInt32(21);
|
||||||
@ -597,7 +626,7 @@ namespace DatenDB
|
|||||||
this.MaschineID = reader.IsDBNull(15) ? null : (int?)reader.GetInt32(15);
|
this.MaschineID = reader.IsDBNull(15) ? null : (int?)reader.GetInt32(15);
|
||||||
this.ContainerClean = reader.IsDBNull(16) ? 0 : reader.GetInt32(16);
|
this.ContainerClean = reader.IsDBNull(16) ? 0 : reader.GetInt32(16);
|
||||||
this.Typ = reader.IsDBNull(17) ? AuftragTyp.Standart : (AuftragTyp)reader.GetInt32(17);
|
this.Typ = reader.IsDBNull(17) ? AuftragTyp.Standart : (AuftragTyp)reader.GetInt32(17);
|
||||||
this.AufgabeErledigt = reader.IsDBNull(18) ? false : reader.GetBoolean(18);
|
this.AufgabeErledigt = !reader.IsDBNull(18) && reader.GetBoolean(18);
|
||||||
this.Abteilungen = reader.IsDBNull(19) ? AbteilungsStatus.Keine : (AbteilungsStatus)reader.GetInt16(19);
|
this.Abteilungen = reader.IsDBNull(19) ? AbteilungsStatus.Keine : (AbteilungsStatus)reader.GetInt16(19);
|
||||||
this.Rhythmus = reader.IsDBNull(20) ? RegRhythmen.Unbekannt : (RegRhythmen)reader.GetInt32(20);
|
this.Rhythmus = reader.IsDBNull(20) ? RegRhythmen.Unbekannt : (RegRhythmen)reader.GetInt32(20);
|
||||||
this.Priority = (AuftragPriority)reader.GetInt32(21);
|
this.Priority = (AuftragPriority)reader.GetInt32(21);
|
||||||
@ -719,33 +748,6 @@ namespace DatenDB
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// SPALTE 12 - Button Etikett Drucken wird angezeigt.
|
|
||||||
/// </summary>
|
|
||||||
private string _etikett;
|
|
||||||
[OLVColumn("Etikett", DisplayIndex = 11, TextAlign = System.Windows.Forms.HorizontalAlignment.Center)]
|
|
||||||
public string Etikett
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (Typ >= AuftragTyp.Inventur & Typ <= AuftragTyp.Standverminderung)
|
|
||||||
{
|
|
||||||
if (Status >= AuftragStatus.Vorbereitet) return _fertig = string.Empty;
|
|
||||||
else return _fertig = "🖨";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (Status <= AuftragStatus.Herrichten) return _fertig = "🖨";
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (Status == AuftragStatus.Vorbereitet) return _fertig = "🖨";
|
|
||||||
else return _fertig = string.Empty;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// SPALTE 13 - Button Abschließenvon Aufträgen wird angezeigt.
|
/// SPALTE 13 - Button Abschließenvon Aufträgen wird angezeigt.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -830,7 +832,8 @@ namespace DatenDB
|
|||||||
conn.Open();
|
conn.Open();
|
||||||
|
|
||||||
int auftragStatusID = 0;
|
int auftragStatusID = 0;
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = conn;
|
command.Connection = conn;
|
||||||
|
|
||||||
command.CommandText = "select nextval('kundenverwaltung.auftrag_status_seq')";
|
command.CommandText = "select nextval('kundenverwaltung.auftrag_status_seq')";
|
||||||
@ -846,6 +849,7 @@ namespace DatenDB
|
|||||||
|
|
||||||
command.ExecuteNonQuery();
|
command.ExecuteNonQuery();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
throw;
|
throw;
|
||||||
@ -862,7 +866,8 @@ namespace DatenDB
|
|||||||
{
|
{
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
int[] result = new int[2];
|
int[] result = new int[2];
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
|
|
||||||
if (this.AuftragID.HasValue & this.AuftragID != 0)
|
if (this.AuftragID.HasValue & this.AuftragID != 0)
|
||||||
@ -877,21 +882,21 @@ namespace DatenDB
|
|||||||
}
|
}
|
||||||
|
|
||||||
command.Parameters.AddWithValue("p0", this.AuftragID);
|
command.Parameters.AddWithValue("p0", this.AuftragID);
|
||||||
command.Parameters.AddWithValue("p1", this.ArbeiterID.HasValue ? this.ArbeiterID.Value : (object)DBNull.Value);
|
command.Parameters.AddWithValue("p1", this.ArbeiterID ?? (object)DBNull.Value);
|
||||||
command.Parameters.AddWithValue("p2", this.AufgabeID.HasValue ? this.AufgabeID.Value : (object)DBNull.Value);
|
command.Parameters.AddWithValue("p2", this.AufgabeID ?? (object)DBNull.Value);
|
||||||
command.Parameters.AddWithValue("p3", this.KundeID);
|
command.Parameters.AddWithValue("p3", this.KundeID);
|
||||||
command.Parameters.AddWithValue("p4", string.IsNullOrEmpty(this.ZusatzInfo) ? (object)DBNull.Value : this.ZusatzInfo);
|
command.Parameters.AddWithValue("p4", string.IsNullOrEmpty(this.ZusatzInfo) ? (object)DBNull.Value : this.ZusatzInfo);
|
||||||
command.Parameters.AddWithValue("p5", this.Liefertag);
|
command.Parameters.AddWithValue("p5", this.Liefertag);
|
||||||
command.Parameters.AddWithValue("p6", this.Gedruckt.HasValue ? this.Gedruckt.Value : (object)DBNull.Value);
|
command.Parameters.AddWithValue("p6", this.Gedruckt ?? (object)DBNull.Value);
|
||||||
command.Parameters.AddWithValue("p7", this.GedrucktVon.HasValue ? this.GedrucktVon.Value : (object)DBNull.Value);
|
command.Parameters.AddWithValue("p7", this.GedrucktVon ?? (object)DBNull.Value);
|
||||||
command.Parameters.AddWithValue("p8", this.Erledigt.HasValue ? this.Erledigt.Value : (object)DBNull.Value);
|
command.Parameters.AddWithValue("p8", this.Erledigt ?? (object)DBNull.Value);
|
||||||
command.Parameters.AddWithValue("p9", this.ErledigtVon.HasValue ? this.ErledigtVon.Value : (object)DBNull.Value);
|
command.Parameters.AddWithValue("p9", this.ErledigtVon ?? (object)DBNull.Value);
|
||||||
command.Parameters.AddWithValue("p10", this.Erstellt);
|
command.Parameters.AddWithValue("p10", this.Erstellt);
|
||||||
command.Parameters.AddWithValue("p11", this.ErstelltVon);
|
command.Parameters.AddWithValue("p11", this.ErstelltVon);
|
||||||
command.Parameters.AddWithValue("p12", (int)this.Status);
|
command.Parameters.AddWithValue("p12", (int)this.Status);
|
||||||
command.Parameters.AddWithValue("p13", this.TourID.HasValue ? this.TourID.Value : (object)DBNull.Value);
|
command.Parameters.AddWithValue("p13", this.TourID ?? (object)DBNull.Value);
|
||||||
command.Parameters.AddWithValue("p14", this.Container);
|
command.Parameters.AddWithValue("p14", this.Container);
|
||||||
command.Parameters.AddWithValue("p15", this.MaschineID.HasValue ? this.MaschineID.Value : 0);
|
command.Parameters.AddWithValue("p15", this.MaschineID ?? 0);
|
||||||
command.Parameters.AddWithValue("p16", this.ContainerClean);
|
command.Parameters.AddWithValue("p16", this.ContainerClean);
|
||||||
command.Parameters.AddWithValue("p17", (int)this.Typ);
|
command.Parameters.AddWithValue("p17", (int)this.Typ);
|
||||||
command.Parameters.AddWithValue("p18", this.AufgabeErledigt);
|
command.Parameters.AddWithValue("p18", this.AufgabeErledigt);
|
||||||
@ -900,6 +905,8 @@ namespace DatenDB
|
|||||||
command.Parameters.AddWithValue("p21", (int)this.Priority);
|
command.Parameters.AddWithValue("p21", (int)this.Priority);
|
||||||
|
|
||||||
result[0] = command.ExecuteNonQuery();
|
result[0] = command.ExecuteNonQuery();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -922,8 +929,8 @@ namespace DatenDB
|
|||||||
string and = " and ";
|
string and = " and ";
|
||||||
List<Auftrag> result = new List<Auftrag>();
|
List<Auftrag> result = new List<Auftrag>();
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
if (!string.IsNullOrWhiteSpace(datum)) { commandline += $"{datum} = '{date}'"; parts++; }
|
if (!string.IsNullOrWhiteSpace(datum)) { commandline += $"{datum} = '{date}'"; parts++; }
|
||||||
if (status != null)
|
if (status != null)
|
||||||
@ -941,6 +948,8 @@ namespace DatenDB
|
|||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) result.Add(new Auftrag(reader));
|
while (reader.Read()) result.Add(new Auftrag(reader));
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@ -46,12 +46,15 @@ namespace DatenDB
|
|||||||
{
|
{
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
List<Benutzer> resultList = new List<Benutzer>();
|
List<Benutzer> resultList = new List<Benutzer>();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
command.CommandText = $"select {COLUMNS} from {TABLE}";
|
command.CommandText = $"select {COLUMNS} from {TABLE}";
|
||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) resultList.Add(new Benutzer(reader));
|
while (reader.Read()) resultList.Add(new Benutzer(reader));
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
return resultList;
|
return resultList;
|
||||||
|
|
||||||
@ -60,12 +63,15 @@ namespace DatenDB
|
|||||||
{
|
{
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
List<Benutzer> resultList = new List<Benutzer>();
|
List<Benutzer> resultList = new List<Benutzer>();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
command.CommandText = $"select {COLUMNS} from {TABLE} where rolle = 'Fahrer' and ist_aktiv is true order by benutzer_id asc";
|
command.CommandText = $"select {COLUMNS} from {TABLE} where rolle = 'Fahrer' and ist_aktiv is true order by benutzer_id asc";
|
||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) resultList.Add(new Benutzer(reader));
|
while (reader.Read()) resultList.Add(new Benutzer(reader));
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
return resultList;
|
return resultList;
|
||||||
}
|
}
|
||||||
@ -73,12 +79,15 @@ namespace DatenDB
|
|||||||
{
|
{
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
List<Benutzer> resultList = new List<Benutzer>();
|
List<Benutzer> resultList = new List<Benutzer>();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
command.CommandText = $"select {COLUMNS} from {TABLE} where ist_aktiv is true and rolle = 'Fahrer' or rolle = 'Verwaltung' or rolle = 'Expedit' order by benutzer_id asc";
|
command.CommandText = $"select {COLUMNS} from {TABLE} where ist_aktiv is true and rolle = 'Fahrer' or rolle = 'Verwaltung' or rolle = 'Expedit' order by benutzer_id asc";
|
||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) resultList.Add(new Benutzer(reader));
|
while (reader.Read()) resultList.Add(new Benutzer(reader));
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
return resultList;
|
return resultList;
|
||||||
}
|
}
|
||||||
@ -90,13 +99,16 @@ namespace DatenDB
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
if (!string.IsNullOrEmpty(benutzerName)) command.CommandText = $"select {COLUMNS} from {TABLE} where benutzer_name = '{benutzerName}'";
|
if (!string.IsNullOrEmpty(benutzerName)) command.CommandText = $"select {COLUMNS} from {TABLE} where benutzer_name = '{benutzerName}'";
|
||||||
if (benID != null) command.CommandText = $"select {COLUMNS} from {TABLE} where benutzer_id = {benID}";
|
if (benID != null) command.CommandText = $"select {COLUMNS} from {TABLE} where benutzer_id = {benID}";
|
||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) benutzer = new Benutzer(reader);
|
while (reader.Read()) benutzer = new Benutzer(reader);
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
return benutzer;
|
return benutzer;
|
||||||
}
|
}
|
||||||
@ -185,7 +197,8 @@ namespace DatenDB
|
|||||||
throw new LoginException("Datenbank ist nicht verbunden", -4);
|
throw new LoginException("Datenbank ist nicht verbunden", -4);
|
||||||
}
|
}
|
||||||
|
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
command.CommandText = $"select {COLUMNS} from {TABLE} where lower(benutzer_name) = :ben";
|
command.CommandText = $"select {COLUMNS} from {TABLE} where lower(benutzer_name) = :ben";
|
||||||
command.Parameters.AddWithValue(":ben", benutzerName.ToLower());
|
command.Parameters.AddWithValue(":ben", benutzerName.ToLower());
|
||||||
@ -201,6 +214,7 @@ namespace DatenDB
|
|||||||
if (person.Passwort != passwort) throw new LoginException("Passwort ist falsch!", -2);
|
if (person.Passwort != passwort) throw new LoginException("Passwort ist falsch!", -2);
|
||||||
|
|
||||||
return person;
|
return person;
|
||||||
|
}
|
||||||
} //FEHLERMELDUNG DYNAMISCH GENERIEREN...
|
} //FEHLERMELDUNG DYNAMISCH GENERIEREN...
|
||||||
public Benutzer(NpgsqlDataReader reader)
|
public Benutzer(NpgsqlDataReader reader)
|
||||||
{
|
{
|
||||||
@ -211,7 +225,7 @@ namespace DatenDB
|
|||||||
this.Nachname = reader.IsDBNull(4) ? string.Empty : reader.GetString(4);
|
this.Nachname = reader.IsDBNull(4) ? string.Empty : reader.GetString(4);
|
||||||
this.Schein = reader.IsDBNull(5) ? null : (int?)reader.GetInt32(5);
|
this.Schein = reader.IsDBNull(5) ? null : (int?)reader.GetInt32(5);
|
||||||
this.GueltigBis = reader.IsDBNull(6) ? null : (DateTime?)reader.GetDateTime(6);
|
this.GueltigBis = reader.IsDBNull(6) ? null : (DateTime?)reader.GetDateTime(6);
|
||||||
this.Aktiv = reader.IsDBNull(7) ? true : reader.GetBoolean(7);
|
this.Aktiv = reader.IsDBNull(7) || reader.GetBoolean(7);
|
||||||
this.BenutzerName = reader.IsDBNull(8) ? string.Empty : reader.GetString(8);
|
this.BenutzerName = reader.IsDBNull(8) ? string.Empty : reader.GetString(8);
|
||||||
this.OnboardingStatus = reader.GetInt32(9);
|
this.OnboardingStatus = reader.GetInt32(9);
|
||||||
this.Tour = reader.IsDBNull(10) ? string.Empty : reader.GetString(10);
|
this.Tour = reader.IsDBNull(10) ? string.Empty : reader.GetString(10);
|
||||||
@ -220,7 +234,8 @@ namespace DatenDB
|
|||||||
{
|
{
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
|
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
|
|
||||||
if (this.BenutzerID.HasValue & this.BenutzerID != 0)
|
if (this.BenutzerID.HasValue & this.BenutzerID != 0)
|
||||||
@ -239,7 +254,7 @@ namespace DatenDB
|
|||||||
command.Parameters.AddWithValue("p2", string.IsNullOrEmpty(this.Passwort) ? (object)DBNull.Value : this.Passwort);
|
command.Parameters.AddWithValue("p2", string.IsNullOrEmpty(this.Passwort) ? (object)DBNull.Value : this.Passwort);
|
||||||
command.Parameters.AddWithValue("p3", string.IsNullOrEmpty(this.Vorname) ? (object)DBNull.Value : this.Vorname);
|
command.Parameters.AddWithValue("p3", string.IsNullOrEmpty(this.Vorname) ? (object)DBNull.Value : this.Vorname);
|
||||||
command.Parameters.AddWithValue("p4", string.IsNullOrEmpty(this.Nachname) ? (object)DBNull.Value : this.Nachname);
|
command.Parameters.AddWithValue("p4", string.IsNullOrEmpty(this.Nachname) ? (object)DBNull.Value : this.Nachname);
|
||||||
command.Parameters.AddWithValue("p5", this.Schein.HasValue ? this.Schein.Value : (object)DBNull.Value);
|
command.Parameters.AddWithValue("p5", this.Schein ?? (object)DBNull.Value);
|
||||||
command.Parameters.AddWithValue("p6", this.Rolle == BenutzerRolle.Fahrer ? this.GueltigBis.Value : (object)DBNull.Value);
|
command.Parameters.AddWithValue("p6", this.Rolle == BenutzerRolle.Fahrer ? this.GueltigBis.Value : (object)DBNull.Value);
|
||||||
command.Parameters.AddWithValue("p7", this.Aktiv);
|
command.Parameters.AddWithValue("p7", this.Aktiv);
|
||||||
command.Parameters.AddWithValue("p8", string.IsNullOrEmpty(this.BenutzerName) ? (object)DBNull.Value : this.BenutzerName);
|
command.Parameters.AddWithValue("p8", string.IsNullOrEmpty(this.BenutzerName) ? (object)DBNull.Value : this.BenutzerName);
|
||||||
@ -251,6 +266,7 @@ namespace DatenDB
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
public static class BenutzerExtensions
|
public static class BenutzerExtensions
|
||||||
{
|
{
|
||||||
public static int SetOnboardingFlag(this Benutzer user, OnboardingSchritt schritt)
|
public static int SetOnboardingFlag(this Benutzer user, OnboardingSchritt schritt)
|
||||||
@ -269,5 +285,3 @@ namespace DatenDB
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
//INSTALL-REMINDER: DB anpassen.
|
|
||||||
//CHANGES: OnBoarding wird jetzt gespeichert wenn gesehen.
|
|
||||||
|
|||||||
@ -24,6 +24,7 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
[OLVColumn("KndNr.", DisplayIndex = 0, IsEditable = false)] public string KndNummer { get; set; }
|
[OLVColumn("KndNr.", DisplayIndex = 0, IsEditable = false)] public string KndNummer { get; set; }
|
||||||
[OLVColumn("Kunde", DisplayIndex = 1, IsEditable = false)] public string Kunde { get; set; }
|
[OLVColumn("Kunde", DisplayIndex = 1, IsEditable = false)] public string Kunde { get; set; }
|
||||||
[OLVColumn("NW", DisplayIndex = 2, TextAlign = HorizontalAlignment.Center)] public int Nachwaesche { get; set; }
|
[OLVColumn("NW", DisplayIndex = 2, TextAlign = HorizontalAlignment.Center)] public int Nachwaesche { get; set; }
|
||||||
|
[OLVColumn("Rekl", DisplayIndex = 3, TextAlign = HorizontalAlignment.Center)]public int Reklamation { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -64,7 +65,7 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
|
|
||||||
using (var conn = new NpgsqlConnection(_connectionString))
|
using (var conn = new NpgsqlConnection(_connectionString))
|
||||||
using (var cmd = new NpgsqlCommand(@"
|
using (var cmd = new NpgsqlCommand(@"
|
||||||
SELECT artnr, abteilung, artname, nw, muell, sauber
|
SELECT artnr, abteilung, artname, nw, reklamation, muell, sauber
|
||||||
FROM kundenverwaltung.vw_art_nachwaesche
|
FROM kundenverwaltung.vw_art_nachwaesche
|
||||||
ORDER BY artnr ASC", conn))
|
ORDER BY artnr ASC", conn))
|
||||||
{
|
{
|
||||||
@ -79,8 +80,9 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
Abteilung = (ArtikelKategorie)reader.GetInt16(1),
|
Abteilung = (ArtikelKategorie)reader.GetInt16(1),
|
||||||
ArtName = reader.GetString(2),
|
ArtName = reader.GetString(2),
|
||||||
Nachwaesche = reader.IsDBNull(3) ? 0 : reader.GetInt32(3),
|
Nachwaesche = reader.IsDBNull(3) ? 0 : reader.GetInt32(3),
|
||||||
Muell = reader.IsDBNull(4) ? 0 : reader.GetInt32(4),
|
Reklamation = reader.IsDBNull(4) ? 0 : reader.GetInt32(4),
|
||||||
Sauber = reader.IsDBNull(5) ? 0 : reader.GetInt32(5)
|
Muell = reader.IsDBNull(5) ? 0 : reader.GetInt32(5),
|
||||||
|
Sauber = reader.IsDBNull(6) ? 0 : reader.GetInt32(6)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -89,11 +91,12 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
[OLVColumn("ArtNr.", DisplayIndex = 0, IsEditable = false)] public int ArtNr { get; set; }
|
[OLVColumn("ArtNr.", DisplayIndex = 0, IsEditable = false)] public int ArtNr { get; set; }
|
||||||
[OLVColumn("Abteilung", DisplayIndex = 1, IsEditable = false)] public ArtikelKategorie Abteilung { get; set; }
|
[OLVColumn("Abteilung", DisplayIndex = 10, IsEditable = false)] public ArtikelKategorie Abteilung { get; set; }
|
||||||
[OLVColumn("ArtName", DisplayIndex = 2, IsEditable = false)] public string ArtName { get; set; }
|
[OLVColumn("ArtName", DisplayIndex = 20, IsEditable = false)] public string ArtName { get; set; }
|
||||||
[OLVColumn("NW", DisplayIndex = 3, TextAlign = HorizontalAlignment.Center)] public int Nachwaesche { get; set; }
|
[OLVColumn("NW", DisplayIndex = 30, TextAlign = HorizontalAlignment.Center)] public int Nachwaesche { get; set; }
|
||||||
[OLVColumn("Müll", DisplayIndex = 4, TextAlign = HorizontalAlignment.Center)] public int Muell { get; set; }
|
[OLVColumn("Rekl", DisplayIndex = 32, TextAlign = HorizontalAlignment.Center)] public int Reklamation { get; set; }
|
||||||
[OLVColumn("Sauber", DisplayIndex = 5, TextAlign = HorizontalAlignment.Center)] public int Sauber { get; set; }
|
[OLVColumn("Müll", DisplayIndex = 40, TextAlign = HorizontalAlignment.Center)] public int Muell { get; set; }
|
||||||
|
[OLVColumn("Sauber", DisplayIndex = 50, TextAlign = HorizontalAlignment.Center)] public int Sauber { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -235,7 +238,7 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
[OLVIgnore]public int? TourID { get; set; }
|
[OLVIgnore]public int? TourID { get; set; }
|
||||||
[OLVColumn("Schmutzig", DisplayIndex = 20, TextAlign = HorizontalAlignment.Center)]public int ContainerDirt { get; set; }
|
[OLVColumn("Schmutzig", DisplayIndex = 20, TextAlign = HorizontalAlignment.Center)]public int ContainerDirt { get; set; }
|
||||||
[OLVColumn("Sauber", DisplayIndex = 30, TextAlign = HorizontalAlignment.Center)]public int ContainerClean { get; set; }
|
[OLVColumn("Sauber", DisplayIndex = 30, TextAlign = HorizontalAlignment.Center)]public int ContainerClean { get; set; }
|
||||||
[OLVColumn("Typ", DisplayIndex = 50)]public AuftragTyp Typ { get; set; }
|
[OLVColumn("Typ", DisplayIndex = 50, IsEditable = false)]public AuftragTyp Typ { get; set; }
|
||||||
[OLVIgnore]public bool AufgabeErledigt { get; set; }
|
[OLVIgnore]public bool AufgabeErledigt { get; set; }
|
||||||
[OLVIgnore]public AbteilungsStatus AbteilungenStatus { get; set; }
|
[OLVIgnore]public AbteilungsStatus AbteilungenStatus { get; set; }
|
||||||
[OLVIgnore]public RegRhythmen Rhythmus { get; set; }
|
[OLVIgnore]public RegRhythmen Rhythmus { get; set; }
|
||||||
@ -312,7 +315,6 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
|
|
||||||
return reader.IsDBNull(ordinal) ? 0 : reader.GetInt32(ordinal);
|
return reader.IsDBNull(ordinal) ? 0 : reader.GetInt32(ordinal);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int? SafeIntNullable(NpgsqlDataReader reader, string columnName)
|
private static int? SafeIntNullable(NpgsqlDataReader reader, string columnName)
|
||||||
{
|
{
|
||||||
int ordinal;
|
int ordinal;
|
||||||
@ -321,28 +323,36 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
|
|
||||||
return reader.IsDBNull(ordinal) ? (int?)null : reader.GetInt32(ordinal);
|
return reader.IsDBNull(ordinal) ? (int?)null : reader.GetInt32(ordinal);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string SafeString(NpgsqlDataReader reader, string columnName)
|
private static string SafeString(NpgsqlDataReader reader, string columnName)
|
||||||
{
|
{
|
||||||
int ordinal;
|
int ordinal;
|
||||||
string name;
|
string name;
|
||||||
try { ordinal = reader.GetOrdinal(columnName); }
|
try { ordinal = reader.GetOrdinal(columnName); }
|
||||||
catch { return null; }
|
catch { return null; }
|
||||||
|
switch (columnName)
|
||||||
if (columnName == "suchtext")
|
{
|
||||||
|
case var t when t == "suchtext":
|
||||||
{
|
{
|
||||||
if (reader.IsDBNull(ordinal))
|
if (reader.IsDBNull(ordinal))
|
||||||
{
|
{
|
||||||
ordinal = reader.GetOrdinal("kunde_name");
|
ordinal = reader.GetOrdinal("kunde_name");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
name = reader.IsDBNull(ordinal) ? null : reader.GetString(ordinal);
|
name = reader.IsDBNull(ordinal) ? null : reader.GetString(ordinal);
|
||||||
|
|
||||||
if (name == "BAR DIVERSE") ordinal = reader.GetOrdinal("zusatz");
|
if (name == "BAR DIVERSE") ordinal = reader.GetOrdinal("zusatz");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case var t when t == "fahrer":
|
||||||
|
{
|
||||||
name = reader.IsDBNull(ordinal) ? null : reader.GetString(ordinal);
|
name = reader.IsDBNull(ordinal) ? null : reader.GetString(ordinal);
|
||||||
|
name += reader.IsDBNull(ordinal + 1) ? string.Empty : " (" + reader.GetString(ordinal + 1) + ")";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
name = reader.IsDBNull(ordinal) ? null : reader.GetString(ordinal);
|
||||||
|
break;
|
||||||
|
}
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool SafeBool(NpgsqlDataReader reader, string columnName)
|
private static bool SafeBool(NpgsqlDataReader reader, string columnName)
|
||||||
{
|
{
|
||||||
int ordinal;
|
int ordinal;
|
||||||
@ -351,7 +361,6 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
|
|
||||||
return !reader.IsDBNull(ordinal) && reader.GetBoolean(ordinal);
|
return !reader.IsDBNull(ordinal) && reader.GetBoolean(ordinal);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static DateTime? SafeDateTime(NpgsqlDataReader reader, string columnName)
|
private static DateTime? SafeDateTime(NpgsqlDataReader reader, string columnName)
|
||||||
{
|
{
|
||||||
int ordinal;
|
int ordinal;
|
||||||
|
|||||||
@ -33,16 +33,15 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
|
|
||||||
public int? Save()
|
public int? Save()
|
||||||
{
|
{
|
||||||
int? result = 0;
|
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
|
|
||||||
using (NpgsqlCommand command = new NpgsqlCommand())
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
{
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
|
|
||||||
|
int? result;
|
||||||
if (this.TourID.HasValue & this.TourID != 0)
|
if (this.TourID.HasValue & this.TourID != 0)
|
||||||
{
|
{
|
||||||
result = this.TourID;
|
|
||||||
command.CommandText = $"update {TABLE} set benutzer_id = :p1, kundenanzahl = :p2, liefertag = :p3, start = :p4, ende = :p5, container_dirt = :p6, container_clean = :p7, saison_id = :p8, tourenliste = :p9, listegedruckt = :p10, gedruckt_von = :p11 WHERE tour_id = :p0";
|
command.CommandText = $"update {TABLE} set benutzer_id = :p1, kundenanzahl = :p2, liefertag = :p3, start = :p4, ende = :p5, container_dirt = :p6, container_clean = :p7, saison_id = :p8, tourenliste = :p9, listegedruckt = :p10, gedruckt_von = :p11 WHERE tour_id = :p0";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -104,8 +103,8 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
{
|
{
|
||||||
Tour result = null;
|
Tour result = null;
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
if (tourID == null) command.CommandText = $"select {COLUMNS} from {TABLE} where benutzer_id = {arbeiterID} and liefertag = '{liefertag}'";
|
if (tourID == null) command.CommandText = $"select {COLUMNS} from {TABLE} where benutzer_id = {arbeiterID} and liefertag = '{liefertag}'";
|
||||||
else
|
else
|
||||||
@ -116,6 +115,8 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) result = new Tour(reader);
|
while (reader.Read()) result = new Tour(reader);
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -125,13 +126,15 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
{
|
{
|
||||||
Tour result = null;
|
Tour result = null;
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
NpgsqlCommand command = new NpgsqlCommand();
|
using (NpgsqlCommand command = new NpgsqlCommand())
|
||||||
|
{
|
||||||
command.Connection = DatenbankConnection.GetConnection();
|
command.Connection = DatenbankConnection.GetConnection();
|
||||||
command.CommandText = $"select {COLUMNS} from {TABLE} where tour_id = {tourID}";
|
command.CommandText = $"select {COLUMNS} from {TABLE} where tour_id = {tourID}";
|
||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) result = new Tour(reader);
|
while (reader.Read()) result = new Tour(reader);
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -156,7 +159,7 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
//CHANGES: Class Tour wurde erstellt. Speichern, Laden und Bearbeiten von Touren sollte möglich sein.
|
//CHANGES: Class Tour wurde erstellt. Speichern, Laden und Bearbeiten von Touren sollte möglich sein.
|
||||||
//DONE: Wenn Fahrer neuen Auftrag erstellt, wird Tour (BenutzerID & Liefertag) gesucht und gespeichert oder upgedatet. Dabei werden die Containerzahlen schmutzig addiert und die Kundenanzahl um 1 erhöht.
|
//DONE: Wenn Fahrer neuen Auftrag erstellt, wird Tour (BenutzerID & Liefertag) gesucht und gespeichert oder upgedatet. Dabei werden die Containerzahlen schmutzig addiert und die Kundenanzahl um 1 erhöht.
|
||||||
//TODO: Wenn Auftrag abgeschlossen wird muss die Containerzahl sauber addiert werden. Kundenanzahl und Containeranzahl schmutzig darf nicht erhöht werden.
|
//TODO: Wenn Auftrag abgeschlossen wird muss die Containerzahl sauber addiert werden. Kundenanzahl und Containeranzahl schmutzig darf nicht erhöht werden.
|
||||||
|
//TODO: !!ÜBERLEGE!! Tour Start und Ende automatisch erfassen. (Beladenscan und Entladescan?)
|
||||||
//TODO: Eingabemöglichkeit von Tour Start und Ende muss erledigt werden.
|
//TODO: Eingabemöglichkeit von Tour Start und Ende muss erledigt werden.
|
||||||
//TODO: !!ÜBERLEGE!! Tour Start und Ende automatisch erfassen.
|
|
||||||
//TODO: Kundenanzahl bei Tourenliste erstellen vergleichen und anpassen.
|
//TODO: Kundenanzahl bei Tourenliste erstellen vergleichen und anpassen.
|
||||||
//TODO: !!ÜBERLEGE!! DB-Query für Kundenanzahl und Containeranzahl Abgleich. (Aufträge haben TourID hinterlegt. So sollte alles vergleichbar sein.)
|
//TODO: !!ÜBERLEGE!! DB-Query für Kundenanzahl und Containeranzahl Abgleich. (Aufträge haben TourID hinterlegt. So sollte alles vergleichbar sein.)
|
||||||
@ -6,7 +6,7 @@
|
|||||||
</sectionGroup>
|
</sectionGroup>
|
||||||
</configSections>
|
</configSections>
|
||||||
<appSettings>
|
<appSettings>
|
||||||
<add key="ConnectionString" value="user id=postgres;password=Ki985941Wi;host=10.10.10.1;port=5432;database=Test_Wirl;Timeout=15" />
|
<add key="ConnectionString" value="user id=postgres;password=Ki985941Wi;host=10.10.10.1;port=5432;database=Wirl_DB_17012023;Timeout=15" />
|
||||||
<add key="SortimentPfad" value="N:\\TECHNIK\\Software\\Wirl-Verwaltung\\Listen\\Kundensortiment.txt" />
|
<add key="SortimentPfad" value="N:\\TECHNIK\\Software\\Wirl-Verwaltung\\Listen\\Kundensortiment.txt" />
|
||||||
<add key="InventurPfad" value="N:\BÜRO\KUNDEN\INVENTUREN\Verwaltung" />
|
<add key="InventurPfad" value="N:\BÜRO\KUNDEN\INVENTUREN\Verwaltung" />
|
||||||
<add key="BildPfad" value="C:\\Users\\KilianWirl\\OneDrive - gehgassi GmbH\\Wäscherei Wirl\\Programme\\Deckungsbeitrag\\Deckungsbeitrag\\Star.png" />
|
<add key="BildPfad" value="C:\\Users\\KilianWirl\\OneDrive - gehgassi GmbH\\Wäscherei Wirl\\Programme\\Deckungsbeitrag\\Deckungsbeitrag\\Star.png" />
|
||||||
|
|||||||
39
Program.cs
39
Program.cs
@ -35,12 +35,11 @@ namespace Deckungsbeitrag
|
|||||||
public static bool Artikelliste_Importiert = false;
|
public static bool Artikelliste_Importiert = false;
|
||||||
public static bool Kundenliste_Importiert = false;
|
public static bool Kundenliste_Importiert = false;
|
||||||
public static bool Software_Updated = false;
|
public static bool Software_Updated = false;
|
||||||
private static DateTime zielZeit = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 22, 0, 0);
|
private static readonly DateTime zielZeit = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 22, 0, 0);
|
||||||
private static System.Timers.Timer timer;
|
private static System.Timers.Timer timer;
|
||||||
//public static string vaultPath = @"N:\TECHNIK\Software\Wirl-Verwaltung\Feedback";
|
//public static string vaultPath = @"N:\TECHNIK\Software\Wirl-Verwaltung\Feedback";
|
||||||
private static string savePath = ConfigurationManager.AppSettings["DateiSavePfad"];
|
private static readonly string savePath = ConfigurationManager.AppSettings["DateiSavePfad"];
|
||||||
private static readonly string login = "login";
|
private static readonly bool istest = false;
|
||||||
private static bool istest = false;
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -51,8 +50,10 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
userid = ConfigurationManager.AppSettings["ConnectionString"].Split(';')[0];
|
userid = ConfigurationManager.AppSettings["ConnectionString"].Split(';')[0];
|
||||||
userid = userid.Split('=')[1];
|
userid = userid.Split('=')[1];
|
||||||
timer = new System.Timers.Timer();
|
timer = new System.Timers.Timer
|
||||||
timer.Interval = 1000;
|
{
|
||||||
|
Interval = 1000
|
||||||
|
};
|
||||||
timer.Elapsed += Timer_Elapsed;
|
timer.Elapsed += Timer_Elapsed;
|
||||||
timer.Start();
|
timer.Start();
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
@ -102,12 +103,9 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Settings.Default.Save();
|
Settings.Default.Save();
|
||||||
Cursor.Current = Cursors.Default;
|
Cursor.Current = Cursors.Default;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (istest) { Application.Run(new FormAufleger()); return; }
|
if (istest) { Application.Run(new FormAufleger()); return; }
|
||||||
|
|
||||||
if (userid.StartsWith("ms") | userid.StartsWith("ps"))
|
if (userid.StartsWith("ms") | userid.StartsWith("ps"))
|
||||||
@ -239,7 +237,6 @@ namespace Deckungsbeitrag
|
|||||||
private static void ArtikelList_Laden()
|
private static void ArtikelList_Laden()
|
||||||
{
|
{
|
||||||
string updatePath = Path.Combine(savePath, "Listen");
|
string updatePath = Path.Combine(savePath, "Listen");
|
||||||
updatePath = @"N:\TECHNIK\Software\Wirl-Verwaltung\Listen"; //Pfad zu Listen
|
|
||||||
string dateiName = "Artikelkurzliste.csv";
|
string dateiName = "Artikelkurzliste.csv";
|
||||||
string row;
|
string row;
|
||||||
string[] rows;
|
string[] rows;
|
||||||
@ -280,9 +277,7 @@ namespace Deckungsbeitrag
|
|||||||
tosave++;
|
tosave++;
|
||||||
|
|
||||||
// Artikel wird in DB gesucht und geholt.
|
// Artikel wird in DB gesucht und geholt.
|
||||||
Artikel art = Artikel.GetArtikel(Convert.ToInt32(linedata[1]), null);
|
Artikel art = Artikel.GetArtikel(Convert.ToInt32(linedata[1]), null) ?? new Artikel();
|
||||||
if (art == null) art = new Artikel();
|
|
||||||
|
|
||||||
art.Nummer = Convert.ToInt32(linedata[1]);
|
art.Nummer = Convert.ToInt32(linedata[1]);
|
||||||
art.Bezeichnung = linedata[3];
|
art.Bezeichnung = linedata[3];
|
||||||
|
|
||||||
@ -437,9 +432,7 @@ namespace Deckungsbeitrag
|
|||||||
tosave++;
|
tosave++;
|
||||||
|
|
||||||
// Kunde wird gesucht und aus DB geholt.
|
// Kunde wird gesucht und aus DB geholt.
|
||||||
Kunde kunde = Kunde.GetKunde(linedata[0], null, null);
|
Kunde kunde = Kunde.GetKunde(linedata[0], null, null) ?? new Kunde();
|
||||||
if (kunde == null) kunde = new Kunde();
|
|
||||||
|
|
||||||
kunde.KundeNummer = linedata[0];
|
kunde.KundeNummer = linedata[0];
|
||||||
kunde.KundeGruppe = linedata[3];
|
kunde.KundeGruppe = linedata[3];
|
||||||
kunde.PLZ = int.TryParse(linedata[4], out int tmp2) ? tmp2 : 00;
|
kunde.PLZ = int.TryParse(linedata[4], out int tmp2) ? tmp2 : 00;
|
||||||
@ -458,7 +451,7 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
kunde.Region = linedata[48];
|
kunde.Region = linedata[48];
|
||||||
if (kunde.Suchtext != linedata[55]) kunde.Suchtext = linedata[55];
|
if (kunde.Suchtext != linedata[55]) kunde.Suchtext = linedata[55];
|
||||||
kunde.Aktiv = linedata[56] == "1" ? true : false;
|
kunde.Aktiv = linedata[56] == "1";
|
||||||
|
|
||||||
if (kunde.Save() == 1) saved++;
|
if (kunde.Save() == 1) saved++;
|
||||||
}
|
}
|
||||||
@ -525,7 +518,7 @@ namespace Deckungsbeitrag
|
|||||||
var psi = new ProcessStartInfo
|
var psi = new ProcessStartInfo
|
||||||
{
|
{
|
||||||
FileName = "msiexec.exe",
|
FileName = "msiexec.exe",
|
||||||
Arguments = $"/i \"{localMsi}\" /qn /norestart ALLUSERS=1 /L*v \"C:\\tmp\\update.log\"",
|
Arguments = $"/i \"{localMsi}\" /norestart ALLUSERS=1 /L*v \"C:\\tmp\\update.log\"",
|
||||||
Verb = "runas",
|
Verb = "runas",
|
||||||
UseShellExecute = true
|
UseShellExecute = true
|
||||||
};
|
};
|
||||||
@ -602,12 +595,12 @@ namespace Deckungsbeitrag
|
|||||||
public static void AddFeedback(Benutzer user, string feedbackText, string bildDateiname, string timeStamp)
|
public static void AddFeedback(Benutzer user, string feedbackText, string bildDateiname, string timeStamp)
|
||||||
{
|
{
|
||||||
string vaultPath = Path.Combine(savePath, "Feedback\\VerwaltungFeedback.md");
|
string vaultPath = Path.Combine(savePath, "Feedback\\VerwaltungFeedback.md");
|
||||||
string feedback = string.Empty;
|
|
||||||
Benutzer ben = benutzer;
|
Benutzer ben = benutzer;
|
||||||
|
|
||||||
// Wenn User existiert wird dieser Verwendet. Sonst der bei Anmeldung registrierte Benutzer.
|
// Wenn User existiert wird dieser Verwendet. Sonst der bei Anmeldung registrierte Benutzer.
|
||||||
if (user != null) ben = user;
|
if (user != null) ben = user;
|
||||||
|
|
||||||
|
string feedback;
|
||||||
// Wenn der Bilddateiname leer ist wird feedback ohne Bilddateiname erstellt.
|
// Wenn der Bilddateiname leer ist wird feedback ohne Bilddateiname erstellt.
|
||||||
if (string.IsNullOrWhiteSpace(bildDateiname))
|
if (string.IsNullOrWhiteSpace(bildDateiname))
|
||||||
{
|
{
|
||||||
@ -636,15 +629,15 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
string path = Path.Combine(savePath, "Feedback");
|
string path = Path.Combine(savePath, "Feedback");
|
||||||
string vaultPath = Path.Combine(path, "VerwaltungFehler.md");
|
string vaultPath = Path.Combine(path, "VerwaltungFehler.md");
|
||||||
//string bildPath = Path.Combine(savePath, bildDateiname);
|
|
||||||
string fehler = string.Empty;
|
|
||||||
string benutzerKennung = string.Empty;
|
|
||||||
Benutzer ben = benutzer;
|
Benutzer ben = benutzer;
|
||||||
|
|
||||||
// Wenn User existiert wird dieser Verwendet. Sonst der bei Anmeldung registrierte Benutzer.
|
// Wenn User existiert wird dieser Verwendet. Sonst der bei Anmeldung registrierte Benutzer.
|
||||||
if (user != null) ben = user;
|
if (user != null) ben = user;
|
||||||
|
string benutzerKennung;
|
||||||
if (ben.BenutzerID == null) benutzerKennung = userid; else benutzerKennung = ben.Vorname + " " + ben.Nachname;
|
if (ben.BenutzerID == null) benutzerKennung = userid; else benutzerKennung = ben.Vorname + " " + ben.Nachname;
|
||||||
if (timeStamp == null) timeStamp = DateTime.Now.ToString("dd.MM.yyyy-HH-mm");
|
if (timeStamp == null) timeStamp = DateTime.Now.ToString("dd.MM.yyyy-HH-mm");
|
||||||
|
//string bildPath = Path.Combine(savePath, bildDateiname);
|
||||||
|
string fehler;
|
||||||
// Wenn der Bilddateiname leer ist wird feedback ohne Bilddateiname erstellt.
|
// Wenn der Bilddateiname leer ist wird feedback ohne Bilddateiname erstellt.
|
||||||
if (string.IsNullOrWhiteSpace(fehlerStackTrace))
|
if (string.IsNullOrWhiteSpace(fehlerStackTrace))
|
||||||
{
|
{
|
||||||
@ -664,5 +657,5 @@ namespace Deckungsbeitrag
|
|||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//TODO: Mit AddFehler in Obsidian eine Fehlerliste betreiben. (Wichtige Infos feststellen und bereitstellen)
|
//DOEN: Mit AddFehler in Obsidian eine Fehlerliste betreiben. (Wichtige Infos feststellen und bereitstellen)
|
||||||
//DONE: Mit AddFehler können Fehler aus try/chatch in Obsidian eingefügt werden. (Timestamp, PC-Name, Ex-Message)
|
//DONE: Mit AddFehler können Fehler aus try/chatch in Obsidian eingefügt werden. (Timestamp, PC-Name, Ex-Message)
|
||||||
@ -25,7 +25,6 @@ namespace Deckungsbeitrag.UserControls
|
|||||||
private readonly Benutzer user;
|
private readonly Benutzer user;
|
||||||
private readonly Kunde kunde;
|
private readonly Kunde kunde;
|
||||||
private List<KundeArtikel> artikelListe;
|
private List<KundeArtikel> artikelListe;
|
||||||
private readonly int controlHeight;
|
|
||||||
private bool neueinventur = false;
|
private bool neueinventur = false;
|
||||||
private readonly string[] lines;
|
private readonly string[] lines;
|
||||||
private bool formLoading = false;
|
private bool formLoading = false;
|
||||||
|
|||||||
@ -48,7 +48,7 @@ namespace Deckungsbeitrag.UserControls
|
|||||||
{
|
{
|
||||||
bool toClone = true;
|
bool toClone = true;
|
||||||
string saison = string.Empty;
|
string saison = string.Empty;
|
||||||
int saisonrhythmus = 0;
|
int saisonrhythmus;
|
||||||
FlowLayoutPanel dropTarget = sender as FlowLayoutPanel;
|
FlowLayoutPanel dropTarget = sender as FlowLayoutPanel;
|
||||||
|
|
||||||
DayOfWeek dropDay = DayOfWeek.Sunday;
|
DayOfWeek dropDay = DayOfWeek.Sunday;
|
||||||
@ -114,9 +114,7 @@ namespace Deckungsbeitrag.UserControls
|
|||||||
// Move statt Clone KundenControl
|
// Move statt Clone KundenControl
|
||||||
if (e.Data.GetDataPresent(typeof(UCKunde)))
|
if (e.Data.GetDataPresent(typeof(UCKunde)))
|
||||||
{
|
{
|
||||||
UCKunde draggedControl = e.Data.GetData(typeof(UCKunde)) as UCKunde;
|
if (!(e.Data.GetData(typeof(UCKunde)) is UCKunde draggedControl) || dropTarget == null || draggedControl.Parent.Tag != dropTarget.Tag) return;
|
||||||
|
|
||||||
if (draggedControl == null || dropTarget == null || draggedControl.Parent.Tag != dropTarget.Tag) return;
|
|
||||||
|
|
||||||
dropTarget.SuspendLayout();
|
dropTarget.SuspendLayout();
|
||||||
try
|
try
|
||||||
@ -182,7 +180,6 @@ namespace Deckungsbeitrag.UserControls
|
|||||||
private static Liefertage GetKompatiblenRhythmus(DayOfWeek dropDay, Liefertage originalRhythmus)
|
private static Liefertage GetKompatiblenRhythmus(DayOfWeek dropDay, Liefertage originalRhythmus)
|
||||||
{
|
{
|
||||||
Meldungen meldung = new Meldungen();
|
Meldungen meldung = new Meldungen();
|
||||||
CancelEventArgs e = new CancelEventArgs();
|
|
||||||
string dropTag = CultureInfo.GetCultureInfo("de-DE").DateTimeFormat.GetDayName(dropDay);
|
string dropTag = CultureInfo.GetCultureInfo("de-DE").DateTimeFormat.GetDayName(dropDay);
|
||||||
|
|
||||||
// 1. Ist dropDay im Original enthalten? Wird originalRhythums zurück gegeben.
|
// 1. Ist dropDay im Original enthalten? Wird originalRhythums zurück gegeben.
|
||||||
@ -331,11 +328,10 @@ namespace Deckungsbeitrag.UserControls
|
|||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
{
|
{
|
||||||
string lblName = $"{baseName}{i}"; // labelContMO0, labelContMO1, labelContMO2
|
string lblName = $"{baseName}{i}"; // labelContMO0, labelContMO1, labelContMO2
|
||||||
var lbl = tableLayoutPanelTage.Controls
|
|
||||||
.Find(lblName, true)
|
|
||||||
.FirstOrDefault() as Label;
|
|
||||||
|
|
||||||
if (lbl != null && int.TryParse(lbl.Text, out int value))
|
if (tableLayoutPanelTage.Controls
|
||||||
|
.Find(lblName, true)
|
||||||
|
.FirstOrDefault() is Label lbl && int.TryParse(lbl.Text, out int value))
|
||||||
{
|
{
|
||||||
counts[i] = value;
|
counts[i] = value;
|
||||||
}
|
}
|
||||||
@ -372,8 +368,10 @@ namespace Deckungsbeitrag.UserControls
|
|||||||
foreach (var kundeData in kundenListe) // nur die Kunden dieses Tags
|
foreach (var kundeData in kundenListe) // nur die Kunden dieses Tags
|
||||||
{
|
{
|
||||||
Kunde kunde = Kunde.GetKunde(null, kundeData.KundeID, null);
|
Kunde kunde = Kunde.GetKunde(null, kundeData.KundeID, null);
|
||||||
UCKunde kundectrl = new UCKunde(kunde);
|
UCKunde kundectrl = new UCKunde(kunde)
|
||||||
kundectrl.Tag = kunde;
|
{
|
||||||
|
Tag = kunde
|
||||||
|
};
|
||||||
zielFlp.Controls.Add(kundectrl);
|
zielFlp.Controls.Add(kundectrl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -382,11 +380,10 @@ namespace Deckungsbeitrag.UserControls
|
|||||||
if (data.Counter.TryGetValue(tag, out int[] counts))
|
if (data.Counter.TryGetValue(tag, out int[] counts))
|
||||||
{
|
{
|
||||||
string counterName = $"labelCont{tag}";
|
string counterName = $"labelCont{tag}";
|
||||||
var counterLabel = tableLayoutPanelTage.Controls
|
|
||||||
.Find(counterName, true)
|
|
||||||
.FirstOrDefault() as Label;
|
|
||||||
|
|
||||||
if (counterLabel != null)
|
if (tableLayoutPanelTage.Controls
|
||||||
|
.Find(counterName, true)
|
||||||
|
.FirstOrDefault() is Label counterLabel)
|
||||||
{
|
{
|
||||||
counterLabel.Text = $"{counts[0]}/{counts[1]}/{counts[2]}";
|
counterLabel.Text = $"{counts[0]}/{counts[1]}/{counts[2]}";
|
||||||
}
|
}
|
||||||
@ -401,4 +398,3 @@ namespace Deckungsbeitrag.UserControls
|
|||||||
//CHANGES: Wenn der Lieferrhythmus geändert wird, werden KundenControls an falschen Tagen gelöscht.
|
//CHANGES: Wenn der Lieferrhythmus geändert wird, werden KundenControls an falschen Tagen gelöscht.
|
||||||
//CHANGES: Lieferrhythmen können angepasst und übernommen werden.
|
//CHANGES: Lieferrhythmen können angepasst und übernommen werden.
|
||||||
//CHANGES: Speichern und Laden wurde angepasst, JSON enthält jetzt pro Tag eine Kundenliste.
|
//CHANGES: Speichern und Laden wurde angepasst, JSON enthält jetzt pro Tag eine Kundenliste.
|
||||||
//CHANGES: Winter und Sommer wird getrennt geändert und gespeichert.
|
|
||||||
|
|||||||
@ -85,6 +85,7 @@
|
|||||||
<Reference Include="ObjectListView, Version=2.9.3.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="ObjectListView, Version=2.9.3.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>packages\ObjectListView.Updated.2.9.3\lib\net40\ObjectListView.dll</HintPath>
|
<HintPath>packages\ObjectListView.Updated.2.9.3\lib\net40\ObjectListView.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="PresentationCore" />
|
||||||
<Reference Include="Spire.Barcode, Version=7.4.1.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL">
|
<Reference Include="Spire.Barcode, Version=7.4.1.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL">
|
||||||
<HintPath>packages\Spire.Barcode.7.4.1\lib\net48\Spire.Barcode.dll</HintPath>
|
<HintPath>packages\Spire.Barcode.7.4.1\lib\net48\Spire.Barcode.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
|||||||
@ -4,65 +4,59 @@ NEUIGKEITEN - Version 1.0.9.2
|
|||||||
|
|
||||||
Build-Info:
|
Build-Info:
|
||||||
- Build-Typ: Release Build
|
- Build-Typ: Release Build
|
||||||
- Erledigte TODOs: 19
|
- Erledigte TODOs: 15
|
||||||
- Offene TODOs: 37
|
- Offene TODOs: 31
|
||||||
- Install-Reminders: 4
|
- Install-Reminders: 2
|
||||||
- Changes: 15
|
- Changes: 16
|
||||||
|
|
||||||
|
|
||||||
=== ⚙️ INSTALL-REMINDER (4) ===
|
=== ⚙️ INSTALL-REMINDER (2) ===
|
||||||
- ⚙️ DB anpassen. [Benutzer.cs]
|
|
||||||
- ⚙️ DB anpassen. (Priority in Auftrag etc.) [Auftrag.cs]
|
- ⚙️ DB anpassen. (Priority in Auftrag etc.) [Auftrag.cs]
|
||||||
- ⚙️ Tabelle KundeArtikel Spalten ArtikelID und Reihung hinzufügen. [FormKundeVW.cs]
|
|
||||||
- ⚙️ Tabelle Tour in Datenbank einfügen [Tour.cs]
|
- ⚙️ Tabelle Tour in Datenbank einfügen [Tour.cs]
|
||||||
|
|
||||||
=== ✨ CHANGES (15) ===
|
=== ✨ CHANGES (16) ===
|
||||||
- ✨ Artikelliste und Kundenliste werden automatisch importiert wenn vorhanden. [FormMain.cs]
|
- ✨ Artikelliste und Kundenliste werden automatisch importiert wenn vorhanden. [FormMain.cs]
|
||||||
- ✨ Class Tour wurde erstellt. Speichern, Laden und Bearbeiten von Touren sollte möglich sein. [Tour.cs]
|
- ✨ Class Tour wurde erstellt. Speichern, Laden und Bearbeiten von Touren sollte möglich sein. [Tour.cs]
|
||||||
- ✨ Es kann nach der Kontrolle der Lieferrhythmus geändert werden. Dazu muss auch die Anzahl der Liefertage gewählt werden. [FormTourenplanung.cs]
|
- ✨ Es kann nach der Kontrolle der Lieferrhythmus geändert werden. Dazu muss auch die Anzahl der Liefertage gewählt werden. [FormTourenplanung.cs]
|
||||||
- ✨ Es können nur so viele Clone erstellt werden wie Liefertag im Lieferrhythmus hinterlegt sind. [FormTourenplanung.cs]
|
- ✨ Es können nur so viele Clone erstellt werden wie Liefertag im Lieferrhythmus hinterlegt sind. [FormTourenplanung.cs]
|
||||||
- ✨ Es wir kontrolliert ob der gewählte Liefertag zum hinterlegten Lieferrhythmus passt. [FormTourenplanung.cs]
|
- ✨ Es wir kontrolliert ob der gewählte Liefertag zum hinterlegten Lieferrhythmus passt. [FormTourenplanung.cs]
|
||||||
- ✨ Fahrer können abgeholte Aufträge erstellen und ausgelieferte Aufträge markieren. [FormMain.cs]
|
- ✨ Fahrer können abgeholte Aufträge erstellen und ausgelieferte Aufträge markieren. [FormMain.cs]
|
||||||
|
- ✨ Im Tab Rampe wird bei DoppelClick der Auftrag als gewaschen markiert und im Tab Aufträge heute sichtbar. [FormExpedit.cs]
|
||||||
|
- ✨ Im Tab Vorbereitet wird beim Ändern der sauberen Containeranzahl gefragt ob die Etiketten neu gedruckt werden sollen. [FormExpedit.cs]
|
||||||
- ✨ Innerhalb eines Tages kann die Reihenfolge angepasst werden. [UCTabPageLKW.cs]
|
- ✨ Innerhalb eines Tages kann die Reihenfolge angepasst werden. [UCTabPageLKW.cs]
|
||||||
- ✨ KundeArtikel wird mit Reihung gespeichert und angezeigt. [FormKundeVW.cs]
|
|
||||||
- ✨ Lieferrhythmen können angepasst und übernommen werden. [UCTabPageLKW.cs]
|
- ✨ Lieferrhythmen können angepasst und übernommen werden. [UCTabPageLKW.cs]
|
||||||
- ✨ OnBoarding wird jetzt gespeichert wenn gesehen. [Benutzer.cs]
|
- ✨ NumericUpDown markiert automatisch den Inhalt. Erleichtert die Eingabe. [FormExpedit.cs]
|
||||||
- ✨ Programm wird mit Button geschlossen. (Sicherheitsabfrage ob wirklich gewollt wird gemacht.) [FormAufleger.cs]
|
- ✨ Reklamation als Spalte hinzugefügt und Anzeigen implementiert. Sowohl bei KundeArtikel als auch bei NW_Artikel. [FormArtikelVW.cs]
|
||||||
- ✨ Speichern und Laden wurde angepasst, JSON enthält jetzt pro Tag eine Kundenliste. [UCTabPageLKW.cs]
|
- ✨ Speichern und Laden wurde angepasst, JSON enthält jetzt pro Tag eine Kundenliste. [UCTabPageLKW.cs]
|
||||||
- ✨ TabText wird mit Benutzerliste verglichen. Wenn ein passender gefunden wird Tag hinterlegt. [FormTourenplanung.cs]
|
- ✨ TabText wird mit Benutzerliste verglichen. Wenn ein passender gefunden wird Tag hinterlegt. [FormTourenplanung.cs]
|
||||||
- ✨ Wenn der Lieferrhythmus geändert wird, werden KundenControls an falschen Tagen gelöscht. [UCTabPageLKW.cs]
|
- ✨ Wenn der Lieferrhythmus geändert wird, werden KundenControls an falschen Tagen gelöscht. [UCTabPageLKW.cs]
|
||||||
- ✨ Winter und Sommer wird getrennt geändert und gespeichert. [UCTabPageLKW.cs]
|
- ✨ Wenn ein anderer Fahrer ausgewählt wird, wird auch die Priority laut dem Fahrer geändert. [FormExpedit.cs]
|
||||||
|
|
||||||
|
|
||||||
=== ✅ ERLEDIGTE TODOs (19) ===
|
=== ✅ ERLEDIGTE TODOs (15) ===
|
||||||
- ✅ : Auftrag über FormListe holen und daraus den Kunden für Fehlmenge holen. [FormFehlmengeCount.cs]
|
|
||||||
- ✅ : Auftragliste bei Fahrer anzeigen wenn Login. [FormMain.cs]
|
|
||||||
- ✅ : Bei Transport wir ein Fach mit Aktuellem Auftrag erstellt. Das Alte wird bei Transport gespeichert. [FormAusschlager.cs]
|
- ✅ : Bei Transport wir ein Fach mit Aktuellem Auftrag erstellt. Das Alte wird bei Transport gespeichert. [FormAusschlager.cs]
|
||||||
- ✅ : CLick auf Inventur freigeben Dateiname von "Warten" auf "Herrichten" ändern. [UCInventur.cs]
|
- ✅ : CLick auf Inventur freigeben Dateiname von "Warten" auf "Herrichten" ändern. [UCInventur.cs]
|
||||||
- ✅ : ComboBox Fahrer und Priorität implementieren [FormAuftragDetail.cs]
|
- ✅ : ComboBox Fahrer und Priorität implementieren [FormAuftragDetail.cs]
|
||||||
- ✅ : Container schmutzig bearbeitbar machen [FormAuftragDetail.cs]
|
- ✅ : Container schmutzig bearbeitbar machen [FormAuftragDetail.cs]
|
||||||
- ✅ : Feedback Button hinzufügen [FormAuftragDetail.cs]
|
- ✅ : Feedback Button hinzufügen [FormAuftragDetail.cs]
|
||||||
- ✅ : HILFE zeigt OnBoarding. [FormMain.cs]
|
|
||||||
- ✅ : Inventur freigeben nur für Admin oder Verwaltung. [UCInventur.cs]
|
- ✅ : Inventur freigeben nur für Admin oder Verwaltung. [UCInventur.cs]
|
||||||
- ✅ : Inventur für Expedit zugänglich machen. [UCInventur.cs]
|
- ✅ : Inventur für Expedit zugänglich machen. [UCInventur.cs]
|
||||||
|
- ✅ : JSON nach angemeldeten Fahrer durchsuchen und Kundenliste des aktuellen Wochentag anzeigen. [FormMain.cs]
|
||||||
- ✅ : Korrigiere Bestand: Wenn -Zahl dann Stand - Zahl. [FormAuftragDetail.cs]
|
- ✅ : Korrigiere Bestand: Wenn -Zahl dann Stand - Zahl. [FormAuftragDetail.cs]
|
||||||
- ✅ : Logik überlegen wie ein bearbeiteter Auftrag nicht doppelt gewählt werden kann. (Abteilungen zu Auftrag hinzufügen und bei Ausschlager Druck definieren?) [FormFehlmengeCount.cs]
|
|
||||||
- ✅ : Mit AddFehler können Fehler aus try/chatch in Obsidian eingefügt werden. (Timestamp, PC-Name, Ex-Message) [Program.cs]
|
- ✅ : Mit AddFehler können Fehler aus try/chatch in Obsidian eingefügt werden. (Timestamp, PC-Name, Ex-Message) [Program.cs]
|
||||||
- ✅ : Neue Aufgabe Screen erstellen. [FormNeueAufgabe.cs]
|
- ✅ : Speichern etc. durchgehen und adaptieren [FormAuftragDetail.cs]
|
||||||
- ✅ : Nur die Kunden der Aufträge als Liste anzeigen wäre möglich. Macht die Auswahl für das Personal einfacher weil 90% bereits weg fallen. [FormFehlmengeCount.cs]
|
|
||||||
- ✅ : Wenn Fahrer neuen Auftrag erstellt, wird Tour (BenutzerID & Liefertag) gesucht und gespeichert oder upgedatet. Dabei werden die Containerzahlen schmutzig addiert und die Kundenanzahl um 1 erhöht. [Tour.cs]
|
- ✅ : Wenn Fahrer neuen Auftrag erstellt, wird Tour (BenutzerID & Liefertag) gesucht und gespeichert oder upgedatet. Dabei werden die Containerzahlen schmutzig addiert und die Kundenanzahl um 1 erhöht. [Tour.cs]
|
||||||
|
- ✅ : Wenn Frottee-Expedit auch Reklamation bearbeitet, muss BenutzerRolle abgefragt werden. siehe CHANGES. [FormFehlmengeCount.cs]
|
||||||
- ✅ : Wenn NeuerAuftrag gewählt Fach ändern nicht vergessen. [FormAusschlager.cs]
|
- ✅ : Wenn NeuerAuftrag gewählt Fach ändern nicht vergessen. [FormAusschlager.cs]
|
||||||
- ✅ : Wenn NeuerAuftrag gewählt wie gehts weiter? [FormAusschlager.cs]
|
- ✅ : Wenn NeuerAuftrag gewählt wie gehts weiter? [FormAusschlager.cs]
|
||||||
- ✅ : Wenn RegAuftrag wird als augeliefert markiert, wird dieser automatisch neu erstellt laut hinterlegtem Rhythmus. [FormMain.cs]
|
|
||||||
|
|
||||||
|
|
||||||
=== 🔄 OFFENE TODOs (37) ===
|
=== 🔄 OFFENE TODOs (31) ===
|
||||||
- 🔄 !!ÜBERLEGE!! DB-Query für Kundenanzahl und Containeranzahl Abgleich. (Aufträge haben TourID hinterlegt. So sollte alles vergleichbar sein.) [Tour.cs]
|
- 🔄 !!ÜBERLEGE!! DB-Query für Kundenanzahl und Containeranzahl Abgleich. (Aufträge haben TourID hinterlegt. So sollte alles vergleichbar sein.) [Tour.cs]
|
||||||
- 🔄 !!ÜBERLEGE!! Tour Start und Ende automatisch erfassen. [Tour.cs]
|
- 🔄 !!ÜBERLEGE!! Tour Start und Ende automatisch erfassen. (Beladenscan und Entladescan?) [Tour.cs]
|
||||||
- 🔄 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?? [FormMain.cs]
|
||||||
- 🔄 Alle Icons in einer Spalte anzeigen? I für Anmerkung und ! für Aufgabe?? [UCAuftragListe.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]
|
- 🔄 Auftrag richtig speichern... mit gedruckt bzw. erledigt bzw. [FormExpedit.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]
|
- 🔄 Auftragauswahl aufrufen statt NeuerAuftrag. (Wenn Fahrer Aufträge erstellen) [FormWSVerfolgung.cs]
|
||||||
- 🔄 Aufträge zusammenführen wenn gleicher Kunde und Liefertag. [FormNeuerAuftrag.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]
|
- 🔄 Ausprobieren ob die Ausrichtung jetzt richtig ist. Sowohl beim ersten wie auch zweiten Mal. [Funktionen.cs]
|
||||||
@ -77,23 +71,18 @@ Build-Info:
|
|||||||
- 🔄 Funktioniert mehrere KundenControls auf einmal DragDrop? [FormTourenplanung.cs]
|
- 🔄 Funktioniert mehrere KundenControls auf einmal DragDrop? [FormTourenplanung.cs]
|
||||||
- 🔄 Gesamt soll immer 100% sein. [Funktionen.cs]
|
- 🔄 Gesamt soll immer 100% sein. [Funktionen.cs]
|
||||||
- 🔄 Hier Settings speichern mit UserSettingsManager Klasse. [FormEinstellung.cs]
|
- 🔄 Hier Settings speichern mit UserSettingsManager Klasse. [FormEinstellung.cs]
|
||||||
- 🔄 JSON nach angemeldeten Fahrer durchsuchen und Kundenliste des aktuellen Wochentag anzeigen. [FormMain.cs]
|
|
||||||
- 🔄 Kundenanzahl bei Tourenliste erstellen vergleichen und anpassen. [Tour.cs]
|
- 🔄 Kundenanzahl bei Tourenliste erstellen vergleichen und anpassen. [Tour.cs]
|
||||||
- 🔄 Mit AddFehler in Obsidian eine Fehlerliste betreiben. (Wichtige Infos feststellen und bereitstellen) [Program.cs]
|
|
||||||
- 🔄 Nach Test und Rücksprache eventuell wieder umbauen. Benutzer.Rolle etc. [FormFehlmengeCount.cs]
|
- 🔄 Nach Test und Rücksprache eventuell wieder umbauen. Benutzer.Rolle etc. [FormFehlmengeCount.cs]
|
||||||
- 🔄 nicht ganze Aufträge holen sondern nur die Zahlen? [FormMain.cs]
|
- 🔄 nicht ganze Aufträge holen sondern nur die Zahlen? [FormMain.cs]
|
||||||
- 🔄 Non-Hard-Coded-Lösung für Priority finden. [Auftrag.cs]
|
- 🔄 Non-Hard-Coded-Lösung für Priority finden. [Auftrag.cs]
|
||||||
- 🔄 Reg.Aufträge einbauen. Besonderheit: Die Artikel sollen ebenfalls erscheinen. [Funktionen.cs]
|
- 🔄 Reg.Aufträge einbauen. Besonderheit: Die Artikel sollen ebenfalls erscheinen. [Funktionen.cs]
|
||||||
- 🔄 Settings hier ändern auf UserSettingsManager Klasse. [FormEinstellung.cs]
|
- 🔄 Settings hier ändern auf UserSettingsManager Klasse. [FormEinstellung.cs]
|
||||||
- 🔄 Speichern etc. durchgehen und adaptieren [FormAuftragDetail.cs]
|
|
||||||
- 🔄 TourenListe Entwurf muss überarbeitet werden. [FormNeuerAuftrag.cs]
|
- 🔄 TourenListe Entwurf muss überarbeitet werden. [FormNeuerAuftrag.cs]
|
||||||
- 🔄 Umbau in Switch. [FormWSVerfolgung.cs]
|
|
||||||
- 🔄 UserSetting Properties eintragen und in EinstellungsScreen abrufen. [UserSettingsManager.cs]
|
- 🔄 UserSetting Properties eintragen und in EinstellungsScreen abrufen. [UserSettingsManager.cs]
|
||||||
- 🔄 Warum der falsche Path? Immer mit \\ [UCFeedback.cs]
|
- 🔄 Warum der falsche Path? Immer mit \\ [UCFeedback.cs]
|
||||||
- 🔄 Weitere Properties von oben hier zuweisen [UserSettingsManager.cs]
|
- 🔄 Weitere Properties von oben hier zuweisen [UserSettingsManager.cs]
|
||||||
- 🔄 Wenn Auftrag abgeschlossen wird muss die Containerzahl sauber addiert werden. Kundenanzahl und Containeranzahl schmutzig darf nicht erhöht werden. [Tour.cs]
|
- 🔄 Wenn Auftrag abgeschlossen wird muss die Containerzahl sauber addiert werden. Kundenanzahl und Containeranzahl schmutzig darf nicht erhöht werden. [Tour.cs]
|
||||||
- 🔄 Wenn Frottee-Expedit auch Relamation bearbeitet, muss BenutzerRolle abgefragt werden. siehe CHANGES. [FormFehlmengeCount.cs]
|
|
||||||
- 🔄 Zuweisung zu Fahrer muss geklärt werden. [Funktionen.cs]
|
- 🔄 Zuweisung zu Fahrer muss geklärt werden. [Funktionen.cs]
|
||||||
|
|
||||||
Installation: 17.04.2026 07:41
|
Installation: 21.04.2026 09:01
|
||||||
=====================================
|
=====================================
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user