Reklamation erstellt jetzt ein Etikett. Die Berechnung des Bestandes wurde überarbeitet. Etwas Code-Kosmetik wurde gemacht.
This commit is contained in:
parent
624e157edd
commit
a78cd3dc32
@ -36,7 +36,7 @@ namespace Deckungsbeitrag.AA_Forms
|
||||
private void TextBoxText_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.textBoxText.Clear();
|
||||
if (TouchHelper.IsTouchDeviceReady())
|
||||
if (Program.istTouch && !Program.hatTastatur)
|
||||
{
|
||||
if (keyboard == null || keyboard.IsDisposed)
|
||||
{
|
||||
|
||||
18
AA-Forms/FormAuftragDetail.Designer.cs
generated
18
AA-Forms/FormAuftragDetail.Designer.cs
generated
@ -99,7 +99,7 @@
|
||||
this.buttonFertig.TabIndex = 14;
|
||||
this.buttonFertig.Text = "Speichern/Abschließen";
|
||||
this.buttonFertig.UseVisualStyleBackColor = false;
|
||||
this.buttonFertig.Click += new System.EventHandler(this.buttonFertig_Click);
|
||||
this.buttonFertig.Click += new System.EventHandler(this.ButtonFertig_Click);
|
||||
//
|
||||
// buttonAbbrechen
|
||||
//
|
||||
@ -116,7 +116,7 @@
|
||||
this.buttonAbbrechen.TabIndex = 0;
|
||||
this.buttonAbbrechen.Text = "Abbrechen";
|
||||
this.buttonAbbrechen.UseVisualStyleBackColor = false;
|
||||
this.buttonAbbrechen.Click += new System.EventHandler(this.buttonAbbrechen_Click);
|
||||
this.buttonAbbrechen.Click += new System.EventHandler(this.ButtonAbbrechen_Click);
|
||||
//
|
||||
// labelRegion
|
||||
//
|
||||
@ -201,7 +201,7 @@
|
||||
this.labelContainer.TabIndex = 28;
|
||||
this.labelContainer.Text = "0";
|
||||
this.labelContainer.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.labelContainer.TextChanged += new System.EventHandler(this.labelContainer_TextChanged);
|
||||
this.labelContainer.TextChanged += new System.EventHandler(this.LabelContainer_TextChanged);
|
||||
//
|
||||
// label5
|
||||
//
|
||||
@ -256,7 +256,7 @@
|
||||
this.comboBoxPriority.Name = "comboBoxPriority";
|
||||
this.comboBoxPriority.Size = new System.Drawing.Size(348, 37);
|
||||
this.comboBoxPriority.TabIndex = 41;
|
||||
this.comboBoxPriority.SelectedValueChanged += new System.EventHandler(this.comboBox_SelectedValueChanged);
|
||||
this.comboBoxPriority.SelectedValueChanged += new System.EventHandler(this.ComboBox_SelectedValueChanged);
|
||||
//
|
||||
// comboBoxFahrer
|
||||
//
|
||||
@ -267,7 +267,7 @@
|
||||
this.comboBoxFahrer.Name = "comboBoxFahrer";
|
||||
this.comboBoxFahrer.Size = new System.Drawing.Size(348, 37);
|
||||
this.comboBoxFahrer.TabIndex = 42;
|
||||
this.comboBoxFahrer.SelectedValueChanged += new System.EventHandler(this.comboBox_SelectedValueChanged);
|
||||
this.comboBoxFahrer.SelectedValueChanged += new System.EventHandler(this.ComboBox_SelectedValueChanged);
|
||||
//
|
||||
// pictureBoxDirtMinus
|
||||
//
|
||||
@ -362,11 +362,9 @@
|
||||
this.oLVArtikel.UseCompatibleStateImageBehavior = false;
|
||||
this.oLVArtikel.UseSubItemCheckBoxes = true;
|
||||
this.oLVArtikel.View = System.Windows.Forms.View.Details;
|
||||
this.oLVArtikel.CellEditFinished += new BrightIdeasSoftware.CellEditEventHandler(this.oLVArtikel_CellEditFinished);
|
||||
this.oLVArtikel.CellEditStarting += new BrightIdeasSoftware.CellEditEventHandler(this.oLVArtikel_CellEditStarting);
|
||||
this.oLVArtikel.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.OLVArtikel_ItemCheck);
|
||||
this.oLVArtikel.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.oLVArtikel_ItemChecked);
|
||||
this.oLVArtikel.SizeChanged += new System.EventHandler(this.oLVArtikel_SizeChanged);
|
||||
this.oLVArtikel.CellEditFinished += new BrightIdeasSoftware.CellEditEventHandler(this.OLVArtikel_CellEditFinished);
|
||||
this.oLVArtikel.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.OLVArtikel_ItemChecked);
|
||||
this.oLVArtikel.SizeChanged += new System.EventHandler(this.OLVArtikel_SizeChanged);
|
||||
//
|
||||
// FormAuftragDetail
|
||||
//
|
||||
|
||||
@ -72,7 +72,7 @@ namespace Deckungsbeitrag
|
||||
{
|
||||
InitializeComponent();
|
||||
//this.BackColor = Properties.Settings.Default.Wirlblau;
|
||||
labelContainer_TextChanged(this.labelContainer, EventArgs.Empty);
|
||||
LabelContainer_TextChanged(this.labelContainer, EventArgs.Empty);
|
||||
|
||||
}
|
||||
public FormAuftragDetail(Auftrag auftrag, Benutzer benutzer) : this()
|
||||
@ -99,8 +99,8 @@ namespace Deckungsbeitrag
|
||||
this.comboBoxPriority.SelectedItem = auftrag.Priority;
|
||||
|
||||
// Events nach dem Laden der Daten wieder den ComboBoxen zuweisen.
|
||||
this.comboBoxPriority.SelectedValueChanged += comboBox_SelectedValueChanged;
|
||||
this.comboBoxFahrer.SelectedValueChanged += comboBox_SelectedValueChanged;
|
||||
this.comboBoxPriority.SelectedValueChanged += ComboBox_SelectedValueChanged;
|
||||
this.comboBoxFahrer.SelectedValueChanged += ComboBox_SelectedValueChanged;
|
||||
|
||||
if (this.auftrag.Typ != AuftragTyp.Inventur || (this.auftrag.Typ == AuftragTyp.Inventur & this.auftrag.Status == AuftragStatus.Herrichten)) Load_OLV();
|
||||
else
|
||||
@ -161,13 +161,13 @@ namespace Deckungsbeitrag
|
||||
this.oLVArtikel = Funktionen.Columns_Resize(null, this.oLVArtikel).olv;
|
||||
|
||||
// Wenn alle Artikel Checked sind TOCLOSE auslösen.
|
||||
oLVArtikel_ItemChecked(this.oLVArtikel, null);
|
||||
OLVArtikel_ItemChecked(this.oLVArtikel, null);
|
||||
}
|
||||
|
||||
private void LadeComboBoxen()
|
||||
{
|
||||
this.comboBoxFahrer.SelectedValueChanged -= comboBox_SelectedValueChanged;
|
||||
this.comboBoxPriority.SelectedValueChanged -= comboBox_SelectedValueChanged;
|
||||
this.comboBoxFahrer.SelectedValueChanged -= ComboBox_SelectedValueChanged;
|
||||
this.comboBoxPriority.SelectedValueChanged -= ComboBox_SelectedValueChanged;
|
||||
|
||||
List<Benutzer> benutzerliste = Benutzer.GetFahrerList();
|
||||
this.comboBoxFahrer.DataSource = benutzerliste;
|
||||
@ -175,11 +175,11 @@ namespace Deckungsbeitrag
|
||||
|
||||
this.comboBoxPriority.DataSource = Enum.GetValues(typeof(Priority));
|
||||
}
|
||||
private void comboBox_SelectedValueChanged(object sender, EventArgs e)
|
||||
private void ComboBox_SelectedValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
Tosave = true;
|
||||
}
|
||||
private void labelContainer_TextChanged(object sender, EventArgs e)
|
||||
private void LabelContainer_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (this.labelContainer.Text == "0") { this.pictureBoxMinus.Enabled = this.pictureBoxDirtMinus.Enabled = false; this.pictureBoxMinus.BackColor = this.pictureBoxDirtMinus.BackColor = Color.Gray; }
|
||||
else { this.pictureBoxMinus.Enabled = this.pictureBoxDirtMinus.Enabled = true; this.pictureBoxMinus.BackColor = this.pictureBoxDirtMinus.BackColor = Color.Red; }
|
||||
@ -196,7 +196,7 @@ namespace Deckungsbeitrag
|
||||
auftrag.ZusatzInfo = this.textBoxZusatz.Text;
|
||||
auftrag.Save();
|
||||
|
||||
if (auftrag.Typ == AuftragTyp.Regelmäßig || (auftrag.Typ == AuftragTyp.Inventur & auftrag.Status == AuftragStatus.Herrichten))
|
||||
if (auftrag.Typ <= AuftragTyp.Regelmäßig && (auftrag.Typ >= AuftragTyp.Inventur) && auftrag.Status == AuftragStatus.Herrichten)
|
||||
{
|
||||
foreach (var kvp in auftragDictionary)
|
||||
{
|
||||
@ -207,14 +207,6 @@ namespace Deckungsbeitrag
|
||||
aufart.Save();
|
||||
}
|
||||
|
||||
//foreach (OLVListItem item in this.oLVArtikel.Items)
|
||||
//{
|
||||
// AuftragArtikel art = (AuftragArtikel)item.RowObject;
|
||||
// if (item.Checked) art.Erledigt = true;
|
||||
// else art.Erledigt = false;
|
||||
|
||||
// art.Save();
|
||||
//}
|
||||
if (auftrag.Typ == AuftragTyp.Inventur)
|
||||
{
|
||||
foreach (var kvp in dictionary)
|
||||
@ -254,7 +246,7 @@ namespace Deckungsbeitrag
|
||||
{
|
||||
if (MessageBox.Show("Möchtest du JETZT Etiketten für die erfolgten Änderung drucken?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
{
|
||||
if (Funktionen.SonderEtikett_Drucken(this.auftrag, dictionary) == DialogResult.OK)
|
||||
if (Funktionen.SonderEtikett_Drucken(this.auftrag.KundeID, dictionary) == DialogResult.OK)
|
||||
{
|
||||
etikettgedruckt = true;
|
||||
}
|
||||
@ -310,7 +302,7 @@ namespace Deckungsbeitrag
|
||||
|
||||
#region Button-Click
|
||||
//AUFTRAG ABBRECHEN
|
||||
private void buttonAbbrechen_Click(object sender, EventArgs e)
|
||||
private void ButtonAbbrechen_Click(object sender, EventArgs e)
|
||||
{
|
||||
//if (_tosave)
|
||||
//{
|
||||
@ -332,7 +324,7 @@ namespace Deckungsbeitrag
|
||||
}
|
||||
|
||||
//AUFTRAG ABSCHLIESSEN
|
||||
private void buttonFertig_Click(object sender, EventArgs e)
|
||||
private void ButtonFertig_Click(object sender, EventArgs e)
|
||||
{
|
||||
EtikettDrucken();
|
||||
if (Tosave && etikettgedruckt) AuftragSpeichern();
|
||||
@ -379,7 +371,7 @@ namespace Deckungsbeitrag
|
||||
auftrag.Gedruckt = DateTime.Now;
|
||||
auftrag.GedrucktVon = benutzer.BenutzerID;
|
||||
auftrag.Status = AuftragStatus.Fertig;
|
||||
|
||||
|
||||
bool nocont = false;
|
||||
if (MessageBox.Show("Möchtest du die Containeranzahl am Etikett anzeigen?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
||||
{
|
||||
@ -427,6 +419,7 @@ namespace Deckungsbeitrag
|
||||
this.DialogResult = DialogResult.OK;
|
||||
this.Close();
|
||||
}
|
||||
else this.Close();
|
||||
}
|
||||
|
||||
|
||||
@ -435,16 +428,22 @@ namespace Deckungsbeitrag
|
||||
/// <summary>
|
||||
/// TOCLOSE
|
||||
/// </summary>
|
||||
private void oLVArtikel_ItemChecked(object sender, ItemCheckedEventArgs e)
|
||||
private void OLVArtikel_ItemChecked(object sender, ItemCheckedEventArgs e)
|
||||
{
|
||||
ObjectListView olv = (ObjectListView)sender;
|
||||
if (olv.Items.Count == olv.CheckedItems.Count) Toclose = true;
|
||||
foreach(OLVListItem item in olv.CheckedItems)
|
||||
if (e == null) return;
|
||||
OLVListItem item = e.Item as OLVListItem;
|
||||
AuftragArtikel auftragArtikel = (AuftragArtikel)item.RowObject;
|
||||
if (item.Checked)
|
||||
{
|
||||
AuftragArtikel auftragArtikel = (AuftragArtikel)item.RowObject;
|
||||
auftragArtikel.Erledigt = true;
|
||||
auftragArtikel.Save();
|
||||
int oldValue = auftragArtikel.Anzahl;
|
||||
int newValue = 0;
|
||||
ChangeAnzahl(newValue, oldValue, auftragArtikel);
|
||||
}
|
||||
else auftragArtikel.Erledigt = false;
|
||||
|
||||
if (olv.Items.Count == olv.CheckedItems.Count) Toclose = true;
|
||||
}
|
||||
|
||||
|
||||
@ -556,34 +555,21 @@ namespace Deckungsbeitrag
|
||||
//if (oLVArtikel != null) this.ClientSize = new Size(oLVArtikel.Right + 10, oLVArtikel.Bottom + buttonAbbrechen.Height + 25);
|
||||
|
||||
}
|
||||
|
||||
private void oLVArtikel_CellEditStarting(object sender, CellEditEventArgs e)
|
||||
private void ChangeAnzahl(int newValue, int oldvalue, AuftragArtikel auftragArtikel)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void oLVArtikel_CellEditFinished(object sender, CellEditEventArgs e)
|
||||
{
|
||||
this.Cursor = Cursors.WaitCursor;
|
||||
this.SuspendLayout();
|
||||
|
||||
ObjectListView olv = (ObjectListView)sender;
|
||||
AuftragArtikel auftragArtikel = (AuftragArtikel)e.RowObject;
|
||||
int newValue = (int)e.NewValue;
|
||||
|
||||
if (this.auftrag.Typ == AuftragTyp.SOLL_Verminderung) if (newValue > 0) newValue = newValue * -1;
|
||||
if (e.Column.Text == "Anzahl") diff = (int)e.Value - (newValue);
|
||||
if (this.auftrag.Typ == AuftragTyp.SOLL_Verminderung) if (newValue > 0) newValue *= -1;
|
||||
diff = oldvalue - (newValue);
|
||||
if (diff != 0) Tosave = true;
|
||||
|
||||
if (auftragDictionary.TryGetValue((int)auftragArtikel.AuftragArtikelID, out int val))
|
||||
{
|
||||
val = newValue;
|
||||
if (newValue == 0) e.ListViewItem.Checked = true;
|
||||
auftragDictionary[(int)auftragArtikel.AuftragArtikelID] = newValue;
|
||||
//if (newValue == 0) e.ListViewItem.Checked = true;
|
||||
}
|
||||
else auftragDictionary.Add((int)auftragArtikel.AuftragArtikelID, newValue);
|
||||
|
||||
KundeArtikel kndart = KundeArtikel.GetKundeArtikelVonArtikelID(this.kunde.KundeID, auftragArtikel.ArtikelID);
|
||||
|
||||
|
||||
int reklamation = kndart.Reklamation;
|
||||
int fehlmenge = kndart.Fehlmenge;
|
||||
int stand = kndart.Stand;
|
||||
@ -602,59 +588,124 @@ namespace Deckungsbeitrag
|
||||
this.ResumeLayout();
|
||||
this.Cursor = Cursors.Default;
|
||||
|
||||
}
|
||||
private void OLVArtikel_CellEditFinished(object sender, CellEditEventArgs e)
|
||||
{
|
||||
this.Cursor = Cursors.WaitCursor;
|
||||
this.SuspendLayout();
|
||||
|
||||
ObjectListView olv = (ObjectListView)sender;
|
||||
AuftragArtikel auftragArtikel = (AuftragArtikel)e.RowObject;
|
||||
int newValue = (int)e.NewValue;
|
||||
int oldValue = (int)e.Value;
|
||||
|
||||
ChangeAnzahl(newValue, oldValue, auftragArtikel);
|
||||
|
||||
//if (this.auftrag.Typ == AuftragTyp.SOLL_Verminderung) if (newValue > 0) newValue = newValue * -1;
|
||||
//if (e.Column.Text == "Anzahl") diff = (int)e.Value - (newValue);
|
||||
//if (diff != 0) Tosave = true;
|
||||
|
||||
//if (auftragDictionary.TryGetValue((int)auftragArtikel.AuftragArtikelID, out int val))
|
||||
//{
|
||||
// val = newValue;
|
||||
// if (newValue == 0) e.ListViewItem.Checked = true;
|
||||
//}
|
||||
//else auftragDictionary.Add((int)auftragArtikel.AuftragArtikelID, newValue);
|
||||
|
||||
//KundeArtikel kndart = KundeArtikel.GetKundeArtikelVonArtikelID(this.kunde.KundeID, auftragArtikel.ArtikelID);
|
||||
|
||||
//int reklamation = kndart.Reklamation;
|
||||
//int fehlmenge = kndart.Fehlmenge;
|
||||
//int stand = kndart.Stand;
|
||||
//int korrektur = kndart.Korrektur;
|
||||
//KorrigiereBestand(diff, ref reklamation, ref fehlmenge, ref stand, ref korrektur);
|
||||
|
||||
//if (dictionary.TryGetValue((int)kndart.KundeArtikelID, out int[] value))
|
||||
//{
|
||||
// for (int i = 0; i < value.Length; i++)
|
||||
// {
|
||||
// value[i] += bestand[i];
|
||||
// }
|
||||
//}
|
||||
//else dictionary.Add((int)kndart.KundeArtikelID, bestand);
|
||||
////WriteToCSV(kndart);
|
||||
//this.ResumeLayout();
|
||||
//this.Cursor = Cursors.Default;
|
||||
|
||||
}
|
||||
public void KorrigiereBestand(int diff, ref int reklamation, ref int fehlmenge, ref int stand, ref int korrektur)
|
||||
{
|
||||
bestand = new int[4];
|
||||
if (diff == 0)
|
||||
return;
|
||||
if (diff < 0 || this.auftrag.Typ == AuftragTyp.SOLL_Erhoehung) { bestand[2] = diff; stand += diff; return; }
|
||||
|
||||
int rest = diff * 1;
|
||||
|
||||
// 1) Reklamation nur korrigieren, wenn sie <= diff ist
|
||||
if (reklamation > 0 && reklamation <= rest)
|
||||
switch (this.auftrag.Typ)
|
||||
{
|
||||
rest -= reklamation;
|
||||
bestand[0] = reklamation;
|
||||
reklamation = 0;
|
||||
case AuftragTyp.Inventur:
|
||||
{
|
||||
if (diff < 0) // Diff ist negativ
|
||||
{
|
||||
int korr = diff;
|
||||
bestand[3] = korr;
|
||||
korrektur -= korr;
|
||||
}
|
||||
else // Diff ist positiv
|
||||
{
|
||||
int korr = diff;
|
||||
bestand[3] = korr;
|
||||
korrektur -= korr;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case AuftragTyp.SOLL_Erhoehung:
|
||||
{
|
||||
if (diff < 0) { MessageBox.Show("Eine SOLL-Erhöhung kann keine negative Zahl haben. Bitte korrigiere die Zahlen.", "FEHLER", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; }
|
||||
bestand[2] = diff;
|
||||
stand += diff;
|
||||
}
|
||||
break;
|
||||
case AuftragTyp.IST_Erhoehung:
|
||||
{
|
||||
if (diff < 0) { MessageBox.Show("Eine IST-Erhöhung kann keine negative Zahl haben. Bitte korrigiere die Zahlen.", "FEHLER", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; }
|
||||
goto default;
|
||||
}
|
||||
case AuftragTyp.SOLL_Verminderung:
|
||||
{
|
||||
if (diff > 0) { MessageBox.Show("Eine SOLL-Verminderung kann keine positiven Zahlen haben. Bitte korrigiere die Zahlen.", "FEHLER", MessageBoxButtons.OK, MessageBoxIcon.Stop ); return; }
|
||||
bestand[2] = diff;
|
||||
stand += diff;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
{
|
||||
int rest = diff;
|
||||
// 1) Reklamation nur korrigieren, wenn sie <= diff ist
|
||||
if (reklamation > 0)
|
||||
{
|
||||
int reduktion = Math.Min(reklamation, rest);
|
||||
bestand[0] = reduktion;
|
||||
reklamation -= reduktion;
|
||||
rest -= reduktion;
|
||||
}
|
||||
// 2) Fehlmenge korrigieren
|
||||
if (fehlmenge > 0)
|
||||
{
|
||||
int abbau = Math.Min(fehlmenge, rest);
|
||||
bestand[1] = abbau;
|
||||
fehlmenge -= abbau;
|
||||
rest -= abbau;
|
||||
}
|
||||
// 3) Rest auf Stand buchen
|
||||
if (rest > 0)
|
||||
stand += rest;
|
||||
bestand[2] = rest;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// 2) Fehlmenge korrigieren
|
||||
if (fehlmenge > 0)
|
||||
{
|
||||
int abbau = Math.Min(fehlmenge, rest);
|
||||
bestand[1] = abbau;
|
||||
fehlmenge -= abbau;
|
||||
rest -= abbau;
|
||||
}
|
||||
|
||||
// 3) Inventurausgleich korrigieren
|
||||
if (korrektur > 0)
|
||||
{
|
||||
int korr = Math.Min(korrektur, rest);
|
||||
bestand[3] = korr;
|
||||
korrektur -= korr;
|
||||
rest -= korr;
|
||||
}
|
||||
// 4) Rest auf Stand buchen
|
||||
if (rest > 0)
|
||||
stand += rest;
|
||||
bestand[2] = rest;
|
||||
}
|
||||
private void oLVArtikel_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
|
||||
{
|
||||
Tosave = true;
|
||||
}
|
||||
|
||||
private void FormAuftragDetail_Resize(object sender, EventArgs e)
|
||||
{
|
||||
if (fb != null) fb.Location = new Point(this.ClientSize.Width - fb.Width - 7, 0);
|
||||
if (uci != null) this.ClientSize = new Size(uci.Right, uci.Bottom + buttonAbbrechen.Height + 25);
|
||||
if (oLVArtikel != null) this.ClientSize = new Size(oLVArtikel.Right + 10, oLVArtikel.Bottom + buttonAbbrechen.Height + 25);
|
||||
}
|
||||
|
||||
private void oLVArtikel_SizeChanged(object sender, EventArgs e)
|
||||
private void OLVArtikel_SizeChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.ClientSize = new Size(oLVArtikel.Right + 10, oLVArtikel.Bottom + buttonAbbrechen.Height + 25);
|
||||
}
|
||||
@ -677,4 +728,6 @@ namespace Deckungsbeitrag
|
||||
//CHANGES: 3. Abschließen nur möglich wenn alle Artikel auf 0 sind (Checked) und gespeichert wurde.
|
||||
//CHANGES: Bei Druckabbruch wird die geänderte Zahl NICHT zurückgesetzt. (Das muss händisch erfolgen)
|
||||
//CHANGES: Wenn die Zahlen zurückgesetzt werden sollen, muss AuftragDetail geschlossen werden.
|
||||
//CHANGES: Wenn die reduzierte Anzahl bei SOLL-Verminderung nicht negativ ist, wird diese negativ gemacht. So wird ein möglicher Fehler ausgebessert.
|
||||
//CHANGES: Wenn die reduzierte Anzahl bei SOLL-Verminderung nicht negativ ist, wird diese negativ gemacht. So wird ein möglicher Fehler ausgebessert.
|
||||
//CHANGES: Beim Speichern ohne Abschließen schließt sich das Fenster nach dem Speichern.
|
||||
//CHANGES: Wenn ein Artikel vollständig hergerichtet wird, muss er nur abgehackt werden. Den Rest macht der Computer.
|
||||
@ -98,22 +98,6 @@ namespace Deckungsbeitrag
|
||||
if (MessageBox.Show("Möchtest du die Einstellungen speichern?", "Frage", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return;
|
||||
else
|
||||
{
|
||||
//TODO: Hier Settings speichern mit UserSettingsManager Klasse.
|
||||
//if (changed)
|
||||
//{
|
||||
// Configuration config = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath);
|
||||
// config.AppSettings.Settings.Remove("SortimentPfad");
|
||||
// config.AppSettings.Settings.Add("SortimentPfad", this.textBoxSortiment.Text);
|
||||
// config.AppSettings.Settings.Remove("BildPfad");
|
||||
// config.AppSettings.Settings.Add("BildPfad", this.textBoxRatingbild.Text);
|
||||
|
||||
// config.Save();
|
||||
//}
|
||||
//if (this.checkBoxMaxWert.Checked) Settings.Default.MaxChecked = this.checkBoxMaxWert.Checked;
|
||||
//if (this.checkBoxMinWert.Checked) Settings.Default.MinChecked = this.checkBoxMinWert.Checked;
|
||||
//if (this.numUpDownMinWert.Enabled) Settings.Default.RatMin = (double)this.numUpDownMinWert.Value;
|
||||
//if (this.numUpDownMaxWert.Enabled) Settings.Default.RatMax = (double)this.numUpDownMaxWert.Value;
|
||||
|
||||
if (this.comboBoxEtikettDrucker.SelectedItem != null) _settings.DruckerEtikett = this.comboBoxEtikettDrucker.SelectedItem.ToString();
|
||||
if (this.comboBoxSWSDrucker.SelectedItem != null) { _settings.DruckerSWS = this.comboBoxSWSDrucker.SelectedItem.ToString(); _settings.CopiesSWS = this.numericUpDownSWSKopien.Value; }
|
||||
if (this.comboBoxTourenlisteDrucker.SelectedItem != null) _settings.DruckerTourenListe = this.comboBoxTourenlisteDrucker.ToString();
|
||||
|
||||
@ -595,7 +595,7 @@ namespace Deckungsbeitrag
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (_auftrag.Typ == AuftragTyp.Regelmäßig || _auftrag.Typ == AuftragTyp.SOLL_Erhoehung || _auftrag.Typ == AuftragTyp.SOLL_Verminderung || _auftrag.Typ == AuftragTyp.Inventur)
|
||||
if (_auftrag.Typ == AuftragTyp.Regelmäßig || _auftrag.Typ == AuftragTyp.SOLL_Erhoehung || _auftrag.Typ == AuftragTyp.SOLL_Verminderung || _auftrag.Typ == AuftragTyp.Inventur || _auftrag.Typ == AuftragTyp.IST_Erhoehung)
|
||||
{
|
||||
FormAuftragDetail auftragDetail = new FormAuftragDetail(_auftrag, this.benutzer);
|
||||
if (auftragDetail.ShowDialog() == DialogResult.OK)
|
||||
@ -1145,7 +1145,6 @@ namespace Deckungsbeitrag
|
||||
/// </summary>
|
||||
private void Auftrag_Fertig()
|
||||
{
|
||||
//TODO: Auftrag richtig speichern... mit gedruckt bzw. erledigt bzw.
|
||||
if (this.benutzer.Rolle == BenutzerRolle.Frottee) this.auftrag.Abteilungen |= AbteilungsStatus.FrotteeBeendet;
|
||||
else this.auftrag.Status = AuftragStatus.Fertig;
|
||||
this.auftrag.Save();
|
||||
|
||||
@ -3,6 +3,7 @@ using DatenDB;
|
||||
using Deckungsbeitrag.AA_Klassen;
|
||||
using System;
|
||||
using System.CodeDom;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Configuration;
|
||||
@ -30,7 +31,8 @@ namespace Deckungsbeitrag
|
||||
private List<object> auftragsliste;
|
||||
private ArtikelKategorie kategorie;
|
||||
readonly string userid;
|
||||
|
||||
private Dictionary<int, int> auftragDictionary = new Dictionary<int, int>();
|
||||
private bool etikettgedruckt = false;
|
||||
#region Form-Konstruktor
|
||||
|
||||
public FormFehlmengeCount()
|
||||
@ -158,7 +160,6 @@ namespace Deckungsbeitrag
|
||||
foreach (Button btn in this.tableLayoutPanelArtikel.Controls) btn.Tag = btn.Text = null;
|
||||
this.groupBoxArtikel.Visible = true;
|
||||
this.tableLayoutPanelArtikel.Visible = true;
|
||||
//TODO: Nach Test und Rücksprache eventuell wieder umbauen. Benutzer.Rolle etc.
|
||||
// Buttons werden den Artikeln aus der Artikelliste zugewiesen. Unterschied zwischen Frotteewäsche, Spannleintüchern, Großteilen und Kleinteilen
|
||||
foreach (KundeArtikel artikel in artikelListe)
|
||||
{
|
||||
@ -418,17 +419,22 @@ namespace Deckungsbeitrag
|
||||
|
||||
if ((userid != null && userid.Contains("reklamation")) || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Expedit) || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Frottee))
|
||||
{
|
||||
DialogResult result = meldung.GetFrage(this, "Möchtest du eine weitere Reklamation eingeben?", false);
|
||||
switch (result)
|
||||
EtikettDrucken();
|
||||
if (etikettgedruckt)
|
||||
{
|
||||
case DialogResult.Yes:
|
||||
break;
|
||||
case DialogResult.No:
|
||||
this.Close();
|
||||
return;
|
||||
default:
|
||||
break;
|
||||
DialogResult result = meldung.GetFrage(this, "Möchtest du eine weitere Reklamation eingeben?", false);
|
||||
switch (result)
|
||||
{
|
||||
case DialogResult.Yes:
|
||||
break;
|
||||
case DialogResult.No:
|
||||
this.Close();
|
||||
return;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else return;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -443,7 +449,17 @@ namespace Deckungsbeitrag
|
||||
Open_Liste();
|
||||
ControlLaden();
|
||||
}
|
||||
|
||||
private void EtikettDrucken()
|
||||
{
|
||||
if (MessageBox.Show("Möchtest du JETZT Etiketten für die erfolgten Änderung drucken?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
{
|
||||
if (Funktionen.SonderEtikett_Drucken((int)this.kunde.KundeID, auftragDictionary) == DialogResult.OK)
|
||||
{
|
||||
etikettgedruckt = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Auftragliste aufrufen.
|
||||
/// </summary>
|
||||
@ -537,7 +553,17 @@ namespace Deckungsbeitrag
|
||||
};
|
||||
}
|
||||
|
||||
if ((userid != null && userid.Contains("reklamation")) || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Expedit) || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Frottee)) { kndart.Reklamation++; artnw.Reklamation++; }
|
||||
if ((userid != null && userid.Contains("reklamation")) || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Expedit) || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Frottee))
|
||||
{
|
||||
artnw.Reklamation++;
|
||||
kndart.Reklamation++;
|
||||
if (auftragDictionary.TryGetValue((int)kndart.KundeArtikelID, out int val))
|
||||
{
|
||||
auftragDictionary[(int)kndart.KundeArtikelID] = kndart.Reklamation;
|
||||
}
|
||||
else auftragDictionary.Add((int)kndart.KundeArtikelID, kndart.Reklamation);
|
||||
|
||||
}
|
||||
else { kndart.Fehlmenge++; artnw.Nachwaesche++; }
|
||||
|
||||
// Wenn speichern nicht möglich, wird darauf hingewiesen.
|
||||
|
||||
@ -91,7 +91,6 @@ namespace Deckungsbeitrag
|
||||
{
|
||||
this.CenterToScreen();
|
||||
}
|
||||
|
||||
private void ListViewKunde_Load()
|
||||
{
|
||||
//LISTE LEEREN
|
||||
@ -503,15 +502,13 @@ namespace Deckungsbeitrag
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
|
||||
private void FormListe_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (keyboard != null) keyboard.Close();
|
||||
}
|
||||
|
||||
private void TextBoxKunde_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (TouchHelper.IsTouchDeviceReady())
|
||||
if (Program.istTouch && !Program.hatTastatur)
|
||||
{
|
||||
if (keyboard == null || keyboard.IsDisposed)
|
||||
{
|
||||
|
||||
@ -23,7 +23,8 @@ namespace Deckungsbeitrag
|
||||
string progFiles = @"C:\Program Files\Common Files\Microsoft Shared\ink";
|
||||
private QwertzKeyboard keyboard;
|
||||
private OnboardingSchritt onBoardingArt;
|
||||
public Benutzer Person { get; set; }
|
||||
|
||||
public Benutzer Person { get; set; }
|
||||
|
||||
public FormLogin()
|
||||
{
|
||||
@ -152,9 +153,10 @@ namespace Deckungsbeitrag
|
||||
|
||||
private void TextBoxBenutzer_Enter(object sender, EventArgs e)
|
||||
{
|
||||
this.textBoxBenutzer.SelectAll();
|
||||
|
||||
if (TouchHelper.IsTouchDeviceReady())
|
||||
this.textBoxBenutzer.SelectAll();
|
||||
|
||||
if (Program.istTouch && !Program.hatTastatur)
|
||||
{
|
||||
if (keyboard == null || keyboard.IsDisposed)
|
||||
{
|
||||
@ -173,7 +175,7 @@ namespace Deckungsbeitrag
|
||||
|
||||
private void TextBoxPasswort_Enter(object sender, EventArgs e)
|
||||
{
|
||||
if (TouchHelper.IsTouchDeviceReady())
|
||||
if (Program.istTouch && !Program.hatTastatur)
|
||||
{
|
||||
if (keyboard == null || keyboard.IsDisposed)
|
||||
{
|
||||
@ -196,7 +198,7 @@ namespace Deckungsbeitrag
|
||||
|
||||
private void TextBoxPwdWh_Enter(object sender, EventArgs e)
|
||||
{
|
||||
if (TouchHelper.IsTouchDeviceReady())
|
||||
if (Program.istTouch && !Program.hatTastatur)
|
||||
{
|
||||
if (keyboard == null || keyboard.IsDisposed)
|
||||
{
|
||||
|
||||
1
AA-Forms/FormLogin.designer.cs
generated
1
AA-Forms/FormLogin.designer.cs
generated
@ -210,6 +210,7 @@ namespace Deckungsbeitrag
|
||||
this.Name = "FormLogin";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "LOGIN Version: ";
|
||||
this.TopMost = true;
|
||||
this.Load += new System.EventHandler(this.FormLogin_Load);
|
||||
this.Shown += new System.EventHandler(this.FormLogin_Shown);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
|
||||
@ -320,10 +320,25 @@ namespace Deckungsbeitrag
|
||||
this.Height = 470;
|
||||
this.textBoxText.BringToFront();
|
||||
break;
|
||||
case AuftragTyp.IST_Erhoehung:
|
||||
if (this.kunde == null) return;
|
||||
this.textBoxText.Visible = false;
|
||||
this.panelRegAuftrag.Enabled = this.panelRegAuftrag.Visible = true;
|
||||
this.pictureBoxPlus.Enabled = this.pictureBoxMinus.Enabled = this.textBoxCont.Enabled = false;
|
||||
this.labelText.Text = "Rhythmus:";
|
||||
this.Width = this.panelRegAuftrag.Right + 25;
|
||||
this.Height = 470;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
PanelRegAuftrag_EnabledChanged(this.panelRegAuftrag, null);
|
||||
if (this.panelRegAuftrag.Enabled == false)
|
||||
{
|
||||
this.pictureBoxPlus.Enabled = this.pictureBoxMinus.Enabled = this.textBoxCont.Enabled = true;
|
||||
this.Width = textBoxKundeName.Right + 30;
|
||||
this.Height = 470;
|
||||
}
|
||||
//PanelRegAuftrag_EnabledChanged(this.panelRegAuftrag, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -341,7 +356,7 @@ namespace Deckungsbeitrag
|
||||
CustomInputBox inputBox = new CustomInputBox("Wieviel Stück sollen geliefert oder eingezogen werden?", "ARTIKELANZAHL", "Anzahl", "isNumeric");
|
||||
if (inputBox.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
anzahl = inputBox.text;
|
||||
artAnzahl = int.Parse(inputBox.text);
|
||||
}
|
||||
else return;
|
||||
|
||||
@ -408,6 +423,7 @@ namespace Deckungsbeitrag
|
||||
{
|
||||
MessageBox.Show("Auswahl für den gewählten Kunden nicht verfügbar.", "FEHLER", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
this.comboBoxTyp.SelectedIndex = -1;
|
||||
this.panelRegAuftrag.Enabled = false;
|
||||
return;
|
||||
}
|
||||
comboBoxArtikel.DataSource = kndartikel;
|
||||
@ -541,7 +557,7 @@ namespace Deckungsbeitrag
|
||||
inputBox = new CustomInputBox("Wieviel Stück sollen geliefert oder eingezogen werden?", "ARTIKELANZAHL", "Anzahl", "isNumeric");
|
||||
if (inputBox.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
anzahl = inputBox.text;
|
||||
artAnzahl = int.Parse(inputBox.text);
|
||||
}
|
||||
else return;
|
||||
}
|
||||
@ -660,6 +676,7 @@ namespace Deckungsbeitrag
|
||||
id = null;
|
||||
artname = uca.ArtikelName.ToString();
|
||||
}
|
||||
|
||||
AuftragArtikel aufart = new AuftragArtikel()
|
||||
{
|
||||
AuftragID = Auftrag.AuftragID,
|
||||
@ -669,6 +686,7 @@ namespace Deckungsbeitrag
|
||||
Erledigt = false,
|
||||
Gesamt = uca.Anzahl,
|
||||
};
|
||||
|
||||
aufart.Save();
|
||||
}
|
||||
}
|
||||
|
||||
@ -886,6 +886,4 @@ namespace DatenDB
|
||||
}
|
||||
}
|
||||
}
|
||||
//INSTALL-REMINDER: DB anpassen. (Priority in Auftrag etc.)
|
||||
//CAHNGES: Priority wird bei Auftrag hinterlegt. Derzeit nach Fahrer Vorname bis andere Lösung gefunden.
|
||||
//TODO: Non-Hard-Coded-Lösung für Priority finden.
|
||||
@ -45,9 +45,10 @@ namespace Deckungsbeitrag
|
||||
private static Benutzer _benutzer;
|
||||
private static PrintDocument printdoc;
|
||||
public static bool IsPhysicalPrint = false; // Globaler Schalter
|
||||
static Dictionary<int, int[]> _dictionary;
|
||||
static object _dictionary;
|
||||
private static bool printed = false;
|
||||
private static bool inPreview = false;
|
||||
private static int KundeID;
|
||||
|
||||
public Funktionen()
|
||||
{
|
||||
@ -863,7 +864,6 @@ namespace Deckungsbeitrag
|
||||
g.DrawString($"{auftrag.Liefertag.ToString("ddd dd.MM.")}", font1, Brushes.Black, startpoint.X, startpoint.Y + height_font1 + 5 + height_font2 + 2 + size_Liefertag.Height + 2);
|
||||
if (!nocont) g.DrawString($"{auftrag.ContainerClean}", font4, Brushes.Black, startpoint.X + size_Liefertag.Width + size_container.Width + 10, startpoint.Y + height_font1);
|
||||
|
||||
//TODO: Ausprobieren ob die Ausrichtung jetzt richtig ist. Sowohl beim ersten wie auch zweiten Mal.
|
||||
if (sender == null) bitmap.RotateFlip(RotateFlipType.Rotate90FlipNone);
|
||||
Image img = bitmap;
|
||||
return img;
|
||||
@ -1083,12 +1083,9 @@ namespace Deckungsbeitrag
|
||||
}
|
||||
}
|
||||
}
|
||||
public static Image SonderEtikett_Entwurf(Auftrag auftrag, Dictionary<int, int[]> dictionary)
|
||||
public static Image SonderEtikett_Entwurf(int KundeID, object dictionary)
|
||||
{
|
||||
Kunde kunde = Kunde.GetKunde(string.Empty, auftrag.KundeID, string.Empty);
|
||||
if (kunde.Suchtext.StartsWith("?") | kunde.KundeNummer == "2320000") kunde.Suchtext = auftrag.ZusatzInfo;
|
||||
List<AuftragArtikel> artliste = AuftragArtikel.GetList(auftrag.AuftragID);
|
||||
if (artliste == null || artliste.Count == 0) return null;
|
||||
Kunde kunde = Kunde.GetKunde(string.Empty, KundeID, string.Empty);
|
||||
|
||||
Bitmap bitmap = new Bitmap(300, 1200);
|
||||
Graphics g = Graphics.FromImage(bitmap);
|
||||
@ -1109,37 +1106,66 @@ namespace Deckungsbeitrag
|
||||
//Etikett-Text
|
||||
g.DrawString($"{kunde.KundeNummer}", font2, Brushes.Black, startpoint);
|
||||
nextposition += (int)height_font2;
|
||||
g.DrawString($"{kunde.Suchtext}", font2, Brushes.Black, einzug, nextposition);
|
||||
g.DrawString($"{kunde.Suchtext.Substring(0, 10)}", font2, Brushes.Black, einzug, nextposition);
|
||||
nextposition += (int)height_font2;
|
||||
g.DrawString($"{auftrag.Liefertag.Date.ToString("dd.MM.yyyy")}", font2, Brushes.Black, einzug, nextposition);
|
||||
g.DrawString($"{DateTime.Today.Date:dd.MM.yyyy}", font2, Brushes.Black, einzug, nextposition);
|
||||
nextposition += (int)height_font2;
|
||||
g.DrawString("Artikel", font2, Brushes.Black, einzug, nextposition + 20);
|
||||
nextposition += 20 + (int)height_font1;
|
||||
g.DrawString("Rekl/NW/Stand/Inv", font3, Brushes.Black, bitmap.Width - g.MeasureString("Rekl/NW/Stand/Inv", font3).Width, nextposition + 10);
|
||||
nextposition += (int)height_font2;
|
||||
nextposition += 20 + (int)height_font2;
|
||||
|
||||
foreach (var kvp in dictionary)
|
||||
switch (dictionary)
|
||||
{
|
||||
KundeArtikel kndart = KundeArtikel.GetItem(kvp.Key);
|
||||
Artikel _artikel = Artikel.GetArtikel(null, kndart.ArtikelID);
|
||||
string artikelKey = _artikel.Bezeichnung; // z.B. "ART1"
|
||||
int[] artbestand = kvp.Value; // z.B. [3, 0, 5]
|
||||
string shortName = _artikel.Short;
|
||||
float bestandWidth = g.MeasureString($"{artbestand[0].ToString()}/{artbestand[1].ToString()}/({artbestand[2].ToString()})/{artbestand[3].ToString()}", font3).Width;
|
||||
g.DrawString($"{shortName}", font3, Brushes.Black, einzug, nextposition);
|
||||
if (artbestand[2] < 0) g.DrawString($"{artbestand[0].ToString()}/{artbestand[1].ToString()}/({artbestand[2].ToString()})/{artbestand[3].ToString()}", font3, Brushes.Black, bitmap.Width - bestandWidth - 10, nextposition);
|
||||
else g.DrawString($"{artbestand[0].ToString()}/{artbestand[1].ToString()}/{artbestand[2].ToString()}/{artbestand[3].ToString()}", font3, Brushes.Black, bitmap.Width - bestandWidth - 10, nextposition);
|
||||
nextposition += (int)height_font1;
|
||||
case Dictionary<int, int> dictInt:
|
||||
g.DrawString("REKL", font2, Brushes.Black, bitmap.Width - g.MeasureString("REKL", font2).Width, nextposition);
|
||||
nextposition += (int)height_font2;
|
||||
foreach (var kvp in dictInt)
|
||||
{
|
||||
KundeArtikel kndart = KundeArtikel.GetItem(kvp.Key);
|
||||
Artikel _artikel = Artikel.GetArtikel(null, kndart.ArtikelID);
|
||||
string artikelKey = _artikel.Bezeichnung; // z.B. "ART1"
|
||||
int reklAnzahl = kvp.Value; // z.B. [3, 0, 5]
|
||||
string shortName = _artikel.Short;
|
||||
float bestandWidth = g.MeasureString($"{reklAnzahl}", font2).Width;
|
||||
g.DrawString($"{shortName}", font2, Brushes.Black, einzug, nextposition);
|
||||
nextposition += (int)height_font2;
|
||||
g.DrawString($"{reklAnzahl}", font2, Brushes.Black, bitmap.Width - bestandWidth, nextposition);
|
||||
nextposition += (int)height_font2;
|
||||
}
|
||||
break;
|
||||
case Dictionary<int, int[]> dictArray:
|
||||
g.DrawString("IST/SOLL", font2, Brushes.Black, bitmap.Width - g.MeasureString("IST/SOLL", font2).Width, nextposition);
|
||||
nextposition += (int)height_font2;
|
||||
foreach (var kvp in dictArray)
|
||||
{
|
||||
KundeArtikel kndart = KundeArtikel.GetItem(kvp.Key);
|
||||
Artikel _artikel = Artikel.GetArtikel(null, kndart.ArtikelID);
|
||||
string artikelKey = _artikel.Bezeichnung; // z.B. "ART1"
|
||||
int[] artbestand = kvp.Value; // z.B. [3, 0, 5]
|
||||
int ist = artbestand[0] + artbestand[1];
|
||||
if (ist == 0 & artbestand[2] == 0) ist = artbestand[3];
|
||||
string shortName = _artikel.Short;
|
||||
float bestandWidth = g.MeasureString($"{ist}/({artbestand[2]})", font2).Width;
|
||||
g.DrawString($"{shortName}", font2, Brushes.Black, einzug, nextposition);
|
||||
nextposition += (int)height_font2;
|
||||
if (artbestand[2] < 0) g.DrawString($"{ist}/({artbestand[2]})", font2, Brushes.Black, bitmap.Width - bestandWidth - 10, nextposition);
|
||||
else g.DrawString($"{ist}/{artbestand[2]}", font2, Brushes.Black, bitmap.Width - bestandWidth, nextposition);
|
||||
nextposition += (int)height_font2;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentException("Unbekannter Dictionary-Typ übergeben.");
|
||||
}
|
||||
|
||||
|
||||
|
||||
Image img = bitmap;
|
||||
return img;
|
||||
}
|
||||
public static DialogResult SonderEtikett_Drucken(Auftrag auftrag, Dictionary<int, int[]> dictionary)
|
||||
public static DialogResult SonderEtikett_Drucken(int kundeID, object dictionary)
|
||||
{
|
||||
_auftrag = auftrag;
|
||||
_dictionary = dictionary;
|
||||
int x = auftrag.ContainerClean;
|
||||
KundeID = kundeID;
|
||||
//int x = auftrag.ContainerClean;
|
||||
|
||||
PrintDialog dialog = new PrintDialog();
|
||||
PrintPreviewDialog preview = new PrintPreviewDialog();
|
||||
@ -1165,7 +1191,7 @@ namespace Deckungsbeitrag
|
||||
if (!printDocument.PrinterSettings.PrinterName.Contains(Properties.Settings.Default.Etikett_Drucker)) printDocument.DefaultPageSettings.PaperSize = new PaperSize("Etikett-Custom", 29, 90);
|
||||
|
||||
dialog.Document = printDocument;
|
||||
dialog.Document.DocumentName = "SonderEtikett";
|
||||
dialog.Document.DocumentName = "Sonder";
|
||||
|
||||
printDocument.Print();
|
||||
|
||||
@ -1204,7 +1230,7 @@ namespace Deckungsbeitrag
|
||||
if (sender.ToString().Contains("Sonder"))
|
||||
{
|
||||
if (!inPreview) printed = true;
|
||||
e.Graphics.DrawImage(SonderEtikett_Entwurf(_auftrag, _dictionary), e.PageBounds);
|
||||
e.Graphics.DrawImage(SonderEtikett_Entwurf(KundeID, _dictionary), e.PageBounds);
|
||||
}
|
||||
if (sender.ToString().Contains("TourenListe"))
|
||||
{
|
||||
@ -1500,7 +1526,6 @@ namespace Deckungsbeitrag
|
||||
chart1.ChartAreas[0].Position = new ElementPosition(0, 8, 100, 92);
|
||||
|
||||
// Gesamtmenge als einzelne Säule (links oder transparent)
|
||||
//TODO: Gesamt soll immer 100% sein.
|
||||
var serieGesamt = new Series("Gesamtmenge")
|
||||
{
|
||||
ChartType = SeriesChartType.StackedBar100,
|
||||
|
||||
@ -97,7 +97,7 @@ namespace DatenDB
|
||||
List<KundeArtikel> resultList = new List<KundeArtikel>();
|
||||
NpgsqlCommand command = new NpgsqlCommand();
|
||||
command.Connection = DatenbankConnection.GetConnection();
|
||||
if (!string.IsNullOrWhiteSpace(kundeid)) command.CommandText = $"select {COLUMNS} from {TABLE} where kunde_id = {kundeid} order by reihung asc";
|
||||
if (!string.IsNullOrWhiteSpace(kundeid)) command.CommandText = $"select {COLUMNS} from {TABLE} where kunde_id = {kundeid} and SUBSTRING(artikel_nr::text, 1, 1) = '6' order by reihung asc";
|
||||
else command.CommandText = $"select {COLUMNS} from {TABLE} where artikel_id = {artikelID} order by artikel_nr";
|
||||
NpgsqlDataReader reader = command.ExecuteReader();
|
||||
while (reader.Read()) resultList.Add(new KundeArtikel(reader));
|
||||
|
||||
88
Program.cs
88
Program.cs
@ -42,71 +42,87 @@ namespace Deckungsbeitrag
|
||||
[DllImport("user32.dll")]
|
||||
private static extern int GetSystemMetrics(int nIndex);
|
||||
|
||||
[DllImport("user32.dll", SetLastError = true)]
|
||||
private static extern uint GetRawInputDeviceList(IntPtr pRawInputDeviceList, ref uint puiNumDevices, uint cbSize);
|
||||
|
||||
private const int SM_DIGITIZER = 94;
|
||||
private const int SM_MAXIMUMTOUCHES = 95;
|
||||
private const int SM_CONVERTIBLESLATEMODE = 125;
|
||||
private const int RIM_TYPEKEYBOARD = 1;
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
private struct RAWINPUTDEVICELIST
|
||||
{
|
||||
public IntPtr hDevice;
|
||||
public uint dwType;
|
||||
}
|
||||
|
||||
public static readonly bool HasTouchHardware = (GetSystemMetrics(SM_DIGITIZER) & 0x80) != 0;
|
||||
public static readonly int TouchPoints = GetSystemMetrics(SM_MAXIMUMTOUCHES);
|
||||
public static readonly bool IsTabletMode = GetSystemMetrics(SM_CONVERTIBLESLATEMODE) == 1;
|
||||
|
||||
/// <summary>
|
||||
/// **Hauptmethode**: Touch FUNKTIONIERT (Hardware + aktiviert)
|
||||
/// </summary>
|
||||
public static bool IsTouchActive()
|
||||
{
|
||||
// 1. Registry: TouchGate = 0 → deaktiviert
|
||||
if (IsRegistryDisabled()) return false;
|
||||
|
||||
// 2. TouchPoints > 0 UND System sagt "Touch ready"
|
||||
if (TouchPoints <= 0) return false;
|
||||
|
||||
// 3. Windows Touch-Session aktiv? (SM_DIGITIZER bits)
|
||||
int digitizer = GetSystemMetrics(SM_DIGITIZER);
|
||||
bool touchReady = (digitizer & 0x00000001) != 0; // Integrated touch?
|
||||
bool touchReady = (digitizer & 0x00000001) != 0;
|
||||
bool penReady = (digitizer & 0x00000002) != 0;
|
||||
|
||||
return touchReady || penReady;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Vollständig einsatzbereit
|
||||
/// </summary>
|
||||
public static bool IsTouchDeviceReady() => HasTouchHardware && IsTouchActive();
|
||||
|
||||
/// <summary>
|
||||
/// Registry-Status
|
||||
/// </summary>
|
||||
private static bool IsRegistryDisabled()
|
||||
// Prüft, ob ein Gerät vom Typ "Tastatur" vom System registriert ist
|
||||
public static bool IsPhysicalKeyboardPresent()
|
||||
{
|
||||
RegistryKey key = null;
|
||||
uint deviceCount = 0;
|
||||
uint size = (uint)Marshal.SizeOf(typeof(RAWINPUTDEVICELIST));
|
||||
|
||||
if (GetRawInputDeviceList(IntPtr.Zero, ref deviceCount, size) != 0)
|
||||
return false;
|
||||
|
||||
IntPtr pDevices = Marshal.AllocHGlobal((int)(size * deviceCount));
|
||||
|
||||
try
|
||||
{
|
||||
key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Wisp\TouchGate");
|
||||
if (key != null)
|
||||
if (GetRawInputDeviceList(pDevices, ref deviceCount, size) == uint.MaxValue)
|
||||
return false;
|
||||
|
||||
for (int i = 0; i < deviceCount; i++)
|
||||
{
|
||||
object value = key.GetValue("TouchGate");
|
||||
if (value != null && Convert.ToInt32(value) == 0)
|
||||
RAWINPUTDEVICELIST device = (RAWINPUTDEVICELIST)Marshal.PtrToStructure(
|
||||
new IntPtr(pDevices.ToInt64() + (size * i)), typeof(RAWINPUTDEVICELIST));
|
||||
|
||||
if (device.dwType == RIM_TYPEKEYBOARD)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (key != null) key.Close();
|
||||
Marshal.FreeHGlobal(pDevices);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/// <summary>
|
||||
/// Debug-Status
|
||||
/// </summary>
|
||||
|
||||
private static bool IsRegistryDisabled()
|
||||
{
|
||||
using (RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Wisp\TouchGate"))
|
||||
{
|
||||
if (key != null)
|
||||
{
|
||||
object value = key.GetValue("TouchGate");
|
||||
return value != null && Convert.ToInt32(value) == 0;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static string GetStatus()
|
||||
{
|
||||
int digitizer = GetSystemMetrics(SM_DIGITIZER);
|
||||
return $"Hardware: {HasTouchHardware}, Active: {IsTouchActive()}, Points: {TouchPoints}, RegistryDisabled: {IsRegistryDisabled()}, Digitizer: 0x{digitizer:X}";
|
||||
return $"Hardware: {HasTouchHardware}, TouchActive: {IsTouchActive()}, Keyboard: {IsPhysicalKeyboardPresent()}, Points: {TouchPoints}, TabletMode: {IsTabletMode}";
|
||||
}
|
||||
}
|
||||
static class Program
|
||||
@ -123,12 +139,14 @@ namespace Deckungsbeitrag
|
||||
//public static string vaultPath = @"N:\TECHNIK\Software\Wirl-Verwaltung\Feedback";
|
||||
private static readonly string savePath = ConfigurationManager.AppSettings["DateiSavePfad"];
|
||||
private static readonly bool istest = false;
|
||||
public static bool istTouch = TouchHelper.IsTouchDeviceReady();
|
||||
public static bool hatTastatur = TouchHelper.IsPhysicalKeyboardPresent();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Der Haupteinstiegspunkt für die Anwendung.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
/// <summary>
|
||||
/// Der Haupteinstiegspunkt für die Anwendung.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
userid = ConfigurationManager.AppSettings["ConnectionString"].Split(';')[0];
|
||||
|
||||
@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
||||
//
|
||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// indem Sie "*" wie unten gezeigt eingeben:
|
||||
[assembly: AssemblyVersion("1.1.0.7")]
|
||||
[assembly: AssemblyFileVersion("1.1.0.7")]
|
||||
[assembly: AssemblyVersion("1.1.0.8")]
|
||||
[assembly: AssemblyFileVersion("1.1.0.8")]
|
||||
|
||||
@ -34,37 +34,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"OwnerKey" = "8:_A41FC3BFD0E1CE905FCB1693E99348B8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"OwnerKey" = "8:_C92C21BE3984A4EC1BCD3A988C56652E"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"OwnerKey" = "8:_4E92FDDD15B89BB89053E8A65FA73EAA"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"OwnerKey" = "8:_EF6D58F917144384701E1DBDFB979BD8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"OwnerKey" = "8:_8E444A9D7B7F9420CF44964B1EAE9AAA"
|
||||
"OwnerKey" = "8:_99A1851DAB14095B2C6FFF6100D312B7"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@ -76,7 +46,37 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"OwnerKey" = "8:_99A1851DAB14095B2C6FFF6100D312B7"
|
||||
"OwnerKey" = "8:_8E444A9D7B7F9420CF44964B1EAE9AAA"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"OwnerKey" = "8:_EF6D58F917144384701E1DBDFB979BD8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"OwnerKey" = "8:_4E92FDDD15B89BB89053E8A65FA73EAA"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"OwnerKey" = "8:_C92C21BE3984A4EC1BCD3A988C56652E"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"OwnerKey" = "8:_A41FC3BFD0E1CE905FCB1693E99348B8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@ -124,31 +124,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_4C0EEC06451FEA61E39F79681578838C"
|
||||
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_4C0EEC06451FEA61E39F79681578838C"
|
||||
"OwnerKey" = "8:_A41FC3BFD0E1CE905FCB1693E99348B8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_4C0EEC06451FEA61E39F79681578838C"
|
||||
"OwnerKey" = "8:_C92C21BE3984A4EC1BCD3A988C56652E"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_4C0EEC06451FEA61E39F79681578838C"
|
||||
"OwnerKey" = "8:_4E92FDDD15B89BB89053E8A65FA73EAA"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_4C0EEC06451FEA61E39F79681578838C"
|
||||
"OwnerKey" = "8:_EF6D58F917144384701E1DBDFB979BD8"
|
||||
"OwnerKey" = "8:_8A953E0634B8757038749C9F77062056"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@ -160,7 +136,31 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_4C0EEC06451FEA61E39F79681578838C"
|
||||
"OwnerKey" = "8:_8A953E0634B8757038749C9F77062056"
|
||||
"OwnerKey" = "8:_EF6D58F917144384701E1DBDFB979BD8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_4C0EEC06451FEA61E39F79681578838C"
|
||||
"OwnerKey" = "8:_4E92FDDD15B89BB89053E8A65FA73EAA"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_4C0EEC06451FEA61E39F79681578838C"
|
||||
"OwnerKey" = "8:_C92C21BE3984A4EC1BCD3A988C56652E"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_4C0EEC06451FEA61E39F79681578838C"
|
||||
"OwnerKey" = "8:_A41FC3BFD0E1CE905FCB1693E99348B8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_4C0EEC06451FEA61E39F79681578838C"
|
||||
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@ -214,13 +214,13 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_65AC8F9F13B5E0ADCA662A6618010328"
|
||||
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
||||
"OwnerKey" = "8:_125834DE4128EDE3F82BFC1A45B2ACD9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_65AC8F9F13B5E0ADCA662A6618010328"
|
||||
"OwnerKey" = "8:_125834DE4128EDE3F82BFC1A45B2ACD9"
|
||||
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@ -268,19 +268,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_8A953E0634B8757038749C9F77062056"
|
||||
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_8A953E0634B8757038749C9F77062056"
|
||||
"OwnerKey" = "8:_D3E738B1E9D7C3C737CDD91DCC4DC37B"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_8A953E0634B8757038749C9F77062056"
|
||||
"OwnerKey" = "8:_125834DE4128EDE3F82BFC1A45B2ACD9"
|
||||
"OwnerKey" = "8:_8E444A9D7B7F9420CF44964B1EAE9AAA"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@ -292,7 +280,19 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_8A953E0634B8757038749C9F77062056"
|
||||
"OwnerKey" = "8:_8E444A9D7B7F9420CF44964B1EAE9AAA"
|
||||
"OwnerKey" = "8:_125834DE4128EDE3F82BFC1A45B2ACD9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_8A953E0634B8757038749C9F77062056"
|
||||
"OwnerKey" = "8:_D3E738B1E9D7C3C737CDD91DCC4DC37B"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_8A953E0634B8757038749C9F77062056"
|
||||
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@ -346,37 +346,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
"OwnerKey" = "8:_A41FC3BFD0E1CE905FCB1693E99348B8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
"OwnerKey" = "8:_C92C21BE3984A4EC1BCD3A988C56652E"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
"OwnerKey" = "8:_4E92FDDD15B89BB89053E8A65FA73EAA"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
"OwnerKey" = "8:_8E444A9D7B7F9420CF44964B1EAE9AAA"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
"OwnerKey" = "8:_EF6D58F917144384701E1DBDFB979BD8"
|
||||
"OwnerKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@ -388,7 +358,37 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
"OwnerKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"OwnerKey" = "8:_EF6D58F917144384701E1DBDFB979BD8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
"OwnerKey" = "8:_8E444A9D7B7F9420CF44964B1EAE9AAA"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
"OwnerKey" = "8:_4E92FDDD15B89BB89053E8A65FA73EAA"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
"OwnerKey" = "8:_C92C21BE3984A4EC1BCD3A988C56652E"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
"OwnerKey" = "8:_A41FC3BFD0E1CE905FCB1693E99348B8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@ -400,7 +400,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_C2D67A4770D262B66069252CF1E903CF"
|
||||
"OwnerKey" = "8:_D3E738B1E9D7C3C737CDD91DCC4DC37B"
|
||||
"OwnerKey" = "8:_125834DE4128EDE3F82BFC1A45B2ACD9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@ -412,7 +412,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_C2D67A4770D262B66069252CF1E903CF"
|
||||
"OwnerKey" = "8:_125834DE4128EDE3F82BFC1A45B2ACD9"
|
||||
"OwnerKey" = "8:_D3E738B1E9D7C3C737CDD91DCC4DC37B"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@ -436,13 +436,13 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_E637243CDA02D043DD2BAED063790F80"
|
||||
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
||||
"OwnerKey" = "8:_EF6D58F917144384701E1DBDFB979BD8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_E637243CDA02D043DD2BAED063790F80"
|
||||
"OwnerKey" = "8:_EF6D58F917144384701E1DBDFB979BD8"
|
||||
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@ -466,157 +466,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_848FCB2438E4DBC274C4D124CEB9562C"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_16723AF5DFDEF26FC6A07BEB7D389737"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_65845AF9470C67B4E2216A46EFF4246C"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_D3E738B1E9D7C3C737CDD91DCC4DC37B"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_A41FC3BFD0E1CE905FCB1693E99348B8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_C92C21BE3984A4EC1BCD3A988C56652E"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_2DE2024BE0845063AAE50C820ED805AE"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_BDDC042CD8ACEF57F35D002490214D33"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_125834DE4128EDE3F82BFC1A45B2ACD9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_EF6D58F917144384701E1DBDFB979BD8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_65AC8F9F13B5E0ADCA662A6618010328"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_4E92FDDD15B89BB89053E8A65FA73EAA"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_8E444A9D7B7F9420CF44964B1EAE9AAA"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_99A1851DAB14095B2C6FFF6100D312B7"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_1B916DE951F447CD3C62E7AEBE228A3F"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_C2D67A4770D262B66069252CF1E903CF"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_8A953E0634B8757038749C9F77062056"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_17ABCA3C569C9181F3FE3A46B8638164"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_4C0EEC06451FEA61E39F79681578838C"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_E637243CDA02D043DD2BAED063790F80"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_70C791195E1E3B637AE8CB0DE5BB4EFB"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_0014568666DC36A67BD4258FEDAE4805"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_8208B2126E1B253A2E427D55D4E5F13A"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_A2FA7AC58F6A16AB132434F8A00EA507"
|
||||
"OwnerKey" = "8:_5CDE0A18B0E8657CBCF9143673DB464A"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@ -628,7 +478,157 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_5CDE0A18B0E8657CBCF9143673DB464A"
|
||||
"OwnerKey" = "8:_A2FA7AC58F6A16AB132434F8A00EA507"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_8208B2126E1B253A2E427D55D4E5F13A"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_0014568666DC36A67BD4258FEDAE4805"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_70C791195E1E3B637AE8CB0DE5BB4EFB"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_E637243CDA02D043DD2BAED063790F80"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_4C0EEC06451FEA61E39F79681578838C"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_0B016AD02A79C43C243D615B3AD40570"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_17ABCA3C569C9181F3FE3A46B8638164"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_8A953E0634B8757038749C9F77062056"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_C2D67A4770D262B66069252CF1E903CF"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_1B916DE951F447CD3C62E7AEBE228A3F"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_99A1851DAB14095B2C6FFF6100D312B7"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_8E444A9D7B7F9420CF44964B1EAE9AAA"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_4E92FDDD15B89BB89053E8A65FA73EAA"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_65AC8F9F13B5E0ADCA662A6618010328"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_EF6D58F917144384701E1DBDFB979BD8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_125834DE4128EDE3F82BFC1A45B2ACD9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_BDDC042CD8ACEF57F35D002490214D33"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_2DE2024BE0845063AAE50C820ED805AE"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_C92C21BE3984A4EC1BCD3A988C56652E"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_A41FC3BFD0E1CE905FCB1693E99348B8"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_D3E738B1E9D7C3C737CDD91DCC4DC37B"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_65845AF9470C67B4E2216A46EFF4246C"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_16723AF5DFDEF26FC6A07BEB7D389737"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_848FCB2438E4DBC274C4D124CEB9562C"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
}
|
||||
@ -733,11 +733,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:AForge.Video, Version=2.2.5.0, Culture=neutral, PublicKeyToken=cbfb6e07d173c401, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_0014568666DC36A67BD4258FEDAE4805"
|
||||
{
|
||||
"Name" = "8:AForge.Video.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:AForge.Video.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -764,11 +759,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.Memory, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_0B016AD02A79C43C243D615B3AD40570"
|
||||
{
|
||||
"Name" = "8:System.Memory.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.Memory.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -795,11 +785,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:Npgsql, Version=4.1.14.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_125834DE4128EDE3F82BFC1A45B2ACD9"
|
||||
{
|
||||
"Name" = "8:Npgsql.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:Npgsql.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -826,11 +811,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:zxing.presentation, Version=0.16.11.0, Culture=neutral, PublicKeyToken=4e88037ac681fe60, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_16723AF5DFDEF26FC6A07BEB7D389737"
|
||||
{
|
||||
"Name" = "8:zxing.presentation.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:zxing.presentation.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -857,11 +837,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:HarfBuzzSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_17ABCA3C569C9181F3FE3A46B8638164"
|
||||
{
|
||||
"Name" = "8:HarfBuzzSharp.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:HarfBuzzSharp.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -888,11 +863,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:Microsoft.Bcl.HashCode, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_1B916DE951F447CD3C62E7AEBE228A3F"
|
||||
{
|
||||
"Name" = "8:Microsoft.Bcl.HashCode.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:Microsoft.Bcl.HashCode.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -919,11 +889,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:Spire.Barcode, Version=7.4.1.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_2DE2024BE0845063AAE50C820ED805AE"
|
||||
{
|
||||
"Name" = "8:Spire.Barcode.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:Spire.Barcode.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -970,11 +935,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.Runtime.CompilerServices.Unsafe, Version=6.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_4C0EEC06451FEA61E39F79681578838C"
|
||||
{
|
||||
"Name" = "8:System.Runtime.CompilerServices.Unsafe.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.Runtime.CompilerServices.Unsafe.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1001,11 +961,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.Text.Encodings.Web, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_4E92FDDD15B89BB89053E8A65FA73EAA"
|
||||
{
|
||||
"Name" = "8:System.Text.Encodings.Web.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.Text.Encodings.Web.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1052,11 +1007,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.Net.Sockets, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_5CDE0A18B0E8657CBCF9143673DB464A"
|
||||
{
|
||||
"Name" = "8:System.Net.Sockets.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.Net.Sockets.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1083,11 +1033,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:zxing, Version=0.16.11.0, Culture=neutral, PublicKeyToken=4e88037ac681fe60, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_65845AF9470C67B4E2216A46EFF4246C"
|
||||
{
|
||||
"Name" = "8:zxing.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:zxing.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1114,11 +1059,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_65AC8F9F13B5E0ADCA662A6618010328"
|
||||
{
|
||||
"Name" = "8:System.ValueTuple.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.ValueTuple.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1145,11 +1085,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.Runtime.InteropServices.RuntimeInformation, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_6A4E9AB7C92A8099AD635862468BFCBE"
|
||||
{
|
||||
"Name" = "8:System.Runtime.InteropServices.RuntimeInformation.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.Runtime.InteropServices.RuntimeInformation.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1176,11 +1111,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:AForge.Video.DirectShow, Version=2.2.5.0, Culture=neutral, PublicKeyToken=61ea4348d43881b7, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_70C791195E1E3B637AE8CB0DE5BB4EFB"
|
||||
{
|
||||
"Name" = "8:AForge.Video.DirectShow.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:AForge.Video.DirectShow.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1207,11 +1137,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:AForge, Version=2.2.5.0, Culture=neutral, PublicKeyToken=c1db6ff4eaa06aeb, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_8208B2126E1B253A2E427D55D4E5F13A"
|
||||
{
|
||||
"Name" = "8:AForge.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:AForge.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1238,11 +1163,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:VirtualKeyboard, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_848FCB2438E4DBC274C4D124CEB9562C"
|
||||
{
|
||||
"Name" = "8:VirtualKeyboard.exe"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:VirtualKeyboard.exe"
|
||||
"TargetName" = "8:"
|
||||
@ -1269,11 +1189,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.Threading.Tasks.Extensions, Version=4.2.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_8A953E0634B8757038749C9F77062056"
|
||||
{
|
||||
"Name" = "8:System.Threading.Tasks.Extensions.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.Threading.Tasks.Extensions.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1300,11 +1215,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.IO.Pipelines, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_8E444A9D7B7F9420CF44964B1EAE9AAA"
|
||||
{
|
||||
"Name" = "8:System.IO.Pipelines.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.IO.Pipelines.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1331,11 +1241,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_99A1851DAB14095B2C6FFF6100D312B7"
|
||||
{
|
||||
"Name" = "8:Microsoft.Extensions.Logging.Abstractions.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:Microsoft.Extensions.Logging.Abstractions.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1362,11 +1267,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_A2FA7AC58F6A16AB132434F8A00EA507"
|
||||
{
|
||||
"Name" = "8:System.Net.Http.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.Net.Http.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1393,11 +1293,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.Diagnostics.DiagnosticSource, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_A41FC3BFD0E1CE905FCB1693E99348B8"
|
||||
{
|
||||
"Name" = "8:System.Diagnostics.DiagnosticSource.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.Diagnostics.DiagnosticSource.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1424,11 +1319,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:ObjectListView, Version=2.9.3.0, Culture=neutral, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_BDDC042CD8ACEF57F35D002490214D33"
|
||||
{
|
||||
"Name" = "8:ObjectListView.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:ObjectListView.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1455,11 +1345,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.Buffers, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_C025D526FF076AA8036CB8B1A2BD888E"
|
||||
{
|
||||
"Name" = "8:System.Buffers.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.Buffers.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1486,11 +1371,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_C2D67A4770D262B66069252CF1E903CF"
|
||||
{
|
||||
"Name" = "8:Microsoft.Bcl.AsyncInterfaces.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:Microsoft.Bcl.AsyncInterfaces.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1517,11 +1397,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.Collections.Immutable, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_C92C21BE3984A4EC1BCD3A988C56652E"
|
||||
{
|
||||
"Name" = "8:System.Collections.Immutable.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.Collections.Immutable.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1548,11 +1423,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.Threading.Channels, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_D3E738B1E9D7C3C737CDD91DCC4DC37B"
|
||||
{
|
||||
"Name" = "8:System.Threading.Channels.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.Threading.Channels.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1579,11 +1449,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.Numerics.Vectors, Version=4.1.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_E637243CDA02D043DD2BAED063790F80"
|
||||
{
|
||||
"Name" = "8:System.Numerics.Vectors.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.Numerics.Vectors.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1610,11 +1475,6 @@
|
||||
"AssemblyAsmDisplayName" = "8:System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_EF6D58F917144384701E1DBDFB979BD8"
|
||||
{
|
||||
"Name" = "8:System.Text.Json.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.Text.Json.dll"
|
||||
"TargetName" = "8:"
|
||||
@ -1690,15 +1550,15 @@
|
||||
{
|
||||
"Name" = "8:Microsoft Visual Studio"
|
||||
"ProductName" = "8:SetupVerwaltung"
|
||||
"ProductCode" = "8:{6D13C83E-FAD0-4B29-BBEC-E1ABCEAAFB03}"
|
||||
"PackageCode" = "8:{32CA7B7D-CFC8-41EA-A986-11D890FE499A}"
|
||||
"ProductCode" = "8:{A52B48F7-18F7-4B26-87AF-63C7BADA67C1}"
|
||||
"PackageCode" = "8:{A8177456-8491-4BFE-ADEF-5DA58C61D3D4}"
|
||||
"UpgradeCode" = "8:{2DC7CE56-8D1C-42EB-B326-2E887EBB7F5A}"
|
||||
"AspNetVersion" = "8:"
|
||||
"RestartWWWService" = "11:FALSE"
|
||||
"RemovePreviousVersions" = "11:TRUE"
|
||||
"DetectNewerInstalledVersion" = "11:TRUE"
|
||||
"InstallAllUsers" = "11:FALSE"
|
||||
"ProductVersion" = "8:1.1.07"
|
||||
"ProductVersion" = "8:1.1.08"
|
||||
"Manufacturer" = "8:Kilian Wirl GmbH"
|
||||
"ARPHELPTELEPHONE" = "8:"
|
||||
"ARPHELPLINK" = "8:"
|
||||
|
||||
@ -59,7 +59,6 @@ namespace Deckungsbeitrag.UserControls
|
||||
bildDateiname = $"feedback-{timestamp}.png";
|
||||
|
||||
string bildPath = Path.Combine("N:\\TECHNIK\\Software\\Wirl-Verwaltung\\Feedback", bildDateiname);
|
||||
//TODO: Warum der falsche Path? Immer mit \\
|
||||
|
||||
string tempPath = Path.Combine(Path.GetTempPath(), Path.GetFileName(bildPath));
|
||||
try
|
||||
|
||||
@ -220,7 +220,7 @@ namespace Deckungsbeitrag.UserControls
|
||||
this.auftrag.Liefertag = dTPLieferDat.Value;
|
||||
foreach (DataGridViewRow row in this.dGArtikel.Rows)
|
||||
{
|
||||
// KundeArtikel updaten. Neuen Stand eintragen, Reklamation & Fehlmenge auf Null setzten und Korrektur als InventruAusgleich speichern.
|
||||
// KundeArtikel updaten. Neuen Stand eintragen, Reklamation & Fehlmenge auf Null setzten und Korrektur als InventurAusgleich speichern.
|
||||
KundeArtikel art = (KundeArtikel)artikelListe[row.Index];
|
||||
|
||||
art.Reklamation = 0;
|
||||
@ -468,6 +468,7 @@ namespace Deckungsbeitrag.UserControls
|
||||
DataGridView_GetNewSize(this.dGArtikel);
|
||||
this.buttonFreigeben.Visible = true;
|
||||
this.labelInvText.Visible = false;
|
||||
if (this.user.Rolle == BenutzerRolle.Verwaltung || this.user.Rolle == BenutzerRolle.Admin) Tosave = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -485,11 +486,10 @@ namespace Deckungsbeitrag.UserControls
|
||||
if (row.Cells[j].Value == null) row.Cells[j].Value = 0;
|
||||
iststand += int.TryParse(row.Cells[j].Value.ToString(), out int r) ? r : 0;
|
||||
}
|
||||
|
||||
if (e.ColumnIndex >= 7 || e.ColumnIndex == 2)
|
||||
{
|
||||
row.Cells[5].Value = sollstand - fehlmenge - iststand;
|
||||
row.Cells[6].Value = artikelListe[e.RowIndex].Korrektur = sollstand - iststand;
|
||||
row.Cells[6].Value = artikelListe[e.RowIndex].Korrektur = sollstand - iststand - fehlmenge; //DONE: INV-Ausgleich (Korrektur) = Sollstand - Iststand (Bei Kunde & Lieferungen) - fehlmenge (Reklamation & Nachwäsche)
|
||||
}
|
||||
}
|
||||
else return;
|
||||
|
||||
@ -93,5 +93,4 @@ namespace Deckungsbeitrag.UserControls
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//TODO: Design des Controls anpassen. Eventuell im Designer erstellen.
|
||||
}
|
||||
@ -1,15 +1,15 @@
|
||||
=====================================
|
||||
NEUIGKEITEN - Version 1.1.0.7
|
||||
NEUIGKEITEN - Version 1.1.0.8
|
||||
=====================================
|
||||
|
||||
Build-Info:
|
||||
- Build-Typ: Release Build
|
||||
- Erledigte TODOs: 6
|
||||
- Offene TODOs: 25
|
||||
- Install-Reminders: 1
|
||||
- Changes: 29
|
||||
- Erledigte TODOs: 7
|
||||
- Offene TODOs: 18
|
||||
- Install-Reminders: 0
|
||||
- Changes: 31
|
||||
|
||||
=== ✨ CHANGES (29) ===
|
||||
=== ✨ CHANGES (31) ===
|
||||
## ArtikelVW.cs ##
|
||||
|
||||
- ✨ Reklamation als Spalte hinzugefügt und Anzeigen implementiert. Sowohl bei KundeArtikel als auch bei NW_Artikel.
|
||||
@ -20,8 +20,10 @@ Build-Info:
|
||||
- ✨ 2. Änderungen werden nur gespeichert wenn ein Etikett gedruckt wurde.
|
||||
- ✨ 3. Abschließen nur möglich wenn alle Artikel auf 0 sind (Checked) und gespeichert wurde.
|
||||
- ✨ Bei Druckabbruch wird die geänderte Zahl NICHT zurückgesetzt. (Das muss händisch erfolgen)
|
||||
- ✨ Beim Speichern ohne Abschließen schließt sich das Fenster nach dem Speichern.
|
||||
- ✨ Wenn die reduzierte Anzahl bei SOLL-Verminderung nicht negativ ist, wird diese negativ gemacht. So wird ein möglicher Fehler ausgebessert.
|
||||
- ✨ Wenn die Zahlen zurückgesetzt werden sollen, muss AuftragDetail geschlossen werden.
|
||||
- ✨ Wenn ein Artikel vollständig hergerichtet wird, muss er nur abgehackt werden. Den Rest macht der Computer.
|
||||
|
||||
## Expedit.cs ##
|
||||
|
||||
@ -67,8 +69,7 @@ Build-Info:
|
||||
- ✨ Wenn der Lieferrhythmus geändert wird, werden KundenControls an falschen Tagen gelöscht.
|
||||
|
||||
|
||||
=== ⚙️ INSTALL-REMINDER (1) ===
|
||||
- ⚙️ DB anpassen. (Priority in Auftrag etc.) [Auftrag.cs]
|
||||
Keine Install-Reminder vorhanden ✅
|
||||
|
||||
Installation: 29.04.2026 17:53
|
||||
Installation: 05.05.2026 13:36
|
||||
=====================================
|
||||
|
||||
@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
||||
// Buildnummer
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("1.0.1.2")]
|
||||
[assembly: AssemblyFileVersion("1.0.1.2")]
|
||||
[assembly: AssemblyVersion("1.0.1.3")]
|
||||
[assembly: AssemblyFileVersion("1.0.1.3")]
|
||||
|
||||
@ -24,7 +24,7 @@ namespace VirtualKeyboard
|
||||
new Button[14], new Button[14], new Button[14], new Button[14], new Button[8]};
|
||||
// **Echtes QWERTZ-Layout** (5 Reihen + Funktion/Steuerung)
|
||||
private string[] qwertzRows = {
|
||||
" 1234567890ß⌫↵", // Ziffernreihe
|
||||
"?1234567890ß⌫↵", // Ziffernreihe
|
||||
"↔qwertzuiopü+", // Hauptbuchstaben 1 (versetzt)
|
||||
" asdfghjklöä#", // Hauptbuchstaben 2 (versetzt)
|
||||
"⇧<yxcvbnm,.-⇧", // Hauptbuchstaben 3 (Y statt Z, versetzt)
|
||||
@ -71,7 +71,6 @@ namespace VirtualKeyboard
|
||||
|
||||
private void InitializeKeyboard()
|
||||
{
|
||||
//int[] rowWidths = { 800, 800, 800, 800, 800 }; // Versetzte Reihenbreiten
|
||||
int btnHeight = 60, spacing = 4;
|
||||
int startY = 10;
|
||||
|
||||
@ -185,8 +184,8 @@ namespace VirtualKeyboard
|
||||
}
|
||||
if (isShift && char.IsLetter(ch)) ch = char.ToUpper(ch);
|
||||
|
||||
targetTextBox.Focus();
|
||||
targetTextBox.SelectionStart = targetTextBox.Text.Length;
|
||||
//targetTextBox.Focus();
|
||||
//targetTextBox.SelectionStart = targetTextBox.Text.Length;
|
||||
}
|
||||
|
||||
private void ToggleMode_Click()
|
||||
@ -229,6 +228,7 @@ namespace VirtualKeyboard
|
||||
SetupRealNumPad();
|
||||
}
|
||||
this.Refresh();
|
||||
targetTextBox.Focus();
|
||||
}
|
||||
private void HideAllQwertzButtons()
|
||||
{
|
||||
@ -243,8 +243,6 @@ namespace VirtualKeyboard
|
||||
}
|
||||
private void SetupRealNumPad()
|
||||
{
|
||||
|
||||
|
||||
int y = 10, xBase = 10, btnWidth = 70, btnHeight = 55, spacing = 8;
|
||||
if (isCalc) this.Size = new Size((btnWidth + spacing) * 4 + xBase, (btnHeight + spacing) * 5 + xBase);
|
||||
if (isNumeric) this.Size = new Size((btnWidth + spacing) * 3 + xBase, (btnHeight + spacing) * 4 + xBase);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user