Trello Implementiert, Unterbinden von 2 Instanzen, Unterbinden von Programstart nach Update.
This commit is contained in:
parent
7e25ee150a
commit
32f6702d8f
@ -54,6 +54,7 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
}
|
}
|
||||||
private void TextBoxText_Enter(object sender, EventArgs e)
|
private void TextBoxText_Enter(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
this.textBoxText.Clear();
|
||||||
this.textBoxText.SelectAll();
|
this.textBoxText.SelectAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,7 +84,7 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
{
|
{
|
||||||
MessageBox.Show("Bitte nur ganze Zahlen eingeben.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show("Bitte nur ganze Zahlen eingeben.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
e.Cancel = true;
|
e.Cancel = true;
|
||||||
this.textBoxText.SelectAll();
|
this.textBoxText.Clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
9
AA-Forms/FormAuftragDetail.Designer.cs
generated
9
AA-Forms/FormAuftragDetail.Designer.cs
generated
@ -252,7 +252,7 @@
|
|||||||
this.comboBoxPriority.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.comboBoxPriority.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.comboBoxPriority.FormattingEnabled = true;
|
this.comboBoxPriority.FormattingEnabled = true;
|
||||||
this.comboBoxPriority.Location = new System.Drawing.Point(121, 249);
|
this.comboBoxPriority.Location = new System.Drawing.Point(121, 249);
|
||||||
this.comboBoxPriority.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
this.comboBoxPriority.Margin = new System.Windows.Forms.Padding(4);
|
||||||
this.comboBoxPriority.Name = "comboBoxPriority";
|
this.comboBoxPriority.Name = "comboBoxPriority";
|
||||||
this.comboBoxPriority.Size = new System.Drawing.Size(348, 37);
|
this.comboBoxPriority.Size = new System.Drawing.Size(348, 37);
|
||||||
this.comboBoxPriority.TabIndex = 41;
|
this.comboBoxPriority.TabIndex = 41;
|
||||||
@ -263,11 +263,12 @@
|
|||||||
this.comboBoxFahrer.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.comboBoxFahrer.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.comboBoxFahrer.FormattingEnabled = true;
|
this.comboBoxFahrer.FormattingEnabled = true;
|
||||||
this.comboBoxFahrer.Location = new System.Drawing.Point(121, 192);
|
this.comboBoxFahrer.Location = new System.Drawing.Point(121, 192);
|
||||||
this.comboBoxFahrer.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
this.comboBoxFahrer.Margin = new System.Windows.Forms.Padding(4);
|
||||||
this.comboBoxFahrer.Name = "comboBoxFahrer";
|
this.comboBoxFahrer.Name = "comboBoxFahrer";
|
||||||
this.comboBoxFahrer.Size = new System.Drawing.Size(348, 37);
|
this.comboBoxFahrer.Size = new System.Drawing.Size(348, 37);
|
||||||
this.comboBoxFahrer.TabIndex = 42;
|
this.comboBoxFahrer.TabIndex = 42;
|
||||||
this.comboBoxFahrer.SelectedValueChanged += new System.EventHandler(this.ComboBox_SelectedValueChanged);
|
this.comboBoxFahrer.SelectedValueChanged += new System.EventHandler(this.ComboBox_SelectedValueChanged);
|
||||||
|
this.comboBoxFahrer.Leave += new System.EventHandler(this.ComboBoxFahrer_Leave);
|
||||||
//
|
//
|
||||||
// pictureBoxDirtMinus
|
// pictureBoxDirtMinus
|
||||||
//
|
//
|
||||||
@ -353,7 +354,7 @@
|
|||||||
this.oLVArtikel.GridLines = true;
|
this.oLVArtikel.GridLines = true;
|
||||||
this.oLVArtikel.HideSelection = false;
|
this.oLVArtikel.HideSelection = false;
|
||||||
this.oLVArtikel.Location = new System.Drawing.Point(493, 78);
|
this.oLVArtikel.Location = new System.Drawing.Point(493, 78);
|
||||||
this.oLVArtikel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
this.oLVArtikel.Margin = new System.Windows.Forms.Padding(4);
|
||||||
this.oLVArtikel.Name = "oLVArtikel";
|
this.oLVArtikel.Name = "oLVArtikel";
|
||||||
this.oLVArtikel.ShowImagesOnSubItems = true;
|
this.oLVArtikel.ShowImagesOnSubItems = true;
|
||||||
this.oLVArtikel.Size = new System.Drawing.Size(601, 521);
|
this.oLVArtikel.Size = new System.Drawing.Size(601, 521);
|
||||||
@ -375,7 +376,7 @@
|
|||||||
this.buttonKundeInfo.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.buttonKundeInfo.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.buttonKundeInfo.ForeColor = System.Drawing.Color.White;
|
this.buttonKundeInfo.ForeColor = System.Drawing.Color.White;
|
||||||
this.buttonKundeInfo.Location = new System.Drawing.Point(21, 620);
|
this.buttonKundeInfo.Location = new System.Drawing.Point(21, 620);
|
||||||
this.buttonKundeInfo.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
this.buttonKundeInfo.Margin = new System.Windows.Forms.Padding(4);
|
||||||
this.buttonKundeInfo.MinimumSize = new System.Drawing.Size(51, 50);
|
this.buttonKundeInfo.MinimumSize = new System.Drawing.Size(51, 50);
|
||||||
this.buttonKundeInfo.Name = "buttonKundeInfo";
|
this.buttonKundeInfo.Name = "buttonKundeInfo";
|
||||||
this.buttonKundeInfo.Size = new System.Drawing.Size(51, 50);
|
this.buttonKundeInfo.Size = new System.Drawing.Size(51, 50);
|
||||||
|
|||||||
@ -35,6 +35,8 @@ namespace Deckungsbeitrag
|
|||||||
bool etikettgedruckt = false;
|
bool etikettgedruckt = false;
|
||||||
bool zahlenChanged = false;
|
bool zahlenChanged = false;
|
||||||
bool infoOpen = false;
|
bool infoOpen = false;
|
||||||
|
private Saison saison = Saison.GetAktivSaison();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//WENN AUFTRAG SPEICHERN
|
//WENN AUFTRAG SPEICHERN
|
||||||
@ -83,7 +85,6 @@ namespace Deckungsbeitrag
|
|||||||
this.auftrag = auftrag;
|
this.auftrag = auftrag;
|
||||||
this.benutzer = benutzer;
|
this.benutzer = benutzer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public FormAuftragDetail(Auftrag auftrag, Benutzer benutzer, List<KundeArtikel> kndartListe) : this(auftrag, benutzer)
|
public FormAuftragDetail(Auftrag auftrag, Benutzer benutzer, List<KundeArtikel> kndartListe) : this(auftrag, benutzer)
|
||||||
{
|
{
|
||||||
this.kndartListe = kndartListe;
|
this.kndartListe = kndartListe;
|
||||||
@ -101,8 +102,10 @@ namespace Deckungsbeitrag
|
|||||||
this.labelContainer.Text = auftrag.ContainerClean.ToString();
|
this.labelContainer.Text = auftrag.ContainerClean.ToString();
|
||||||
this.labelContDirt.Text = auftrag.Container.ToString();
|
this.labelContDirt.Text = auftrag.Container.ToString();
|
||||||
this.textBoxZusatz.Text = $"{auftrag.ZusatzInfo}\n{this.kunde.Anmerkung}\n{Aufgabe.GetAufgabe(null, this.kunde.Aufgabe).Bezeichnung}";
|
this.textBoxZusatz.Text = $"{auftrag.ZusatzInfo}\n{this.kunde.Anmerkung}\n{Aufgabe.GetAufgabe(null, this.kunde.Aufgabe).Bezeichnung}";
|
||||||
if (auftrag.Fahrer == null) this.comboBoxFahrer.SelectedIndex = -1;
|
//if (auftrag.Fahrer == null) this.comboBoxFahrer.SelectedIndex = -1;
|
||||||
else this.comboBoxFahrer.SelectedValue = auftrag.Fahrer;
|
//else this.comboBoxFahrer.SelectedValue = auftrag.Fahrer;
|
||||||
|
if (auftrag.TourID == null) this.comboBoxFahrer.SelectedIndex = -1;
|
||||||
|
else this.comboBoxFahrer.SelectedValue = auftrag.TourID;
|
||||||
this.comboBoxPriority.SelectedItem = auftrag.Priority;
|
this.comboBoxPriority.SelectedItem = auftrag.Priority;
|
||||||
|
|
||||||
// Events nach dem Laden der Daten wieder den ComboBoxen zuweisen.
|
// Events nach dem Laden der Daten wieder den ComboBoxen zuweisen.
|
||||||
@ -113,15 +116,16 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
case AuftragTyp.Inventur:
|
case AuftragTyp.Inventur:
|
||||||
{
|
{
|
||||||
if (this.auftrag.Status == AuftragStatus.Herrichten) Load_OLV();
|
Load_OLV();
|
||||||
else
|
//if (this.auftrag.Status == AuftragStatus.Herrichten) Load_OLV();
|
||||||
{
|
//else
|
||||||
if (this.auftrag.Status == AuftragStatus.Warten)
|
//{
|
||||||
{
|
// if (this.auftrag.Status == AuftragStatus.Warten)
|
||||||
buttonFertig.Visible = false; //TODO: Speichern der Inventur prüfen wenn Button nicht Visible ist.
|
// {
|
||||||
Load_UCInventur(this.auftrag);
|
// buttonFertig.Visible = false; //TODO: Speichern der Inventur prüfen wenn Button nicht Visible ist.
|
||||||
}
|
// Load_UCInventur(this.auftrag);
|
||||||
}
|
// }
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case AuftragTyp.SOLL_Erhoehung: Load_OLV();
|
case AuftragTyp.SOLL_Erhoehung: Load_OLV();
|
||||||
@ -210,9 +214,14 @@ namespace Deckungsbeitrag
|
|||||||
this.comboBoxFahrer.SelectedValueChanged -= ComboBox_SelectedValueChanged;
|
this.comboBoxFahrer.SelectedValueChanged -= ComboBox_SelectedValueChanged;
|
||||||
this.comboBoxPriority.SelectedValueChanged -= ComboBox_SelectedValueChanged;
|
this.comboBoxPriority.SelectedValueChanged -= ComboBox_SelectedValueChanged;
|
||||||
|
|
||||||
List<Benutzer> benutzerliste = Benutzer.GetFahrerList();
|
List<Tour> liste = Tour.GetSaisonListe(saison);
|
||||||
this.comboBoxFahrer.DataSource = benutzerliste;
|
this.comboBoxFahrer.DataSource = liste;
|
||||||
this.comboBoxFahrer.ValueMember = "BenutzerName";
|
this.comboBoxFahrer.DisplayMember = "Bezeichnung";
|
||||||
|
this.comboBoxFahrer.ValueMember = "TourID";
|
||||||
|
|
||||||
|
//List<Benutzer> benutzerliste = Benutzer.GetFahrerList();
|
||||||
|
//this.comboBoxFahrer.DataSource = benutzerliste;
|
||||||
|
//this.comboBoxFahrer.ValueMember = "BenutzerName";
|
||||||
|
|
||||||
this.comboBoxPriority.DataSource = Enum.GetValues(typeof(Priority));
|
this.comboBoxPriority.DataSource = Enum.GetValues(typeof(Priority));
|
||||||
}
|
}
|
||||||
@ -232,7 +241,8 @@ namespace Deckungsbeitrag
|
|||||||
auftrag.Liefertag = dTPLiefertag.Value;
|
auftrag.Liefertag = dTPLiefertag.Value;
|
||||||
auftrag.ContainerClean = int.Parse(this.labelContainer.Text);
|
auftrag.ContainerClean = int.Parse(this.labelContainer.Text);
|
||||||
auftrag.Container = int.Parse(this.labelContDirt.Text);
|
auftrag.Container = int.Parse(this.labelContDirt.Text);
|
||||||
auftrag.ArbeiterID = this.comboBoxFahrer.SelectedIndex == -1 ? null : ((Benutzer)this.comboBoxFahrer.SelectedItem).BenutzerID;
|
//auftrag.ArbeiterID = this.comboBoxFahrer.SelectedIndex == -1 ? null : ((Benutzer)this.comboBoxFahrer.SelectedItem).BenutzerID;
|
||||||
|
auftrag.TourID = this.comboBoxFahrer.SelectedIndex == -1 ? null : (int?)this.comboBoxFahrer.SelectedValue;
|
||||||
auftrag.Priority = this.comboBoxPriority.SelectedIndex == -1 ? Priority.None : ((Priority)this.comboBoxPriority.SelectedItem);
|
auftrag.Priority = this.comboBoxPriority.SelectedIndex == -1 ? Priority.None : ((Priority)this.comboBoxPriority.SelectedItem);
|
||||||
auftrag.ZusatzInfo = this.textBoxZusatz.Text;
|
auftrag.ZusatzInfo = this.textBoxZusatz.Text;
|
||||||
auftrag.Save();
|
auftrag.Save();
|
||||||
@ -251,15 +261,15 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
KundeArtikel kndart = KundeArtikel.GetItem(kvp.Key);
|
KundeArtikel kndart = KundeArtikel.GetItem(kvp.Key);
|
||||||
|
|
||||||
if (kndart.Korrektur > 0 & kvp.Value[3] > 0)
|
if (kndart.Korrektur > 0)
|
||||||
{
|
{
|
||||||
kndart.Korrektur -= kvp.Value[3];
|
kndart.Korrektur -= kvp.Value[3];
|
||||||
kndart.KorrekturBearbeitet = this.benutzer.BenutzerName + " am " + DateTime.Now.ToString();
|
kndart.KorrekturBearbeitet = this.benutzer.BenutzerName + " am " + DateTime.Now.ToString();
|
||||||
}
|
}
|
||||||
kndart.Save();
|
kndart.Save();
|
||||||
}
|
}
|
||||||
|
goto default;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
case AuftragTyp.SOLL_Verminderung:
|
case AuftragTyp.SOLL_Verminderung:
|
||||||
{
|
{
|
||||||
foreach (var kvp in dictionary)
|
foreach (var kvp in dictionary)
|
||||||
@ -420,6 +430,11 @@ namespace Deckungsbeitrag
|
|||||||
//AUFTRAG ABSCHLIESSEN
|
//AUFTRAG ABSCHLIESSEN
|
||||||
private void ButtonFertig_Click(object sender, EventArgs e)
|
private void ButtonFertig_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
if (!this.dTPLiefertag.Checked)
|
||||||
|
{
|
||||||
|
MessageBox.Show("Liefertag muss ausgewählt und angehakt werden.", "FEHLER", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (this.kndartListe != null)
|
if (this.kndartListe != null)
|
||||||
{
|
{
|
||||||
foreach (OLVListItem item in this.oLVArtikel.Items)
|
foreach (OLVListItem item in this.oLVArtikel.Items)
|
||||||
@ -527,7 +542,11 @@ namespace Deckungsbeitrag
|
|||||||
this.DialogResult = DialogResult.OK;
|
this.DialogResult = DialogResult.OK;
|
||||||
this.Close();
|
this.Close();
|
||||||
}
|
}
|
||||||
else this.Close();
|
else
|
||||||
|
{
|
||||||
|
this.DialogResult = DialogResult.OK;
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -869,6 +888,13 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
e.Cancel = true;
|
e.Cancel = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ComboBoxFahrer_Leave(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (this.comboBoxFahrer.SelectedIndex == -1) return;
|
||||||
|
Tour tour = Tour.FindeTour((int?)this.comboBoxFahrer.SelectedValue, null, null);
|
||||||
|
this.comboBoxPriority.SelectedItem = tour.Priority;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//CHANGES: 1. Es wird ab sofort nur ein Button zum Speichern und Abschließen bereitgestellt. System entscheidet was getan wird.
|
//CHANGES: 1. Es wird ab sofort nur ein Button zum Speichern und Abschließen bereitgestellt. System entscheidet was getan wird.
|
||||||
|
|||||||
622
AA-Forms/FormEinstellung.Designer.cs
generated
622
AA-Forms/FormEinstellung.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@ -11,6 +11,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using TrelloIntegration;
|
||||||
|
|
||||||
namespace Deckungsbeitrag
|
namespace Deckungsbeitrag
|
||||||
{
|
{
|
||||||
@ -232,5 +233,14 @@ namespace Deckungsbeitrag
|
|||||||
if (MessageBox.Show("Möchtest du die Änderungen verwerfen?", "Frage", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) this.Close();
|
if (MessageBox.Show("Möchtest du die Änderungen verwerfen?", "Frage", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) this.Close();
|
||||||
else return;
|
else return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void buttonSaveCredentials_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
TrelloConfig.CreateEncryptedConfigValues(
|
||||||
|
textBoxApiKey.Text,
|
||||||
|
textBoxToken.Text);
|
||||||
|
|
||||||
|
MessageBox.Show("Verschlüsselte Werte wurden in der Console ausgegeben.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
1
AA-Forms/FormExpedit.Designer.cs
generated
1
AA-Forms/FormExpedit.Designer.cs
generated
@ -444,6 +444,7 @@
|
|||||||
//
|
//
|
||||||
// objectListViewSonder
|
// objectListViewSonder
|
||||||
//
|
//
|
||||||
|
this.objectListViewSonder.AllowColumnReorder = true;
|
||||||
this.objectListViewSonder.AlternateRowBackColor = System.Drawing.Color.LightBlue;
|
this.objectListViewSonder.AlternateRowBackColor = System.Drawing.Color.LightBlue;
|
||||||
this.objectListViewSonder.CellEditActivation = BrightIdeasSoftware.ObjectListView.CellEditActivateMode.DoubleClick;
|
this.objectListViewSonder.CellEditActivation = BrightIdeasSoftware.ObjectListView.CellEditActivateMode.DoubleClick;
|
||||||
this.objectListViewSonder.CellEditUseWholeCell = false;
|
this.objectListViewSonder.CellEditUseWholeCell = false;
|
||||||
|
|||||||
@ -22,6 +22,7 @@ using System.Threading.Tasks;
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Windows.Forms.DataVisualization.Charting;
|
using System.Windows.Forms.DataVisualization.Charting;
|
||||||
using System.Xml.Resolvers;
|
using System.Xml.Resolvers;
|
||||||
|
using TrelloIntegration;
|
||||||
using ZXing;
|
using ZXing;
|
||||||
|
|
||||||
namespace Deckungsbeitrag
|
namespace Deckungsbeitrag
|
||||||
@ -65,6 +66,8 @@ namespace Deckungsbeitrag
|
|||||||
private List<View_Auftrag_Expedit> listVorbereitet;
|
private List<View_Auftrag_Expedit> listVorbereitet;
|
||||||
private List<View_Auftrag_Expedit> listSonderAuftrag;
|
private List<View_Auftrag_Expedit> listSonderAuftrag;
|
||||||
private List<View_Auftrag_Expedit> listRampe;
|
private List<View_Auftrag_Expedit> listRampe;
|
||||||
|
public TrelloCardClient _trelloClient;
|
||||||
|
private bool TrelloKarte = true;
|
||||||
#endregion
|
#endregion
|
||||||
public FormExpedit(Benutzer benutzer)
|
public FormExpedit(Benutzer benutzer)
|
||||||
{
|
{
|
||||||
@ -95,8 +98,12 @@ namespace Deckungsbeitrag
|
|||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
_settings.Load();
|
_settings.Load();
|
||||||
|
|
||||||
|
if (TrelloConfig.HasCredentials())
|
||||||
|
{
|
||||||
|
var apiKey = TrelloConfig.GetApiKey();
|
||||||
|
var token = TrelloConfig.GetToken();
|
||||||
|
_trelloClient = new TrelloCardClient(apiKey, token);
|
||||||
|
}
|
||||||
|
|
||||||
UCFeedback fb = new UCFeedback(this.benutzer);
|
UCFeedback fb = new UCFeedback(this.benutzer);
|
||||||
this.Controls.Add(fb);
|
this.Controls.Add(fb);
|
||||||
@ -137,7 +144,13 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
private void FormExpedit_FormClosing(object sender, FormClosingEventArgs e)
|
private void FormExpedit_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// === SPEICHERN DES OLV-STATUS ===
|
||||||
_settings.OLV_State = this.objectListViewAuftrag.SaveState();
|
_settings.OLV_State = this.objectListViewAuftrag.SaveState();
|
||||||
|
_settings.OLV_Rampe_State = this.objectListViewRampe.SaveState();
|
||||||
|
_settings.OLV_Geschaeft_State = this.objectListViewGeschaeft.SaveState();
|
||||||
|
_settings.OLV_Sonder_State = this.objectListViewSonder.SaveState();
|
||||||
|
_settings.OLV_Vorbereitet_State = this.objectListViewVorbereitet.SaveState();
|
||||||
_settings.Save();
|
_settings.Save();
|
||||||
}
|
}
|
||||||
private void FormExpedit_Resize(object sender, EventArgs e)
|
private void FormExpedit_Resize(object sender, EventArgs e)
|
||||||
@ -228,8 +241,8 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
if (fahrer != null)
|
if (fahrer != null)
|
||||||
{
|
{
|
||||||
List<Auftrag> auftragliste = Auftrag.GetTourenListe(fahrer);
|
//List<Auftrag> auftragliste = Auftrag.GetTourenListe(fahrer);
|
||||||
if (auftragliste.Count > 0) Funktionen.TourenListe_Drucken(auftragliste, fahrer, this, this.benutzer);
|
//if (auftragliste.Count > 0) Funktionen.TourenListe_Drucken(auftragliste, fahrer, this, this.benutzer);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -268,6 +281,7 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
if (olv.SelectedItem != null)
|
if (olv.SelectedItem != null)
|
||||||
{
|
{
|
||||||
|
TrelloKarte = true;
|
||||||
int idx = col.Index;
|
int idx = col.Index;
|
||||||
olv.StartCellEdit(olv.SelectedItem, idx);
|
olv.StartCellEdit(olv.SelectedItem, idx);
|
||||||
}
|
}
|
||||||
@ -412,6 +426,13 @@ namespace Deckungsbeitrag
|
|||||||
// === SPALTEN JE NACH TAB/ROLLE ===
|
// === SPALTEN JE NACH TAB/ROLLE ===
|
||||||
GetUnvisibleColumns(olv);
|
GetUnvisibleColumns(olv);
|
||||||
|
|
||||||
|
// === RESTORE OLV-STATUS ===
|
||||||
|
if (olv.Name.Contains("Auftrag")) this.objectListViewAuftrag.RestoreState(_settings.OLV_State);
|
||||||
|
if (olv.Name.Contains("Rampe")) this.objectListViewRampe.RestoreState(_settings.OLV_Rampe_State);
|
||||||
|
if (olv.Name.Contains("Vorbereitet")) this.objectListViewVorbereitet.RestoreState(_settings.OLV_Vorbereitet_State);
|
||||||
|
if (olv.Name.Contains("Sonder")) this.objectListViewSonder.RestoreState(_settings.OLV_Sonder_State);
|
||||||
|
if (olv.Name.Contains("Geschaeft")) this.objectListViewGeschaeft.RestoreState(_settings.OLV_Geschaeft_State);
|
||||||
|
|
||||||
// === SPALTENBREITE ANPASSEN ===
|
// === SPALTENBREITE ANPASSEN ===
|
||||||
olv = Funktionen.Columns_Resize(null, olv).olv;
|
olv = Funktionen.Columns_Resize(null, olv).olv;
|
||||||
|
|
||||||
@ -516,7 +537,6 @@ namespace Deckungsbeitrag
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void Olv_CellToolTipShowing(object sender, ToolTipShowingEventArgs e)
|
private void Olv_CellToolTipShowing(object sender, ToolTipShowingEventArgs e)
|
||||||
@ -694,7 +714,11 @@ namespace Deckungsbeitrag
|
|||||||
if (_auftrag == null) return;
|
if (_auftrag == null) return;
|
||||||
|
|
||||||
FormKundeVW kndVW = new FormKundeVW(_kunde, this.benutzer);
|
FormKundeVW kndVW = new FormKundeVW(_kunde, this.benutzer);
|
||||||
kndVW.ShowDialog();
|
if (kndVW.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
|
if (kndVW.aufgabeErledigt) Aufgabe_erledigt(_auftrag, _kunde, _kunde.Suchtext ?? _kunde.KundeName);
|
||||||
|
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -870,20 +894,43 @@ namespace Deckungsbeitrag
|
|||||||
if (meldung.GetAchtung(this, text, false) == DialogResult.No) return;
|
if (meldung.GetAchtung(this, text, false) == DialogResult.No) return;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Kunde _kunde = Kunde.GetKunde(null, this.auftrag.KundeID, null);
|
||||||
|
string name;
|
||||||
|
if (string.IsNullOrWhiteSpace(_kunde.Suchtext)) name = _kunde.KundeName;
|
||||||
|
else name = _kunde.Suchtext;
|
||||||
|
|
||||||
this.auftrag.Erledigt = DateTime.Now;
|
this.auftrag.Erledigt = DateTime.Now;
|
||||||
this.auftrag.ErledigtVon = (int)this.benutzer.BenutzerID;
|
this.auftrag.ErledigtVon = (int)this.benutzer.BenutzerID;
|
||||||
|
Aufgabe_erledigt(this.auftrag, _kunde, name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.auftrag.Typ < AuftragTyp.Inventur || (this.auftrag.Typ >= AuftragTyp.Inventur && this.auftrag.ContainerClean > 0))
|
if (this.auftrag.Typ < AuftragTyp.Inventur || (this.auftrag.Typ >= AuftragTyp.Inventur && this.auftrag.ContainerClean > 0))
|
||||||
{
|
{
|
||||||
|
var rslt = DialogResult.None;
|
||||||
PrepareContainerCleanForEtikett();
|
PrepareContainerCleanForEtikett();
|
||||||
|
|
||||||
var result = Funktionen.Etikett_Drucken(auftrag, nocont);
|
if (this.auftrag.ContainerClean == 0)
|
||||||
if (result == DialogResult.OK)
|
|
||||||
{
|
{
|
||||||
this.auftrag.Gedruckt = DateTime.Now;
|
rslt = MessageBox.Show("Der Auftrag hat 0 saubere Container. Möchtest du ein Etikett drucken?", "FRAGE", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
|
||||||
this.auftrag.GedrucktVon = (int)this.benutzer.BenutzerID;
|
}
|
||||||
|
|
||||||
|
switch (rslt)
|
||||||
|
{
|
||||||
|
case DialogResult.Cancel:
|
||||||
|
return;
|
||||||
|
case DialogResult.Yes:
|
||||||
|
goto default;
|
||||||
|
case DialogResult.No:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
var result = Funktionen.Etikett_Drucken(auftrag, nocont);
|
||||||
|
if (result == DialogResult.OK)
|
||||||
|
{
|
||||||
|
this.auftrag.Gedruckt = DateTime.Now;
|
||||||
|
this.auftrag.GedrucktVon = (int)this.benutzer.BenutzerID;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -993,8 +1040,8 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
//Für FrotteeExpedit Etiketten drucken ausblenden.
|
//Für FrotteeExpedit Etiketten drucken ausblenden.
|
||||||
if (this.benutzer.Rolle == BenutzerRolle.Frottee) if (col.Text == "Etikett" & col.IsButton) col.IsVisible = false;
|
if (this.benutzer.Rolle == BenutzerRolle.Frottee) if (col.Text == "Etikett" & col.IsButton) col.IsVisible = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
olv.RebuildColumns();
|
olv.RebuildColumns();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1003,7 +1050,7 @@ namespace Deckungsbeitrag
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
private void ObjectListViewAuftrag_CellEditFinished(object sender, CellEditEventArgs e)
|
private async void ObjectListViewAuftrag_CellEditFinished(object sender, CellEditEventArgs e)
|
||||||
{
|
{
|
||||||
ObjectListView olv = (ObjectListView)sender;
|
ObjectListView olv = (ObjectListView)sender;
|
||||||
this.auftrag = Auftrag.GetAuftrag(((View_Auftrag_Expedit)e.RowObject).AuftragID);
|
this.auftrag = Auftrag.GetAuftrag(((View_Auftrag_Expedit)e.RowObject).AuftragID);
|
||||||
@ -1052,6 +1099,61 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
if (int.TryParse(e.NewValue.ToString(), out int i)) this.auftrag.Container = i;
|
if (int.TryParse(e.NewValue.ToString(), out int i)) this.auftrag.Container = i;
|
||||||
else return;
|
else return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case var t when t == "Liefertag":
|
||||||
|
{
|
||||||
|
if (this.benutzer.Rolle == BenutzerRolle.Verwaltung || this.benutzer.Rolle == BenutzerRolle.Admin)
|
||||||
|
{
|
||||||
|
if (!TrelloKarte) return;
|
||||||
|
|
||||||
|
if (_trelloClient == null)
|
||||||
|
{
|
||||||
|
MessageBox.Show("Bitte zuerst Credentials speichern.", "Fehler",
|
||||||
|
MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (MessageBox.Show("Möchtest du eine Trello-Karte für die Änderung erstellen?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { TrelloKarte = false; goto default; }
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
DateTime oldDate = DateTime.Parse(e.Value.ToString());
|
||||||
|
DateTime newDate = DateTime.Parse(e.NewValue.ToString());
|
||||||
|
Benutzer _fahrer = Benutzer.GetBenutzer(null, this.auftrag.ErstelltVon);
|
||||||
|
Kunde _kunde = Kunde.GetKunde(null, this.auftrag.KundeID, null);
|
||||||
|
string kndName = _kunde.KundeName?? _kunde.Suchtext;
|
||||||
|
|
||||||
|
// Wenn kein Fahrer hinterlegt oder keine Tour(Trello-Listen-ID) beim Fahrer wird die Allgmeine-Listen_ID verwendet.
|
||||||
|
string listID = _fahrer?.Tour?? "69cf1a3adfbfd598e8d98be9";
|
||||||
|
this.auftrag.Liefertag = newDate;
|
||||||
|
|
||||||
|
var options = new CreateCardOptions
|
||||||
|
{
|
||||||
|
Name = $"Der Liefertag von {kndName} wurde von {oldDate.Date:d} zu {newDate.Date:d} verschoben.",
|
||||||
|
Desc = "Diese Karte wurde automatisch erstellt. Bitte gegebenenfalls korrigieren.",
|
||||||
|
IdList = $"{listID}",
|
||||||
|
Pos = "top",
|
||||||
|
DueDate = newDate
|
||||||
|
};
|
||||||
|
|
||||||
|
var card = _trelloClient.CreateCardAndParseAsync(options);
|
||||||
|
TrelloKarte = false;
|
||||||
|
|
||||||
|
//MessageBox.Show(
|
||||||
|
// $"Karte erstellt:\nID: {card.Id}\nName: {card.Name}\nURL: {card.ShortUrl}",
|
||||||
|
// "Erfolg",
|
||||||
|
// MessageBoxButtons.OK,
|
||||||
|
// MessageBoxIcon.Information);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
MessageBox.Show($"Fehler beim Erstellen der Karte:\n{ex.Message}", "Fehler",
|
||||||
|
MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else goto default;
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1414,7 +1516,7 @@ namespace Deckungsbeitrag
|
|||||||
Status = AuftragStatus.Vorbereitet,
|
Status = AuftragStatus.Vorbereitet,
|
||||||
|
|
||||||
};
|
};
|
||||||
_auftrag.Save();
|
|
||||||
|
|
||||||
FormAuftragDetail detail = new FormAuftragDetail(_auftrag, this.benutzer, kndartListe);
|
FormAuftragDetail detail = new FormAuftragDetail(_auftrag, this.benutzer, kndartListe);
|
||||||
detail.Show();
|
detail.Show();
|
||||||
@ -1426,7 +1528,8 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//TODO: Lösung zum Löschen von Aufträgen überlegen. (Kevin fragen)
|
//DONE: Lösung zum Löschen von Aufträgen überlegen. (Kevin fragen)
|
||||||
|
//CHANGES: Trello-Karte nach Liefertagänderung kann von Admin oder Verwaltung erstellt werden.
|
||||||
//CHANGES: Im Tab 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: 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: Wenn ein anderer Fahrer ausgewählt wird, wird auch die Priority laut dem Fahrer geändert.
|
||||||
|
|||||||
@ -22,6 +22,7 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
public partial class FormFehlmengeCount : Form
|
public partial class FormFehlmengeCount : Form
|
||||||
{
|
{
|
||||||
|
int[] artZahl = new int[8];
|
||||||
private FilterInfoCollection videoDevices;
|
private FilterInfoCollection videoDevices;
|
||||||
Kunde kunde;
|
Kunde kunde;
|
||||||
Auftrag auftrag;
|
Auftrag auftrag;
|
||||||
@ -310,7 +311,7 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
int i = 0;
|
||||||
// Button mit Tag bearbeiten. Buttons ohne Tag werden deaktiviert.
|
// Button mit Tag bearbeiten. Buttons ohne Tag werden deaktiviert.
|
||||||
foreach(Button btn in this.tableLayoutPanelArtikel.Controls)
|
foreach(Button btn in this.tableLayoutPanelArtikel.Controls)
|
||||||
{
|
{
|
||||||
@ -319,11 +320,12 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
KundeArtikel art = (KundeArtikel)btn.Tag;
|
KundeArtikel art = (KundeArtikel)btn.Tag;
|
||||||
int index = art.ArtikelName.IndexOf(" ");
|
int index = art.ArtikelName.IndexOf(" ");
|
||||||
btn.Text = art.ArtikelName;
|
btn.Text = art.ArtikelName + "\n" + artZahl[i].ToString();
|
||||||
btn.Font = new Font(btn.Font.Name, 18);
|
btn.Font = new Font(btn.Font.Name, 18);
|
||||||
btn.BackColor = Color.Turquoise;
|
btn.BackColor = Color.Turquoise;
|
||||||
btn.Enabled = true;
|
btn.Enabled = true;
|
||||||
}
|
}
|
||||||
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -342,6 +344,8 @@ namespace Deckungsbeitrag
|
|||||||
};
|
};
|
||||||
this.groupBoxArtikel.Controls.Add(flowPanel);
|
this.groupBoxArtikel.Controls.Add(flowPanel);
|
||||||
|
|
||||||
|
artZahl = new int[artikelListe.Count];
|
||||||
|
int i = 0;
|
||||||
foreach (KundeArtikel artikel in artikelListe)
|
foreach (KundeArtikel artikel in artikelListe)
|
||||||
{
|
{
|
||||||
int index = artikel.ArtikelName.IndexOf(" ");
|
int index = artikel.ArtikelName.IndexOf(" ");
|
||||||
@ -350,9 +354,9 @@ namespace Deckungsbeitrag
|
|||||||
else name = artikel.ArtikelName;
|
else name = artikel.ArtikelName;
|
||||||
Button btn = new Button
|
Button btn = new Button
|
||||||
{
|
{
|
||||||
Text = name,
|
Text = name + "\n" + artZahl[i].ToString(),
|
||||||
Tag = artikel,
|
Tag = artikel,
|
||||||
Name = $"btn_{artikel.ArtikelNR}",
|
Name = $"buttonArt{i + 1}",
|
||||||
AutoSize = true,
|
AutoSize = true,
|
||||||
Margin = new Padding(0),
|
Margin = new Padding(0),
|
||||||
BackColor = Color.Turquoise,
|
BackColor = Color.Turquoise,
|
||||||
@ -363,6 +367,7 @@ namespace Deckungsbeitrag
|
|||||||
btn.MouseDown += Button_MouseDown;
|
btn.MouseDown += Button_MouseDown;
|
||||||
|
|
||||||
flowPanel.Controls.Add(btn);
|
flowPanel.Controls.Add(btn);
|
||||||
|
i++;
|
||||||
}
|
}
|
||||||
int buttons = flowPanel.Controls.OfType<Button>().Count();
|
int buttons = flowPanel.Controls.OfType<Button>().Count();
|
||||||
|
|
||||||
@ -579,13 +584,27 @@ namespace Deckungsbeitrag
|
|||||||
auftragDictionary[(int)kndart.KundeArtikelID] = kndart.Reklamation;
|
auftragDictionary[(int)kndart.KundeArtikelID] = kndart.Reklamation;
|
||||||
}
|
}
|
||||||
else auftragDictionary.Add((int)kndart.KundeArtikelID, kndart.Reklamation);
|
else auftragDictionary.Add((int)kndart.KundeArtikelID, kndart.Reklamation);
|
||||||
|
|
||||||
}
|
}
|
||||||
else { kndart.Fehlmenge++; artnw.Nachwaesche++; }
|
else
|
||||||
|
{
|
||||||
|
kndart.Fehlmenge++;
|
||||||
|
artnw.Nachwaesche++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Session NW oder Rekl Zahlen werden angezeigt
|
||||||
|
if (int.TryParse(btn.Name.Substring(9, 1), out int x)) artZahl[x - 1]++;
|
||||||
|
btn.Text = AktualisiereButtonText(btn.Text, artZahl[x - 1]);
|
||||||
|
|
||||||
// Wenn speichern nicht möglich, wird darauf hingewiesen.
|
// Wenn speichern nicht möglich, wird darauf hingewiesen.
|
||||||
if (kndart.Save() != 1 || artnw.Save() != 1) meldung.FehlmengeCount();
|
if (kndart.Save() != 1 || artnw.Save() != 1) meldung.FehlmengeCount();
|
||||||
}
|
}
|
||||||
|
private string AktualisiereButtonText(string button, int zahl)
|
||||||
|
{
|
||||||
|
int index = button.LastIndexOf('\n');
|
||||||
|
button = button.Substring(0, index + 1) + $"{zahl}";
|
||||||
|
|
||||||
|
return button;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//DONE: Wenn Frottee-Expedit auch Reklamation bearbeitet, muss BenutzerRolle abgefragt werden. siehe CHANGES.
|
//DONE: Wenn Frottee-Expedit auch Reklamation bearbeitet, muss BenutzerRolle abgefragt werden. siehe CHANGES.
|
||||||
@ -3,6 +3,7 @@ using BrightIdeasSoftware;
|
|||||||
using DatenDB;
|
using DatenDB;
|
||||||
using Deckungsbeitrag.AA_Forms;
|
using Deckungsbeitrag.AA_Forms;
|
||||||
using Deckungsbeitrag.AA_Klassen;
|
using Deckungsbeitrag.AA_Klassen;
|
||||||
|
using Deckungsbeitrag.UserControls;
|
||||||
using Spire.Barcode;
|
using Spire.Barcode;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -35,6 +36,7 @@ namespace Deckungsbeitrag
|
|||||||
int beforeedit = 0;
|
int beforeedit = 0;
|
||||||
private bool formloading = false;
|
private bool formloading = false;
|
||||||
private DataGridView.HitTestInfo _hitInfo;
|
private DataGridView.HitTestInfo _hitInfo;
|
||||||
|
public bool aufgabeErledigt = false;
|
||||||
public bool _tosave = false;
|
public bool _tosave = false;
|
||||||
private bool _tosaveInventur = false;
|
private bool _tosaveInventur = false;
|
||||||
public bool TosaveInventur
|
public bool TosaveInventur
|
||||||
@ -89,6 +91,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelAnzahlChars.Location = new Point(this.textBoxAnmerkung.Right - this.labelAnzahlChars.Width, this.labelAnzahlChars.Location.Y);
|
this.labelAnzahlChars.Location = new Point(this.textBoxAnmerkung.Right - this.labelAnzahlChars.Width, this.labelAnzahlChars.Location.Y);
|
||||||
|
|
||||||
this.tabControlKunde.Location = new Point(this.textBoxAnmerkung.Right + 10, 11);
|
this.tabControlKunde.Location = new Point(this.textBoxAnmerkung.Right + 10, 11);
|
||||||
|
this.tabControlKunde.TabPages.Remove(tabPageArtikel);
|
||||||
|
|
||||||
ComboBox_Laden();
|
ComboBox_Laden();
|
||||||
|
|
||||||
@ -151,47 +154,48 @@ namespace Deckungsbeitrag
|
|||||||
//kundeid ist falls bereits ein Stand existiert und die Artikel gespeichert wurden.
|
//kundeid ist falls bereits ein Stand existiert und die Artikel gespeichert wurden.
|
||||||
string kundeid = this.kunde.KundeID.ToString();
|
string kundeid = this.kunde.KundeID.ToString();
|
||||||
|
|
||||||
// Wenn bereits ein Stand gespeichert ist, kommt er aus der DB. Wenn kein Stand gespeichert kommt Liste aus Sortiment.
|
|
||||||
if (KundeArtikel.GetList(kundeid).Count > 0)
|
|
||||||
{
|
|
||||||
this.standListe = KundeArtikel.GetList(kundeid);
|
|
||||||
if (this.standListe[0].ArtikelID == null || this.standListe[0].Reihung == 0)
|
|
||||||
{
|
|
||||||
CompareToSortiment();
|
|
||||||
}
|
|
||||||
Load_Gridview(this.standListe);
|
|
||||||
|
|
||||||
}
|
// Wenn bereits ein Stand gespeichert ist, kommt er aus der DB. Wenn kein Stand gespeichert kommt Liste aus Sortiment.
|
||||||
else
|
//if (KundeArtikel.GetList(kundeid).Count > 0)
|
||||||
{
|
//{
|
||||||
//Jedes Innsbrucker Soziale Dienste Sortiment ist gleich.
|
// this.standListe = KundeArtikel.GetList(kundeid);
|
||||||
if (this.kunde.KundeNummer == "010069" | this.kunde.KundeNummer == "010071") sortNr = "010068";
|
// if (this.standListe[0].ArtikelID == null || this.standListe[0].Reihung == 0)
|
||||||
else sortNr = this.kunde.KundeNummer;
|
// {
|
||||||
|
// CompareToSortiment();
|
||||||
|
// }
|
||||||
|
// Load_Gridview(this.standListe);
|
||||||
|
|
||||||
//Sortiment holen und Standliste filtern.
|
//}
|
||||||
standListe = new List<KundeArtikel>();
|
//else
|
||||||
int reihung = 1;
|
//{
|
||||||
foreach(Sortiment sort in sortimentListe.FindAll(Sortiment => Sortiment.KundeNummer == sortNr))
|
// //Jedes Innsbrucker Soziale Dienste Sortiment ist gleich.
|
||||||
{
|
// if (this.kunde.KundeNummer == "010069" | this.kunde.KundeNummer == "010071") sortNr = "010068";
|
||||||
if (sort.ArtName.Contains("*EK")) continue;
|
// else sortNr = this.kunde.KundeNummer;
|
||||||
KundeArtikel item = new KundeArtikel
|
|
||||||
{
|
|
||||||
ArtikelNR = sort.ArtNr,
|
|
||||||
ArtikelName = sort.ArtName,
|
|
||||||
KundeID = Kunde.GetKundeID(sort.KundeNummer, null),
|
|
||||||
ArtikelID = Artikel.GetArtikelID(sort.ArtNr),
|
|
||||||
Reihung = reihung
|
|
||||||
};
|
|
||||||
standListe.Add(item);
|
|
||||||
|
|
||||||
reihung++;
|
// //Sortiment holen und Standliste filtern.
|
||||||
}
|
// standListe = new List<KundeArtikel>();
|
||||||
if (standListe.Count == 0) this.tabControlKunde.Controls.Remove(tabPageArtikel);
|
// int reihung = 1;
|
||||||
standListe = standListe.OrderBy(x => x.Reihung).ToList();
|
// foreach (Sortiment sort in sortimentListe.FindAll(Sortiment => Sortiment.KundeNummer == sortNr))
|
||||||
|
// {
|
||||||
|
// if (sort.ArtName.Contains("*EK")) continue;
|
||||||
|
// KundeArtikel item = new KundeArtikel
|
||||||
|
// {
|
||||||
|
// ArtikelNR = sort.ArtNr,
|
||||||
|
// ArtikelName = sort.ArtName,
|
||||||
|
// KundeID = Kunde.GetKundeID(sort.KundeNummer, null),
|
||||||
|
// ArtikelID = Artikel.GetArtikelID(sort.ArtNr),
|
||||||
|
// Reihung = reihung
|
||||||
|
// };
|
||||||
|
// standListe.Add(item);
|
||||||
|
|
||||||
//GridView mit der jeweiligen Liste füllen.
|
// reihung++;
|
||||||
Load_Gridview(standListe);
|
// }
|
||||||
}
|
// if (standListe.Count == 0) this.tabControlKunde.Controls.Remove(tabPageArtikel);
|
||||||
|
// standListe = standListe.OrderBy(x => x.Reihung).ToList();
|
||||||
|
|
||||||
|
// //GridView mit der jeweiligen Liste füllen.
|
||||||
|
// Load_Gridview(standListe);
|
||||||
|
//}
|
||||||
|
|
||||||
// QR-Code wird erstellt
|
// QR-Code wird erstellt
|
||||||
BarcodeWriter code = new BarcodeWriter
|
BarcodeWriter code = new BarcodeWriter
|
||||||
@ -980,23 +984,69 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
private void ButtonFreigeben_Click(object sender, EventArgs e)
|
private void ButtonFreigeben_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
Aufgabe _aufgabe = Aufgabe.GetAufgabe(null, this.kunde.Aufgabe);
|
||||||
string savePath = Path.Combine(ConfigurationManager.AppSettings["DateiSavePfad"], "Listen\\Inventuren") ?? "Inventuren";
|
string savePath = Path.Combine(ConfigurationManager.AppSettings["DateiSavePfad"], "Listen\\Inventuren") ?? "Inventuren";
|
||||||
if (ConfigurationManager.AppSettings["ConnectionString"].Split(';')[4].Split('=')[1] == "Test_Wirl") savePath = Path.Combine(ConfigurationManager.AppSettings["DateiSavePfad"], "Test\\Inventuren") ?? "Inventuren";
|
if (ConfigurationManager.AppSettings["ConnectionString"].Split(';')[4].Split('=')[1] == "Test_Wirl") savePath = Path.Combine(ConfigurationManager.AppSettings["DateiSavePfad"], "Test\\Inventuren") ?? "Inventuren";
|
||||||
string delPath = Path.Combine(savePath, $"Warten-{this.kunde.KundeNummer}.csv");
|
string delPath = Path.Combine(savePath, $"Warten-{this.kunde.KundeNummer}.csv");
|
||||||
|
|
||||||
SaveInventurToCSV("Speichern", null);
|
SaveInventurToCSV("Speichern", null);
|
||||||
|
|
||||||
|
// Überprüfen ob die Datei existiert.
|
||||||
if (File.Exists(delPath))
|
if (File.Exists(delPath))
|
||||||
{
|
{
|
||||||
|
// Wenn gespeichert wurde und die Datei existiert wird gefragt ob die Inventur abgeschlossen werden soll.
|
||||||
if (MessageBox.Show("Möchtest du die Inventur abschließen?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
if (MessageBox.Show("Möchtest du die Inventur abschließen?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// Wenn die Aufgabe INV enthält und AufgabeCount größer 0 ist, kann die Inventur nicht abgeschlossen werden.
|
||||||
|
if (_aufgabe.Bezeichnung != null && _aufgabe.Bezeichnung.Contains("INV") && this.kunde.AufgabeCount > 0)
|
||||||
|
{
|
||||||
|
if (this.kunde.AufgabeCount > 0)
|
||||||
|
{
|
||||||
|
if (MessageBox.Show("Es ist noch eine Aufgabe zu erledigen. Hast du diese gerade erledigt?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
aufgabeErledigt = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
int auftragID = ErstelleInventurAuftrag();
|
int auftragID = ErstelleInventurAuftrag();
|
||||||
SaveInventurToCSV("Abschließen", auftragID);
|
SaveInventurToCSV("Abschließen", auftragID);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Wenn nicht Abgeschlossen werden soll.
|
||||||
|
if (!((Aufgabe)comboBoxAufgabe.SelectedItem).Bezeichnung.Contains("INV") || numericUpDownAufgabeCount.Value == 0)
|
||||||
|
{
|
||||||
|
// Wenn die Aufgabe nicht INV enthält oder der Aufgaben-Zähler auf 0 steht, wird abgefragt ob noch Zahlen notwendig sind.
|
||||||
|
if (MessageBox.Show("Die Inventur wurde gespeichert. Brauchst du noch Zahlen von Expedit? Dann erstelle die Aufgabe mit der notwendigen Anzahl.", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Wenn alles passt wird gesucht ob ein Auftrag
|
||||||
|
List<Auftrag> _auftragListe = Auftrag.FindeAuftragVonKunde(this.kunde, string.Empty, "Inventur", dateTimePickerInventur.Value.Date);
|
||||||
|
if (_auftragListe.Count > 0)
|
||||||
|
{
|
||||||
|
int? i = this.kunde.AufgabeCount;
|
||||||
|
foreach (Auftrag _auftrag in _auftragListe)
|
||||||
|
{
|
||||||
|
if (i > 0)
|
||||||
|
{
|
||||||
|
_auftrag.AufgabeID = this.kunde.Aufgabe;
|
||||||
|
_auftrag.Save();
|
||||||
|
}
|
||||||
|
i--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Program.AddFehler(this.benutzer, $"Inventur konnte nicht gesoeichert werden.", $"KundeNr: {this.kunde.KundeNummer} Liefertag: {dateTimePickerLiefertag}", null);
|
Program.AddFehler(this.benutzer, $"Inventur konnte nicht gespeichert werden.", $"KundeNr: {this.kunde.KundeNummer} Liefertag: {dateTimePickerLiefertag}", null);
|
||||||
MessageBox.Show("Die Inventur konnte nicht gespeichert werden. Der Fehler wurde gemeldet.", "FEHLER", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show("Die Inventur konnte nicht gespeichert werden. Der Fehler wurde gemeldet.", "FEHLER", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
}
|
||||||
TabControlKunde_SelectedIndexChanged(this.tabControlKunde, null);
|
TabControlKunde_SelectedIndexChanged(this.tabControlKunde, null);
|
||||||
|
|||||||
113
AA-Forms/FormKundeVW.designer.cs
generated
113
AA-Forms/FormKundeVW.designer.cs
generated
@ -153,7 +153,7 @@ namespace Deckungsbeitrag
|
|||||||
this.textBoxKndNr.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.textBoxKndNr.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.textBoxKndNr.Location = new System.Drawing.Point(13, 99);
|
this.textBoxKndNr.Location = new System.Drawing.Point(13, 99);
|
||||||
this.textBoxKndNr.Name = "textBoxKndNr";
|
this.textBoxKndNr.Name = "textBoxKndNr";
|
||||||
this.textBoxKndNr.Size = new System.Drawing.Size(102, 35);
|
this.textBoxKndNr.Size = new System.Drawing.Size(102, 30);
|
||||||
this.textBoxKndNr.TabIndex = 0;
|
this.textBoxKndNr.TabIndex = 0;
|
||||||
//
|
//
|
||||||
// labelKundeNummer
|
// labelKundeNummer
|
||||||
@ -163,7 +163,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelKundeNummer.ForeColor = System.Drawing.Color.White;
|
this.labelKundeNummer.ForeColor = System.Drawing.Color.White;
|
||||||
this.labelKundeNummer.Location = new System.Drawing.Point(9, 76);
|
this.labelKundeNummer.Location = new System.Drawing.Point(9, 76);
|
||||||
this.labelKundeNummer.Name = "labelKundeNummer";
|
this.labelKundeNummer.Name = "labelKundeNummer";
|
||||||
this.labelKundeNummer.Size = new System.Drawing.Size(105, 29);
|
this.labelKundeNummer.Size = new System.Drawing.Size(86, 25);
|
||||||
this.labelKundeNummer.TabIndex = 2;
|
this.labelKundeNummer.TabIndex = 2;
|
||||||
this.labelKundeNummer.Text = "KND NR";
|
this.labelKundeNummer.Text = "KND NR";
|
||||||
//
|
//
|
||||||
@ -174,7 +174,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelKundeName.ForeColor = System.Drawing.Color.White;
|
this.labelKundeName.ForeColor = System.Drawing.Color.White;
|
||||||
this.labelKundeName.Location = new System.Drawing.Point(9, 128);
|
this.labelKundeName.Location = new System.Drawing.Point(9, 128);
|
||||||
this.labelKundeName.Name = "labelKundeName";
|
this.labelKundeName.Name = "labelKundeName";
|
||||||
this.labelKundeName.Size = new System.Drawing.Size(78, 29);
|
this.labelKundeName.Size = new System.Drawing.Size(64, 25);
|
||||||
this.labelKundeName.TabIndex = 3;
|
this.labelKundeName.TabIndex = 3;
|
||||||
this.labelKundeName.Text = "Name";
|
this.labelKundeName.Text = "Name";
|
||||||
//
|
//
|
||||||
@ -184,7 +184,7 @@ namespace Deckungsbeitrag
|
|||||||
this.textBoxKundeName.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.textBoxKundeName.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.textBoxKundeName.Location = new System.Drawing.Point(13, 151);
|
this.textBoxKundeName.Location = new System.Drawing.Point(13, 151);
|
||||||
this.textBoxKundeName.Name = "textBoxKundeName";
|
this.textBoxKundeName.Name = "textBoxKundeName";
|
||||||
this.textBoxKundeName.Size = new System.Drawing.Size(263, 35);
|
this.textBoxKundeName.Size = new System.Drawing.Size(263, 30);
|
||||||
this.textBoxKundeName.TabIndex = 4;
|
this.textBoxKundeName.TabIndex = 4;
|
||||||
//
|
//
|
||||||
// textBoxStraße
|
// textBoxStraße
|
||||||
@ -193,7 +193,7 @@ namespace Deckungsbeitrag
|
|||||||
this.textBoxStraße.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.textBoxStraße.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.textBoxStraße.Location = new System.Drawing.Point(13, 255);
|
this.textBoxStraße.Location = new System.Drawing.Point(13, 255);
|
||||||
this.textBoxStraße.Name = "textBoxStraße";
|
this.textBoxStraße.Name = "textBoxStraße";
|
||||||
this.textBoxStraße.Size = new System.Drawing.Size(352, 35);
|
this.textBoxStraße.Size = new System.Drawing.Size(352, 30);
|
||||||
this.textBoxStraße.TabIndex = 5;
|
this.textBoxStraße.TabIndex = 5;
|
||||||
//
|
//
|
||||||
// labelStraße
|
// labelStraße
|
||||||
@ -203,7 +203,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelStraße.ForeColor = System.Drawing.Color.White;
|
this.labelStraße.ForeColor = System.Drawing.Color.White;
|
||||||
this.labelStraße.Location = new System.Drawing.Point(9, 232);
|
this.labelStraße.Location = new System.Drawing.Point(9, 232);
|
||||||
this.labelStraße.Name = "labelStraße";
|
this.labelStraße.Name = "labelStraße";
|
||||||
this.labelStraße.Size = new System.Drawing.Size(141, 29);
|
this.labelStraße.Size = new System.Drawing.Size(116, 25);
|
||||||
this.labelStraße.TabIndex = 6;
|
this.labelStraße.TabIndex = 6;
|
||||||
this.labelStraße.Text = "Straße/HNr.";
|
this.labelStraße.Text = "Straße/HNr.";
|
||||||
//
|
//
|
||||||
@ -213,7 +213,7 @@ namespace Deckungsbeitrag
|
|||||||
this.textBoxPLZ.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.textBoxPLZ.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.textBoxPLZ.Location = new System.Drawing.Point(13, 307);
|
this.textBoxPLZ.Location = new System.Drawing.Point(13, 307);
|
||||||
this.textBoxPLZ.Name = "textBoxPLZ";
|
this.textBoxPLZ.Name = "textBoxPLZ";
|
||||||
this.textBoxPLZ.Size = new System.Drawing.Size(102, 35);
|
this.textBoxPLZ.Size = new System.Drawing.Size(102, 30);
|
||||||
this.textBoxPLZ.TabIndex = 9;
|
this.textBoxPLZ.TabIndex = 9;
|
||||||
//
|
//
|
||||||
// labelPLZ
|
// labelPLZ
|
||||||
@ -223,7 +223,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelPLZ.ForeColor = System.Drawing.Color.White;
|
this.labelPLZ.ForeColor = System.Drawing.Color.White;
|
||||||
this.labelPLZ.Location = new System.Drawing.Point(9, 284);
|
this.labelPLZ.Location = new System.Drawing.Point(9, 284);
|
||||||
this.labelPLZ.Name = "labelPLZ";
|
this.labelPLZ.Name = "labelPLZ";
|
||||||
this.labelPLZ.Size = new System.Drawing.Size(56, 29);
|
this.labelPLZ.Size = new System.Drawing.Size(48, 25);
|
||||||
this.labelPLZ.TabIndex = 10;
|
this.labelPLZ.TabIndex = 10;
|
||||||
this.labelPLZ.Text = "PLZ";
|
this.labelPLZ.Text = "PLZ";
|
||||||
//
|
//
|
||||||
@ -233,7 +233,7 @@ namespace Deckungsbeitrag
|
|||||||
this.textBoxOrt.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.textBoxOrt.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.textBoxOrt.Location = new System.Drawing.Point(121, 307);
|
this.textBoxOrt.Location = new System.Drawing.Point(121, 307);
|
||||||
this.textBoxOrt.Name = "textBoxOrt";
|
this.textBoxOrt.Name = "textBoxOrt";
|
||||||
this.textBoxOrt.Size = new System.Drawing.Size(244, 35);
|
this.textBoxOrt.Size = new System.Drawing.Size(244, 30);
|
||||||
this.textBoxOrt.TabIndex = 11;
|
this.textBoxOrt.TabIndex = 11;
|
||||||
//
|
//
|
||||||
// labelOrt
|
// labelOrt
|
||||||
@ -243,7 +243,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelOrt.ForeColor = System.Drawing.Color.White;
|
this.labelOrt.ForeColor = System.Drawing.Color.White;
|
||||||
this.labelOrt.Location = new System.Drawing.Point(117, 284);
|
this.labelOrt.Location = new System.Drawing.Point(117, 284);
|
||||||
this.labelOrt.Name = "labelOrt";
|
this.labelOrt.Name = "labelOrt";
|
||||||
this.labelOrt.Size = new System.Drawing.Size(46, 29);
|
this.labelOrt.Size = new System.Drawing.Size(39, 25);
|
||||||
this.labelOrt.TabIndex = 12;
|
this.labelOrt.TabIndex = 12;
|
||||||
this.labelOrt.Text = "Ort";
|
this.labelOrt.Text = "Ort";
|
||||||
//
|
//
|
||||||
@ -254,7 +254,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelKdnName2.ForeColor = System.Drawing.Color.White;
|
this.labelKdnName2.ForeColor = System.Drawing.Color.White;
|
||||||
this.labelKdnName2.Location = new System.Drawing.Point(9, 180);
|
this.labelKdnName2.Location = new System.Drawing.Point(9, 180);
|
||||||
this.labelKdnName2.Name = "labelKdnName2";
|
this.labelKdnName2.Name = "labelKdnName2";
|
||||||
this.labelKdnName2.Size = new System.Drawing.Size(147, 29);
|
this.labelKdnName2.Size = new System.Drawing.Size(123, 25);
|
||||||
this.labelKdnName2.TabIndex = 25;
|
this.labelKdnName2.TabIndex = 25;
|
||||||
this.labelKdnName2.Text = "NameZusatz";
|
this.labelKdnName2.Text = "NameZusatz";
|
||||||
//
|
//
|
||||||
@ -264,7 +264,7 @@ namespace Deckungsbeitrag
|
|||||||
this.textBoxKndName2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.textBoxKndName2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.textBoxKndName2.Location = new System.Drawing.Point(13, 203);
|
this.textBoxKndName2.Location = new System.Drawing.Point(13, 203);
|
||||||
this.textBoxKndName2.Name = "textBoxKndName2";
|
this.textBoxKndName2.Name = "textBoxKndName2";
|
||||||
this.textBoxKndName2.Size = new System.Drawing.Size(352, 35);
|
this.textBoxKndName2.Size = new System.Drawing.Size(352, 30);
|
||||||
this.textBoxKndName2.TabIndex = 26;
|
this.textBoxKndName2.TabIndex = 26;
|
||||||
//
|
//
|
||||||
// buttonBewertung
|
// buttonBewertung
|
||||||
@ -298,7 +298,7 @@ namespace Deckungsbeitrag
|
|||||||
this.textBoxSuchtext.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.textBoxSuchtext.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.textBoxSuchtext.Location = new System.Drawing.Point(122, 99);
|
this.textBoxSuchtext.Location = new System.Drawing.Point(122, 99);
|
||||||
this.textBoxSuchtext.Name = "textBoxSuchtext";
|
this.textBoxSuchtext.Name = "textBoxSuchtext";
|
||||||
this.textBoxSuchtext.Size = new System.Drawing.Size(154, 35);
|
this.textBoxSuchtext.Size = new System.Drawing.Size(154, 30);
|
||||||
this.textBoxSuchtext.TabIndex = 38;
|
this.textBoxSuchtext.TabIndex = 38;
|
||||||
//
|
//
|
||||||
// label1
|
// label1
|
||||||
@ -308,7 +308,7 @@ namespace Deckungsbeitrag
|
|||||||
this.label1.ForeColor = System.Drawing.Color.White;
|
this.label1.ForeColor = System.Drawing.Color.White;
|
||||||
this.label1.Location = new System.Drawing.Point(118, 76);
|
this.label1.Location = new System.Drawing.Point(118, 76);
|
||||||
this.label1.Name = "label1";
|
this.label1.Name = "label1";
|
||||||
this.label1.Size = new System.Drawing.Size(145, 29);
|
this.label1.Size = new System.Drawing.Size(122, 25);
|
||||||
this.label1.TabIndex = 39;
|
this.label1.TabIndex = 39;
|
||||||
this.label1.Text = "SUCHTEXT";
|
this.label1.Text = "SUCHTEXT";
|
||||||
//
|
//
|
||||||
@ -319,7 +319,7 @@ namespace Deckungsbeitrag
|
|||||||
this.comboBoxAufgabe.FormattingEnabled = true;
|
this.comboBoxAufgabe.FormattingEnabled = true;
|
||||||
this.comboBoxAufgabe.Location = new System.Drawing.Point(13, 498);
|
this.comboBoxAufgabe.Location = new System.Drawing.Point(13, 498);
|
||||||
this.comboBoxAufgabe.Name = "comboBoxAufgabe";
|
this.comboBoxAufgabe.Name = "comboBoxAufgabe";
|
||||||
this.comboBoxAufgabe.Size = new System.Drawing.Size(263, 37);
|
this.comboBoxAufgabe.Size = new System.Drawing.Size(263, 33);
|
||||||
this.comboBoxAufgabe.TabIndex = 41;
|
this.comboBoxAufgabe.TabIndex = 41;
|
||||||
this.comboBoxAufgabe.SelectedIndexChanged += new System.EventHandler(this.ComboBoxAufgabe_SelectedIndexChanged);
|
this.comboBoxAufgabe.SelectedIndexChanged += new System.EventHandler(this.ComboBoxAufgabe_SelectedIndexChanged);
|
||||||
this.comboBoxAufgabe.DropDownClosed += new System.EventHandler(this.ComboBoxAufgabe_DropDownClosed);
|
this.comboBoxAufgabe.DropDownClosed += new System.EventHandler(this.ComboBoxAufgabe_DropDownClosed);
|
||||||
@ -331,7 +331,7 @@ namespace Deckungsbeitrag
|
|||||||
this.label2.ForeColor = System.Drawing.Color.White;
|
this.label2.ForeColor = System.Drawing.Color.White;
|
||||||
this.label2.Location = new System.Drawing.Point(9, 475);
|
this.label2.Location = new System.Drawing.Point(9, 475);
|
||||||
this.label2.Name = "label2";
|
this.label2.Name = "label2";
|
||||||
this.label2.Size = new System.Drawing.Size(183, 29);
|
this.label2.Size = new System.Drawing.Size(152, 25);
|
||||||
this.label2.TabIndex = 42;
|
this.label2.TabIndex = 42;
|
||||||
this.label2.Text = "Kundenaufgabe";
|
this.label2.Text = "Kundenaufgabe";
|
||||||
//
|
//
|
||||||
@ -341,14 +341,14 @@ namespace Deckungsbeitrag
|
|||||||
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.nächsterKundeToolStripMenuItem});
|
this.nächsterKundeToolStripMenuItem});
|
||||||
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
||||||
this.contextMenuStrip1.Size = new System.Drawing.Size(250, 36);
|
this.contextMenuStrip1.Size = new System.Drawing.Size(217, 28);
|
||||||
//
|
//
|
||||||
// nächsterKundeToolStripMenuItem
|
// nächsterKundeToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.nächsterKundeToolStripMenuItem.Name = "nächsterKundeToolStripMenuItem";
|
this.nächsterKundeToolStripMenuItem.Name = "nächsterKundeToolStripMenuItem";
|
||||||
this.nächsterKundeToolStripMenuItem.ShortcutKeyDisplayString = "[F9]";
|
this.nächsterKundeToolStripMenuItem.ShortcutKeyDisplayString = "[F9]";
|
||||||
this.nächsterKundeToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F9;
|
this.nächsterKundeToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F9;
|
||||||
this.nächsterKundeToolStripMenuItem.Size = new System.Drawing.Size(249, 32);
|
this.nächsterKundeToolStripMenuItem.Size = new System.Drawing.Size(216, 24);
|
||||||
this.nächsterKundeToolStripMenuItem.Text = "Nächster Kunde";
|
this.nächsterKundeToolStripMenuItem.Text = "Nächster Kunde";
|
||||||
this.nächsterKundeToolStripMenuItem.Click += new System.EventHandler(this.NaechsterKundeToolStripMenuItem_Click);
|
this.nächsterKundeToolStripMenuItem.Click += new System.EventHandler(this.NaechsterKundeToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
@ -376,9 +376,9 @@ namespace Deckungsbeitrag
|
|||||||
this.tabPageVorschau.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
|
this.tabPageVorschau.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
|
||||||
this.tabPageVorschau.Controls.Add(this.buttonSWS_Drucken);
|
this.tabPageVorschau.Controls.Add(this.buttonSWS_Drucken);
|
||||||
this.tabPageVorschau.Controls.Add(this.pictureBoxEntwurf);
|
this.tabPageVorschau.Controls.Add(this.pictureBoxEntwurf);
|
||||||
this.tabPageVorschau.Location = new System.Drawing.Point(4, 38);
|
this.tabPageVorschau.Location = new System.Drawing.Point(4, 34);
|
||||||
this.tabPageVorschau.Name = "tabPageVorschau";
|
this.tabPageVorschau.Name = "tabPageVorschau";
|
||||||
this.tabPageVorschau.Size = new System.Drawing.Size(1001, 730);
|
this.tabPageVorschau.Size = new System.Drawing.Size(1001, 734);
|
||||||
this.tabPageVorschau.TabIndex = 2;
|
this.tabPageVorschau.TabIndex = 2;
|
||||||
this.tabPageVorschau.Text = "SWS-Vorschau";
|
this.tabPageVorschau.Text = "SWS-Vorschau";
|
||||||
//
|
//
|
||||||
@ -389,7 +389,7 @@ namespace Deckungsbeitrag
|
|||||||
this.buttonSWS_Drucken.FlatAppearance.BorderSize = 0;
|
this.buttonSWS_Drucken.FlatAppearance.BorderSize = 0;
|
||||||
this.buttonSWS_Drucken.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
this.buttonSWS_Drucken.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||||
this.buttonSWS_Drucken.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.buttonSWS_Drucken.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.buttonSWS_Drucken.Location = new System.Drawing.Point(698, 686);
|
this.buttonSWS_Drucken.Location = new System.Drawing.Point(698, 690);
|
||||||
this.buttonSWS_Drucken.Name = "buttonSWS_Drucken";
|
this.buttonSWS_Drucken.Name = "buttonSWS_Drucken";
|
||||||
this.buttonSWS_Drucken.Size = new System.Drawing.Size(300, 41);
|
this.buttonSWS_Drucken.Size = new System.Drawing.Size(300, 41);
|
||||||
this.buttonSWS_Drucken.TabIndex = 36;
|
this.buttonSWS_Drucken.TabIndex = 36;
|
||||||
@ -407,7 +407,7 @@ namespace Deckungsbeitrag
|
|||||||
this.pictureBoxEntwurf.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
this.pictureBoxEntwurf.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
this.pictureBoxEntwurf.Location = new System.Drawing.Point(0, 0);
|
this.pictureBoxEntwurf.Location = new System.Drawing.Point(0, 0);
|
||||||
this.pictureBoxEntwurf.Name = "pictureBoxEntwurf";
|
this.pictureBoxEntwurf.Name = "pictureBoxEntwurf";
|
||||||
this.pictureBoxEntwurf.Size = new System.Drawing.Size(1001, 680);
|
this.pictureBoxEntwurf.Size = new System.Drawing.Size(1001, 684);
|
||||||
this.pictureBoxEntwurf.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
this.pictureBoxEntwurf.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||||
this.pictureBoxEntwurf.TabIndex = 16;
|
this.pictureBoxEntwurf.TabIndex = 16;
|
||||||
this.pictureBoxEntwurf.TabStop = false;
|
this.pictureBoxEntwurf.TabStop = false;
|
||||||
@ -424,11 +424,11 @@ namespace Deckungsbeitrag
|
|||||||
this.tabPageUmsatz.Controls.Add(this.labelJahresumsatz);
|
this.tabPageUmsatz.Controls.Add(this.labelJahresumsatz);
|
||||||
this.tabPageUmsatz.Controls.Add(this.chartJahresumsatz);
|
this.tabPageUmsatz.Controls.Add(this.chartJahresumsatz);
|
||||||
this.tabPageUmsatz.Controls.Add(this.olvJahresumsatz);
|
this.tabPageUmsatz.Controls.Add(this.olvJahresumsatz);
|
||||||
this.tabPageUmsatz.Location = new System.Drawing.Point(4, 38);
|
this.tabPageUmsatz.Location = new System.Drawing.Point(4, 34);
|
||||||
this.tabPageUmsatz.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
this.tabPageUmsatz.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||||
this.tabPageUmsatz.Name = "tabPageUmsatz";
|
this.tabPageUmsatz.Name = "tabPageUmsatz";
|
||||||
this.tabPageUmsatz.Padding = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
this.tabPageUmsatz.Padding = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||||
this.tabPageUmsatz.Size = new System.Drawing.Size(1001, 730);
|
this.tabPageUmsatz.Size = new System.Drawing.Size(1001, 734);
|
||||||
this.tabPageUmsatz.TabIndex = 0;
|
this.tabPageUmsatz.TabIndex = 0;
|
||||||
this.tabPageUmsatz.Text = "Umsatz";
|
this.tabPageUmsatz.Text = "Umsatz";
|
||||||
//
|
//
|
||||||
@ -439,7 +439,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelMonatsumsatz.ForeColor = System.Drawing.Color.White;
|
this.labelMonatsumsatz.ForeColor = System.Drawing.Color.White;
|
||||||
this.labelMonatsumsatz.Location = new System.Drawing.Point(615, 53);
|
this.labelMonatsumsatz.Location = new System.Drawing.Point(615, 53);
|
||||||
this.labelMonatsumsatz.Name = "labelMonatsumsatz";
|
this.labelMonatsumsatz.Name = "labelMonatsumsatz";
|
||||||
this.labelMonatsumsatz.Size = new System.Drawing.Size(193, 29);
|
this.labelMonatsumsatz.Size = new System.Drawing.Size(164, 25);
|
||||||
this.labelMonatsumsatz.TabIndex = 46;
|
this.labelMonatsumsatz.TabIndex = 46;
|
||||||
this.labelMonatsumsatz.Text = "Monatsumsätze";
|
this.labelMonatsumsatz.Text = "Monatsumsätze";
|
||||||
//
|
//
|
||||||
@ -495,7 +495,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelQuartalsumsatz.ForeColor = System.Drawing.Color.White;
|
this.labelQuartalsumsatz.ForeColor = System.Drawing.Color.White;
|
||||||
this.labelQuartalsumsatz.Location = new System.Drawing.Point(309, 53);
|
this.labelQuartalsumsatz.Location = new System.Drawing.Point(309, 53);
|
||||||
this.labelQuartalsumsatz.Name = "labelQuartalsumsatz";
|
this.labelQuartalsumsatz.Name = "labelQuartalsumsatz";
|
||||||
this.labelQuartalsumsatz.Size = new System.Drawing.Size(207, 29);
|
this.labelQuartalsumsatz.Size = new System.Drawing.Size(175, 25);
|
||||||
this.labelQuartalsumsatz.TabIndex = 43;
|
this.labelQuartalsumsatz.TabIndex = 43;
|
||||||
this.labelQuartalsumsatz.Text = "Quartalsumsätze";
|
this.labelQuartalsumsatz.Text = "Quartalsumsätze";
|
||||||
//
|
//
|
||||||
@ -551,7 +551,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelJahresumsatz.ForeColor = System.Drawing.Color.White;
|
this.labelJahresumsatz.ForeColor = System.Drawing.Color.White;
|
||||||
this.labelJahresumsatz.Location = new System.Drawing.Point(7, 55);
|
this.labelJahresumsatz.Location = new System.Drawing.Point(7, 55);
|
||||||
this.labelJahresumsatz.Name = "labelJahresumsatz";
|
this.labelJahresumsatz.Name = "labelJahresumsatz";
|
||||||
this.labelJahresumsatz.Size = new System.Drawing.Size(187, 29);
|
this.labelJahresumsatz.Size = new System.Drawing.Size(159, 25);
|
||||||
this.labelJahresumsatz.TabIndex = 40;
|
this.labelJahresumsatz.TabIndex = 40;
|
||||||
this.labelJahresumsatz.Text = "Jahresumsätze";
|
this.labelJahresumsatz.Text = "Jahresumsätze";
|
||||||
//
|
//
|
||||||
@ -605,11 +605,11 @@ namespace Deckungsbeitrag
|
|||||||
this.tabPageArtikel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
|
this.tabPageArtikel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
|
||||||
this.tabPageArtikel.Controls.Add(this.buttonSpeichern);
|
this.tabPageArtikel.Controls.Add(this.buttonSpeichern);
|
||||||
this.tabPageArtikel.Controls.Add(this.dGArtikel);
|
this.tabPageArtikel.Controls.Add(this.dGArtikel);
|
||||||
this.tabPageArtikel.Location = new System.Drawing.Point(4, 38);
|
this.tabPageArtikel.Location = new System.Drawing.Point(4, 34);
|
||||||
this.tabPageArtikel.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
this.tabPageArtikel.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||||
this.tabPageArtikel.Name = "tabPageArtikel";
|
this.tabPageArtikel.Name = "tabPageArtikel";
|
||||||
this.tabPageArtikel.Padding = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
this.tabPageArtikel.Padding = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||||
this.tabPageArtikel.Size = new System.Drawing.Size(1001, 730);
|
this.tabPageArtikel.Size = new System.Drawing.Size(1001, 734);
|
||||||
this.tabPageArtikel.TabIndex = 1;
|
this.tabPageArtikel.TabIndex = 1;
|
||||||
this.tabPageArtikel.Text = "Artikelliste";
|
this.tabPageArtikel.Text = "Artikelliste";
|
||||||
//
|
//
|
||||||
@ -617,11 +617,12 @@ namespace Deckungsbeitrag
|
|||||||
//
|
//
|
||||||
this.buttonSpeichern.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
this.buttonSpeichern.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.buttonSpeichern.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
|
this.buttonSpeichern.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
|
||||||
|
this.buttonSpeichern.Enabled = false;
|
||||||
this.buttonSpeichern.FlatAppearance.BorderSize = 0;
|
this.buttonSpeichern.FlatAppearance.BorderSize = 0;
|
||||||
this.buttonSpeichern.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
this.buttonSpeichern.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||||
this.buttonSpeichern.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.buttonSpeichern.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.buttonSpeichern.ForeColor = System.Drawing.Color.White;
|
this.buttonSpeichern.ForeColor = System.Drawing.Color.White;
|
||||||
this.buttonSpeichern.Location = new System.Drawing.Point(694, 681);
|
this.buttonSpeichern.Location = new System.Drawing.Point(694, 685);
|
||||||
this.buttonSpeichern.Name = "buttonSpeichern";
|
this.buttonSpeichern.Name = "buttonSpeichern";
|
||||||
this.buttonSpeichern.Size = new System.Drawing.Size(300, 41);
|
this.buttonSpeichern.Size = new System.Drawing.Size(300, 41);
|
||||||
this.buttonSpeichern.TabIndex = 37;
|
this.buttonSpeichern.TabIndex = 37;
|
||||||
@ -651,7 +652,7 @@ namespace Deckungsbeitrag
|
|||||||
this.dGArtikel.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
this.dGArtikel.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||||
this.dGArtikel.Name = "dGArtikel";
|
this.dGArtikel.Name = "dGArtikel";
|
||||||
this.dGArtikel.RowHeadersWidth = 51;
|
this.dGArtikel.RowHeadersWidth = 51;
|
||||||
this.dGArtikel.Size = new System.Drawing.Size(989, 668);
|
this.dGArtikel.Size = new System.Drawing.Size(989, 672);
|
||||||
this.dGArtikel.TabIndex = 11;
|
this.dGArtikel.TabIndex = 11;
|
||||||
this.dGArtikel.CellBeginEdit += new System.Windows.Forms.DataGridViewCellCancelEventHandler(this.DGArtikel_CellBeginEdit);
|
this.dGArtikel.CellBeginEdit += new System.Windows.Forms.DataGridViewCellCancelEventHandler(this.DGArtikel_CellBeginEdit);
|
||||||
this.dGArtikel.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.DGArtikel_CellValueChanged);
|
this.dGArtikel.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.DGArtikel_CellValueChanged);
|
||||||
@ -738,9 +739,9 @@ namespace Deckungsbeitrag
|
|||||||
// tabPageInventur
|
// tabPageInventur
|
||||||
//
|
//
|
||||||
this.tabPageInventur.Controls.Add(this.tabControlInventur);
|
this.tabPageInventur.Controls.Add(this.tabControlInventur);
|
||||||
this.tabPageInventur.Location = new System.Drawing.Point(4, 38);
|
this.tabPageInventur.Location = new System.Drawing.Point(4, 34);
|
||||||
this.tabPageInventur.Name = "tabPageInventur";
|
this.tabPageInventur.Name = "tabPageInventur";
|
||||||
this.tabPageInventur.Size = new System.Drawing.Size(1001, 730);
|
this.tabPageInventur.Size = new System.Drawing.Size(1001, 734);
|
||||||
this.tabPageInventur.TabIndex = 3;
|
this.tabPageInventur.TabIndex = 3;
|
||||||
this.tabPageInventur.Text = "Inventuren";
|
this.tabPageInventur.Text = "Inventuren";
|
||||||
this.tabPageInventur.UseVisualStyleBackColor = true;
|
this.tabPageInventur.UseVisualStyleBackColor = true;
|
||||||
@ -752,7 +753,7 @@ namespace Deckungsbeitrag
|
|||||||
this.tabControlInventur.Location = new System.Drawing.Point(0, 0);
|
this.tabControlInventur.Location = new System.Drawing.Point(0, 0);
|
||||||
this.tabControlInventur.Name = "tabControlInventur";
|
this.tabControlInventur.Name = "tabControlInventur";
|
||||||
this.tabControlInventur.SelectedIndex = 0;
|
this.tabControlInventur.SelectedIndex = 0;
|
||||||
this.tabControlInventur.Size = new System.Drawing.Size(1001, 730);
|
this.tabControlInventur.Size = new System.Drawing.Size(1001, 734);
|
||||||
this.tabControlInventur.TabIndex = 0;
|
this.tabControlInventur.TabIndex = 0;
|
||||||
//
|
//
|
||||||
// tabPageNeueInventur
|
// tabPageNeueInventur
|
||||||
@ -762,10 +763,10 @@ namespace Deckungsbeitrag
|
|||||||
this.tabPageNeueInventur.Controls.Add(this.dGVZahlen);
|
this.tabPageNeueInventur.Controls.Add(this.dGVZahlen);
|
||||||
this.tabPageNeueInventur.Controls.Add(this.panelButtons);
|
this.tabPageNeueInventur.Controls.Add(this.panelButtons);
|
||||||
this.tabPageNeueInventur.Controls.Add(this.panelDaten);
|
this.tabPageNeueInventur.Controls.Add(this.panelDaten);
|
||||||
this.tabPageNeueInventur.Location = new System.Drawing.Point(4, 38);
|
this.tabPageNeueInventur.Location = new System.Drawing.Point(4, 34);
|
||||||
this.tabPageNeueInventur.Name = "tabPageNeueInventur";
|
this.tabPageNeueInventur.Name = "tabPageNeueInventur";
|
||||||
this.tabPageNeueInventur.Padding = new System.Windows.Forms.Padding(3);
|
this.tabPageNeueInventur.Padding = new System.Windows.Forms.Padding(3);
|
||||||
this.tabPageNeueInventur.Size = new System.Drawing.Size(993, 688);
|
this.tabPageNeueInventur.Size = new System.Drawing.Size(993, 696);
|
||||||
this.tabPageNeueInventur.TabIndex = 0;
|
this.tabPageNeueInventur.TabIndex = 0;
|
||||||
this.tabPageNeueInventur.Text = "Neue Inventur";
|
this.tabPageNeueInventur.Text = "Neue Inventur";
|
||||||
//
|
//
|
||||||
@ -782,7 +783,7 @@ namespace Deckungsbeitrag
|
|||||||
this.dGVZahlen.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
|
this.dGVZahlen.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
|
||||||
this.dGVZahlen.RowHeadersWidth = 51;
|
this.dGVZahlen.RowHeadersWidth = 51;
|
||||||
this.dGVZahlen.RowTemplate.Height = 24;
|
this.dGVZahlen.RowTemplate.Height = 24;
|
||||||
this.dGVZahlen.Size = new System.Drawing.Size(977, 516);
|
this.dGVZahlen.Size = new System.Drawing.Size(977, 524);
|
||||||
this.dGVZahlen.TabIndex = 3;
|
this.dGVZahlen.TabIndex = 3;
|
||||||
this.dGVZahlen.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.DGVZahlen_CellEndEdit);
|
this.dGVZahlen.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.DGVZahlen_CellEndEdit);
|
||||||
this.dGVZahlen.MouseDown += new System.Windows.Forms.MouseEventHandler(this.DGVZahlen_MouseDown);
|
this.dGVZahlen.MouseDown += new System.Windows.Forms.MouseEventHandler(this.DGVZahlen_MouseDown);
|
||||||
@ -793,14 +794,14 @@ namespace Deckungsbeitrag
|
|||||||
this.contextMenuStripGridView.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.contextMenuStripGridView.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.deleteRowToolStripMenuItem});
|
this.deleteRowToolStripMenuItem});
|
||||||
this.contextMenuStripGridView.Name = "contextMenuStripGridView";
|
this.contextMenuStripGridView.Name = "contextMenuStripGridView";
|
||||||
this.contextMenuStripGridView.Size = new System.Drawing.Size(194, 36);
|
this.contextMenuStripGridView.Size = new System.Drawing.Size(173, 30);
|
||||||
this.contextMenuStripGridView.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripGridView_Opening);
|
this.contextMenuStripGridView.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripGridView_Opening);
|
||||||
//
|
//
|
||||||
// deleteRowToolStripMenuItem
|
// deleteRowToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.deleteRowToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("deleteRowToolStripMenuItem.Image")));
|
this.deleteRowToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("deleteRowToolStripMenuItem.Image")));
|
||||||
this.deleteRowToolStripMenuItem.Name = "deleteRowToolStripMenuItem";
|
this.deleteRowToolStripMenuItem.Name = "deleteRowToolStripMenuItem";
|
||||||
this.deleteRowToolStripMenuItem.Size = new System.Drawing.Size(193, 32);
|
this.deleteRowToolStripMenuItem.Size = new System.Drawing.Size(172, 26);
|
||||||
this.deleteRowToolStripMenuItem.Text = "Zeile Löschen";
|
this.deleteRowToolStripMenuItem.Text = "Zeile Löschen";
|
||||||
this.deleteRowToolStripMenuItem.Click += new System.EventHandler(this.DeleteRowToolStripMenuItem_Click);
|
this.deleteRowToolStripMenuItem.Click += new System.EventHandler(this.DeleteRowToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
@ -809,7 +810,7 @@ namespace Deckungsbeitrag
|
|||||||
this.panelButtons.Controls.Add(this.buttonFreigeben);
|
this.panelButtons.Controls.Add(this.buttonFreigeben);
|
||||||
this.panelButtons.Controls.Add(this.buttonDelete);
|
this.panelButtons.Controls.Add(this.buttonDelete);
|
||||||
this.panelButtons.Dock = System.Windows.Forms.DockStyle.Bottom;
|
this.panelButtons.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||||
this.panelButtons.Location = new System.Drawing.Point(3, 631);
|
this.panelButtons.Location = new System.Drawing.Point(3, 639);
|
||||||
this.panelButtons.Name = "panelButtons";
|
this.panelButtons.Name = "panelButtons";
|
||||||
this.panelButtons.Padding = new System.Windows.Forms.Padding(5);
|
this.panelButtons.Padding = new System.Windows.Forms.Padding(5);
|
||||||
this.panelButtons.Size = new System.Drawing.Size(983, 50);
|
this.panelButtons.Size = new System.Drawing.Size(983, 50);
|
||||||
@ -872,7 +873,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelAddRow.AutoSize = true;
|
this.labelAddRow.AutoSize = true;
|
||||||
this.labelAddRow.Location = new System.Drawing.Point(765, 63);
|
this.labelAddRow.Location = new System.Drawing.Point(765, 63);
|
||||||
this.labelAddRow.Name = "labelAddRow";
|
this.labelAddRow.Name = "labelAddRow";
|
||||||
this.labelAddRow.Size = new System.Drawing.Size(195, 29);
|
this.labelAddRow.Size = new System.Drawing.Size(161, 25);
|
||||||
this.labelAddRow.TabIndex = 42;
|
this.labelAddRow.TabIndex = 42;
|
||||||
this.labelAddRow.Text = "Zeile hinzufügen:";
|
this.labelAddRow.Text = "Zeile hinzufügen:";
|
||||||
//
|
//
|
||||||
@ -895,7 +896,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelLiefertag.AutoSize = true;
|
this.labelLiefertag.AutoSize = true;
|
||||||
this.labelLiefertag.Location = new System.Drawing.Point(18, 63);
|
this.labelLiefertag.Location = new System.Drawing.Point(18, 63);
|
||||||
this.labelLiefertag.Name = "labelLiefertag";
|
this.labelLiefertag.Name = "labelLiefertag";
|
||||||
this.labelLiefertag.Size = new System.Drawing.Size(113, 29);
|
this.labelLiefertag.Size = new System.Drawing.Size(93, 25);
|
||||||
this.labelLiefertag.TabIndex = 3;
|
this.labelLiefertag.TabIndex = 3;
|
||||||
this.labelLiefertag.Text = "Liefertag:";
|
this.labelLiefertag.Text = "Liefertag:";
|
||||||
//
|
//
|
||||||
@ -904,7 +905,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelInventur.AutoSize = true;
|
this.labelInventur.AutoSize = true;
|
||||||
this.labelInventur.Location = new System.Drawing.Point(18, 13);
|
this.labelInventur.Location = new System.Drawing.Point(18, 13);
|
||||||
this.labelInventur.Name = "labelInventur";
|
this.labelInventur.Name = "labelInventur";
|
||||||
this.labelInventur.Size = new System.Drawing.Size(169, 29);
|
this.labelInventur.Size = new System.Drawing.Size(142, 25);
|
||||||
this.labelInventur.TabIndex = 2;
|
this.labelInventur.TabIndex = 2;
|
||||||
this.labelInventur.Text = "Inventurdatum:";
|
this.labelInventur.Text = "Inventurdatum:";
|
||||||
//
|
//
|
||||||
@ -915,7 +916,7 @@ namespace Deckungsbeitrag
|
|||||||
this.dateTimePickerLiefertag.Location = new System.Drawing.Point(166, 60);
|
this.dateTimePickerLiefertag.Location = new System.Drawing.Point(166, 60);
|
||||||
this.dateTimePickerLiefertag.Name = "dateTimePickerLiefertag";
|
this.dateTimePickerLiefertag.Name = "dateTimePickerLiefertag";
|
||||||
this.dateTimePickerLiefertag.ShowCheckBox = true;
|
this.dateTimePickerLiefertag.ShowCheckBox = true;
|
||||||
this.dateTimePickerLiefertag.Size = new System.Drawing.Size(200, 35);
|
this.dateTimePickerLiefertag.Size = new System.Drawing.Size(200, 30);
|
||||||
this.dateTimePickerLiefertag.TabIndex = 1;
|
this.dateTimePickerLiefertag.TabIndex = 1;
|
||||||
this.dateTimePickerLiefertag.ValueChanged += new System.EventHandler(this.DateTimePicker_ValueChanged);
|
this.dateTimePickerLiefertag.ValueChanged += new System.EventHandler(this.DateTimePicker_ValueChanged);
|
||||||
//
|
//
|
||||||
@ -926,7 +927,7 @@ namespace Deckungsbeitrag
|
|||||||
this.dateTimePickerInventur.Location = new System.Drawing.Point(166, 11);
|
this.dateTimePickerInventur.Location = new System.Drawing.Point(166, 11);
|
||||||
this.dateTimePickerInventur.Name = "dateTimePickerInventur";
|
this.dateTimePickerInventur.Name = "dateTimePickerInventur";
|
||||||
this.dateTimePickerInventur.ShowCheckBox = true;
|
this.dateTimePickerInventur.ShowCheckBox = true;
|
||||||
this.dateTimePickerInventur.Size = new System.Drawing.Size(200, 35);
|
this.dateTimePickerInventur.Size = new System.Drawing.Size(200, 30);
|
||||||
this.dateTimePickerInventur.TabIndex = 0;
|
this.dateTimePickerInventur.TabIndex = 0;
|
||||||
this.dateTimePickerInventur.ValueChanged += new System.EventHandler(this.DateTimePicker_ValueChanged);
|
this.dateTimePickerInventur.ValueChanged += new System.EventHandler(this.DateTimePicker_ValueChanged);
|
||||||
//
|
//
|
||||||
@ -952,7 +953,7 @@ namespace Deckungsbeitrag
|
|||||||
this.label3.ForeColor = System.Drawing.Color.White;
|
this.label3.ForeColor = System.Drawing.Color.White;
|
||||||
this.label3.Location = new System.Drawing.Point(9, 336);
|
this.label3.Location = new System.Drawing.Point(9, 336);
|
||||||
this.label3.Name = "label3";
|
this.label3.Name = "label3";
|
||||||
this.label3.Size = new System.Drawing.Size(94, 29);
|
this.label3.Size = new System.Drawing.Size(78, 25);
|
||||||
this.label3.TabIndex = 47;
|
this.label3.TabIndex = 47;
|
||||||
this.label3.Text = "Service";
|
this.label3.Text = "Service";
|
||||||
//
|
//
|
||||||
@ -963,7 +964,7 @@ namespace Deckungsbeitrag
|
|||||||
this.comboBoxService.Location = new System.Drawing.Point(13, 361);
|
this.comboBoxService.Location = new System.Drawing.Point(13, 361);
|
||||||
this.comboBoxService.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
this.comboBoxService.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||||
this.comboBoxService.Name = "comboBoxService";
|
this.comboBoxService.Name = "comboBoxService";
|
||||||
this.comboBoxService.Size = new System.Drawing.Size(315, 37);
|
this.comboBoxService.Size = new System.Drawing.Size(315, 33);
|
||||||
this.comboBoxService.TabIndex = 48;
|
this.comboBoxService.TabIndex = 48;
|
||||||
this.comboBoxService.SelectedValueChanged += new System.EventHandler(this.ComboBoxService_SelectedValueChanged);
|
this.comboBoxService.SelectedValueChanged += new System.EventHandler(this.ComboBoxService_SelectedValueChanged);
|
||||||
//
|
//
|
||||||
@ -988,7 +989,7 @@ namespace Deckungsbeitrag
|
|||||||
this.label4.ForeColor = System.Drawing.Color.White;
|
this.label4.ForeColor = System.Drawing.Color.White;
|
||||||
this.label4.Location = new System.Drawing.Point(9, 529);
|
this.label4.Location = new System.Drawing.Point(9, 529);
|
||||||
this.label4.Name = "label4";
|
this.label4.Name = "label4";
|
||||||
this.label4.Size = new System.Drawing.Size(162, 29);
|
this.label4.Size = new System.Drawing.Size(135, 25);
|
||||||
this.label4.TabIndex = 51;
|
this.label4.TabIndex = 51;
|
||||||
this.label4.Text = "Anmerkungen";
|
this.label4.Text = "Anmerkungen";
|
||||||
//
|
//
|
||||||
@ -999,7 +1000,7 @@ namespace Deckungsbeitrag
|
|||||||
this.labelAnzahlChars.ForeColor = System.Drawing.Color.White;
|
this.labelAnzahlChars.ForeColor = System.Drawing.Color.White;
|
||||||
this.labelAnzahlChars.Location = new System.Drawing.Point(312, 532);
|
this.labelAnzahlChars.Location = new System.Drawing.Point(312, 532);
|
||||||
this.labelAnzahlChars.Name = "labelAnzahlChars";
|
this.labelAnzahlChars.Name = "labelAnzahlChars";
|
||||||
this.labelAnzahlChars.Size = new System.Drawing.Size(84, 25);
|
this.labelAnzahlChars.Size = new System.Drawing.Size(68, 20);
|
||||||
this.labelAnzahlChars.TabIndex = 52;
|
this.labelAnzahlChars.TabIndex = 52;
|
||||||
this.labelAnzahlChars.Text = "000/000";
|
this.labelAnzahlChars.Text = "000/000";
|
||||||
//
|
//
|
||||||
@ -1013,7 +1014,7 @@ namespace Deckungsbeitrag
|
|||||||
0,
|
0,
|
||||||
0});
|
0});
|
||||||
this.numericUpDownAufgabeCount.Name = "numericUpDownAufgabeCount";
|
this.numericUpDownAufgabeCount.Name = "numericUpDownAufgabeCount";
|
||||||
this.numericUpDownAufgabeCount.Size = new System.Drawing.Size(46, 40);
|
this.numericUpDownAufgabeCount.Size = new System.Drawing.Size(46, 34);
|
||||||
this.numericUpDownAufgabeCount.TabIndex = 53;
|
this.numericUpDownAufgabeCount.TabIndex = 53;
|
||||||
this.numericUpDownAufgabeCount.ValueChanged += new System.EventHandler(this.NumericUpDownAufgabeCount_ValueChanged);
|
this.numericUpDownAufgabeCount.ValueChanged += new System.EventHandler(this.NumericUpDownAufgabeCount_ValueChanged);
|
||||||
this.numericUpDownAufgabeCount.Leave += new System.EventHandler(this.NumericUpDownAufgabeCount_Leave);
|
this.numericUpDownAufgabeCount.Leave += new System.EventHandler(this.NumericUpDownAufgabeCount_Leave);
|
||||||
@ -1025,7 +1026,7 @@ namespace Deckungsbeitrag
|
|||||||
this.comboBoxLRSommer.Location = new System.Drawing.Point(13, 435);
|
this.comboBoxLRSommer.Location = new System.Drawing.Point(13, 435);
|
||||||
this.comboBoxLRSommer.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
this.comboBoxLRSommer.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||||
this.comboBoxLRSommer.Name = "comboBoxLRSommer";
|
this.comboBoxLRSommer.Name = "comboBoxLRSommer";
|
||||||
this.comboBoxLRSommer.Size = new System.Drawing.Size(170, 37);
|
this.comboBoxLRSommer.Size = new System.Drawing.Size(170, 33);
|
||||||
this.comboBoxLRSommer.TabIndex = 55;
|
this.comboBoxLRSommer.TabIndex = 55;
|
||||||
this.comboBoxLRSommer.SelectedIndexChanged += new System.EventHandler(this.ComboBoxLieferrhythmus_SelectedIndexChanged);
|
this.comboBoxLRSommer.SelectedIndexChanged += new System.EventHandler(this.ComboBoxLieferrhythmus_SelectedIndexChanged);
|
||||||
//
|
//
|
||||||
@ -1036,7 +1037,7 @@ namespace Deckungsbeitrag
|
|||||||
this.label5.ForeColor = System.Drawing.Color.White;
|
this.label5.ForeColor = System.Drawing.Color.White;
|
||||||
this.label5.Location = new System.Drawing.Point(9, 397);
|
this.label5.Location = new System.Drawing.Point(9, 397);
|
||||||
this.label5.Name = "label5";
|
this.label5.Name = "label5";
|
||||||
this.label5.Size = new System.Drawing.Size(170, 29);
|
this.label5.Size = new System.Drawing.Size(140, 25);
|
||||||
this.label5.TabIndex = 54;
|
this.label5.TabIndex = 54;
|
||||||
this.label5.Text = "Lieferrhythmus";
|
this.label5.Text = "Lieferrhythmus";
|
||||||
//
|
//
|
||||||
@ -1047,7 +1048,7 @@ namespace Deckungsbeitrag
|
|||||||
this.comboBoxLRWinter.Location = new System.Drawing.Point(195, 435);
|
this.comboBoxLRWinter.Location = new System.Drawing.Point(195, 435);
|
||||||
this.comboBoxLRWinter.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
this.comboBoxLRWinter.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||||
this.comboBoxLRWinter.Name = "comboBoxLRWinter";
|
this.comboBoxLRWinter.Name = "comboBoxLRWinter";
|
||||||
this.comboBoxLRWinter.Size = new System.Drawing.Size(170, 37);
|
this.comboBoxLRWinter.Size = new System.Drawing.Size(170, 33);
|
||||||
this.comboBoxLRWinter.TabIndex = 56;
|
this.comboBoxLRWinter.TabIndex = 56;
|
||||||
this.comboBoxLRWinter.SelectedIndexChanged += new System.EventHandler(this.ComboBoxLieferrhythmus_SelectedIndexChanged);
|
this.comboBoxLRWinter.SelectedIndexChanged += new System.EventHandler(this.ComboBoxLieferrhythmus_SelectedIndexChanged);
|
||||||
//
|
//
|
||||||
@ -1058,7 +1059,7 @@ namespace Deckungsbeitrag
|
|||||||
this.label6.ForeColor = System.Drawing.Color.White;
|
this.label6.ForeColor = System.Drawing.Color.White;
|
||||||
this.label6.Location = new System.Drawing.Point(10, 417);
|
this.label6.Location = new System.Drawing.Point(10, 417);
|
||||||
this.label6.Name = "label6";
|
this.label6.Name = "label6";
|
||||||
this.label6.Size = new System.Drawing.Size(72, 20);
|
this.label6.Size = new System.Drawing.Size(60, 17);
|
||||||
this.label6.TabIndex = 57;
|
this.label6.TabIndex = 57;
|
||||||
this.label6.Text = "Sommer";
|
this.label6.Text = "Sommer";
|
||||||
//
|
//
|
||||||
@ -1069,7 +1070,7 @@ namespace Deckungsbeitrag
|
|||||||
this.label7.ForeColor = System.Drawing.Color.White;
|
this.label7.ForeColor = System.Drawing.Color.White;
|
||||||
this.label7.Location = new System.Drawing.Point(192, 417);
|
this.label7.Location = new System.Drawing.Point(192, 417);
|
||||||
this.label7.Name = "label7";
|
this.label7.Name = "label7";
|
||||||
this.label7.Size = new System.Drawing.Size(58, 20);
|
this.label7.Size = new System.Drawing.Size(49, 17);
|
||||||
this.label7.TabIndex = 58;
|
this.label7.TabIndex = 58;
|
||||||
this.label7.Text = "Winter";
|
this.label7.Text = "Winter";
|
||||||
//
|
//
|
||||||
@ -1110,7 +1111,7 @@ namespace Deckungsbeitrag
|
|||||||
this.checkBoxNW.ForeColor = System.Drawing.Color.White;
|
this.checkBoxNW.ForeColor = System.Drawing.Color.White;
|
||||||
this.checkBoxNW.Location = new System.Drawing.Point(297, 152);
|
this.checkBoxNW.Location = new System.Drawing.Point(297, 152);
|
||||||
this.checkBoxNW.Name = "checkBoxNW";
|
this.checkBoxNW.Name = "checkBoxNW";
|
||||||
this.checkBoxNW.Size = new System.Drawing.Size(79, 33);
|
this.checkBoxNW.Size = new System.Drawing.Size(68, 29);
|
||||||
this.checkBoxNW.TabIndex = 59;
|
this.checkBoxNW.TabIndex = 59;
|
||||||
this.checkBoxNW.Text = "NW";
|
this.checkBoxNW.Text = "NW";
|
||||||
this.checkBoxNW.UseVisualStyleBackColor = true;
|
this.checkBoxNW.UseVisualStyleBackColor = true;
|
||||||
|
|||||||
@ -160,7 +160,7 @@
|
|||||||
<data name="deleteRowToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="deleteRowToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
vQAADr0BR/uQrQAAALlJREFUOE+tkrERwjAMRbMAa1CnpHZNwQgUbMBEdFBmhCxjoIrdqBX3fZFPFsEO
|
vAAADrwBlbxySQAAALlJREFUOE+tkrERwjAMRbMAa1CnpHZNwQgUbMBEdFBmhCxjoIrdqBX3fZFPFsEO
|
||||||
HMU7y+f8Z8mXjpm7GkTUE1GYQV3s8QE3COP5xAB1ePg47Hd5nwTOuUVwFp93RuCy3aSQ1FgLQZhigQiI
|
HMU7y+f8Z8mXjpm7GkTUE1GYQV3s8QE3COP5xAB1ePg47Hd5nwTOuUVwFp93RuCy3aSQ1FgLQZhigQiI
|
||||||
6KglEkYneYSGoJe2RSDtrxLo27HqcZpvAIbbNQchE+GbwHagmbxPIv0mzREsMtL8bxwQRv2TQNN8A01V
|
6KglEkYneYSGoJe2RSDtrxLo27HqcZpvAIbbNQchE+GbwHagmbxPIv0mzREsMtL8bxwQRv2TQNN8A01V
|
||||||
8OlGy9cCG7D8T7DEakENG7C8AEMBEFYEw8flAAAAAElFTkSuQmCC
|
8OlGy9cCG7D8T7DEakENG7C8AEMBEFYEw8flAAAAAElFTkSuQmCC
|
||||||
|
|||||||
19
AA-Forms/FormListe.Designer.cs
generated
19
AA-Forms/FormListe.Designer.cs
generated
@ -59,11 +59,11 @@ namespace Deckungsbeitrag
|
|||||||
this.listViewKunde.HideSelection = false;
|
this.listViewKunde.HideSelection = false;
|
||||||
this.listViewKunde.HotTracking = true;
|
this.listViewKunde.HotTracking = true;
|
||||||
this.listViewKunde.HoverSelection = true;
|
this.listViewKunde.HoverSelection = true;
|
||||||
this.listViewKunde.Location = new System.Drawing.Point(12, 54);
|
this.listViewKunde.Location = new System.Drawing.Point(12, 76);
|
||||||
this.listViewKunde.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
this.listViewKunde.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||||
this.listViewKunde.MultiSelect = false;
|
this.listViewKunde.MultiSelect = false;
|
||||||
this.listViewKunde.Name = "listViewKunde";
|
this.listViewKunde.Name = "listViewKunde";
|
||||||
this.listViewKunde.Size = new System.Drawing.Size(527, 573);
|
this.listViewKunde.Size = new System.Drawing.Size(850, 551);
|
||||||
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;
|
||||||
@ -89,25 +89,24 @@ namespace Deckungsbeitrag
|
|||||||
//
|
//
|
||||||
// textBoxKunde
|
// textBoxKunde
|
||||||
//
|
//
|
||||||
this.textBoxKunde.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.textBoxKunde.Font = new System.Drawing.Font("Microsoft Sans Serif", 16.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.textBoxKunde.ForeColor = System.Drawing.Color.Silver;
|
this.textBoxKunde.ForeColor = System.Drawing.Color.Silver;
|
||||||
this.textBoxKunde.Location = new System.Drawing.Point(12, 16);
|
this.textBoxKunde.Location = new System.Drawing.Point(12, 16);
|
||||||
this.textBoxKunde.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
this.textBoxKunde.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||||
this.textBoxKunde.Name = "textBoxKunde";
|
this.textBoxKunde.Name = "textBoxKunde";
|
||||||
this.textBoxKunde.Size = new System.Drawing.Size(159, 30);
|
this.textBoxKunde.Size = new System.Drawing.Size(393, 38);
|
||||||
this.textBoxKunde.TabIndex = 0;
|
this.textBoxKunde.TabIndex = 0;
|
||||||
this.textBoxKunde.Text = "Hier eingeben";
|
this.textBoxKunde.Text = "Hier eingeben";
|
||||||
this.textBoxKunde.Click += new System.EventHandler(this.TextBoxKunde_Click);
|
this.textBoxKunde.Click += new System.EventHandler(this.TextBoxKunde_Click);
|
||||||
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.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxKunde_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
|
||||||
//
|
//
|
||||||
this.label1.AutoSize = true;
|
this.label1.AutoSize = true;
|
||||||
this.label1.ForeColor = System.Drawing.Color.White;
|
this.label1.ForeColor = System.Drawing.Color.White;
|
||||||
this.label1.Location = new System.Drawing.Point(184, 18);
|
this.label1.Location = new System.Drawing.Point(412, 19);
|
||||||
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||||
this.label1.Name = "label1";
|
this.label1.Name = "label1";
|
||||||
this.label1.Size = new System.Drawing.Size(304, 32);
|
this.label1.Size = new System.Drawing.Size(304, 32);
|
||||||
@ -125,7 +124,7 @@ namespace Deckungsbeitrag
|
|||||||
this.buttonOK.Location = new System.Drawing.Point(84, 85);
|
this.buttonOK.Location = new System.Drawing.Point(84, 85);
|
||||||
this.buttonOK.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
this.buttonOK.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||||
this.buttonOK.Name = "buttonOK";
|
this.buttonOK.Name = "buttonOK";
|
||||||
this.buttonOK.Size = new System.Drawing.Size(381, 50);
|
this.buttonOK.Size = new System.Drawing.Size(704, 50);
|
||||||
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;
|
||||||
@ -142,7 +141,7 @@ namespace Deckungsbeitrag
|
|||||||
this.buttonNeuerAuftrag.Location = new System.Drawing.Point(160, 574);
|
this.buttonNeuerAuftrag.Location = new System.Drawing.Point(160, 574);
|
||||||
this.buttonNeuerAuftrag.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
this.buttonNeuerAuftrag.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||||
this.buttonNeuerAuftrag.Name = "buttonNeuerAuftrag";
|
this.buttonNeuerAuftrag.Name = "buttonNeuerAuftrag";
|
||||||
this.buttonNeuerAuftrag.Size = new System.Drawing.Size(222, 42);
|
this.buttonNeuerAuftrag.Size = new System.Drawing.Size(545, 42);
|
||||||
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;
|
||||||
@ -153,7 +152,7 @@ namespace Deckungsbeitrag
|
|||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
|
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
|
||||||
this.ClientSize = new System.Drawing.Size(551, 642);
|
this.ClientSize = new System.Drawing.Size(874, 642);
|
||||||
this.Controls.Add(this.buttonNeuerAuftrag);
|
this.Controls.Add(this.buttonNeuerAuftrag);
|
||||||
this.Controls.Add(this.buttonOK);
|
this.Controls.Add(this.buttonOK);
|
||||||
this.Controls.Add(this.label1);
|
this.Controls.Add(this.label1);
|
||||||
|
|||||||
@ -13,6 +13,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using System.Windows.Media.TextFormatting;
|
||||||
using VirtualKeyboard;
|
using VirtualKeyboard;
|
||||||
using ZXing;
|
using ZXing;
|
||||||
|
|
||||||
@ -347,14 +348,6 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
this.Size = new Size(lvwWidth + 50, this.Height);
|
this.Size = new Size(lvwWidth + 50, this.Height);
|
||||||
}
|
}
|
||||||
private void TextBoxKunde_Enter(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Fahrer)
|
|
||||||
{
|
|
||||||
this.textBoxKunde.ForeColor = Color.Black;
|
|
||||||
this.textBoxKunde.Clear();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void TextBoxKunde_Click(object sender, EventArgs e)
|
private void TextBoxKunde_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.textBoxKunde.ForeColor = Color.Black;
|
this.textBoxKunde.ForeColor = Color.Black;
|
||||||
@ -378,56 +371,20 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
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
|
TextBox textbox = (TextBox)sender;
|
||||||
timer.Stop(); // Alten Timer beenden
|
if (textbox.ForeColor == Color.Black)
|
||||||
timer.Start(); // Neuen Timer starten
|
{
|
||||||
|
// TextChanged tritt nur ein wenn x Sekunden keine Eingabe erfolgt. Logik befindet sich in Timer_Tick
|
||||||
|
timer.Stop(); // Alten Timer beenden
|
||||||
|
timer.Start(); // Neuen Timer starten
|
||||||
|
}
|
||||||
}
|
}
|
||||||
private async void Timer_Tick(object sender, EventArgs e)
|
private async void Timer_Tick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
timer.Stop(); // Timer stoppen
|
timer.Stop(); // Timer stoppen
|
||||||
|
|
||||||
if (textBoxKunde.ForeColor != Color.Black & !this.textBoxKunde.Text.StartsWith("https")) { return; }
|
if (textBoxKunde.ForeColor != Color.Black & !this.textBoxKunde.Text.ToLower().StartsWith("https")) { return; }
|
||||||
else TextBoxKunde_Leave(textBoxKunde, e);
|
else TextBoxKunde_Leave(textBoxKunde, e);
|
||||||
//// Wenn kein Fragezeichen am Anfang wird Kundenliste erstellt.
|
|
||||||
//if (!textBoxKunde.Text.StartsWith("?"))
|
|
||||||
//{
|
|
||||||
// string text;
|
|
||||||
// if (textBoxKunde.Text.StartsWith("http"))
|
|
||||||
// {
|
|
||||||
// int index = 1;
|
|
||||||
// index += textBoxKunde.Text.IndexOf("=", index);
|
|
||||||
// int i = textBoxKunde.Text.IndexOf("%", index);
|
|
||||||
// text = textBoxKunde.Text.Substring(index, i - index);
|
|
||||||
// textBoxKunde.Text = text;
|
|
||||||
// }
|
|
||||||
// else text = this.textBoxKunde.Text;
|
|
||||||
|
|
||||||
// if (kategorie == 0)
|
|
||||||
// {
|
|
||||||
// this.Kundenliste = Kunde.GetTmpList(text, this.kndService);
|
|
||||||
// ListViewKunde_Load();
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// List<View_Auftrag_Expedit> _allÍtems = await View_Auftrag_Expedit.GetAuftragExpeditAsync(statusFilter: AuftragStatus.Gewaschen, typFilter: AuftragTyp.Standart, kategorie: kategorie, undFertig: true);
|
|
||||||
// string term = text.Trim().ToLower();
|
|
||||||
// if (!string.IsNullOrWhiteSpace(term))
|
|
||||||
// {
|
|
||||||
// var filtered = string.IsNullOrWhiteSpace(term) ? _allÍtems : _allÍtems.Where(x => x.KundeName != null && x.KundeName.ToLower().Contains(term)).ToList();
|
|
||||||
// FillListView(filtered);
|
|
||||||
// }
|
|
||||||
// else FillListView(_allÍtems);
|
|
||||||
// }
|
|
||||||
// return;
|
|
||||||
//}
|
|
||||||
|
|
||||||
//// Wenn Fragezeichen am Anfang wird OK-Button aktiviert.
|
|
||||||
//if (textBoxKunde.Text.StartsWith("?"))
|
|
||||||
//{
|
|
||||||
// this.listViewKunde.Visible = this.listViewKunde.Enabled = false;
|
|
||||||
// this.buttonOK.Visible = this.buttonOK.Enabled = true;
|
|
||||||
// this.Height = this.buttonOK.Bottom + 100;
|
|
||||||
//}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
private void ListViewKunde_MouseClick(object sender, MouseEventArgs e)
|
private void ListViewKunde_MouseClick(object sender, MouseEventArgs e)
|
||||||
@ -466,7 +423,7 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
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)
|
||||||
{
|
{
|
||||||
if (textBoxKunde.Text.StartsWith("?"))
|
if (textBoxKunde.Text.StartsWith("?"))
|
||||||
{
|
{
|
||||||
@ -532,7 +489,7 @@ namespace Deckungsbeitrag
|
|||||||
if (!textBoxKunde.Text.StartsWith("?"))
|
if (!textBoxKunde.Text.StartsWith("?"))
|
||||||
{
|
{
|
||||||
string text;
|
string text;
|
||||||
if (textBoxKunde.Text.StartsWith("http"))
|
if (textBoxKunde.Text.ToLower().StartsWith("https"))
|
||||||
{
|
{
|
||||||
int index = 1;
|
int index = 1;
|
||||||
index += textBoxKunde.Text.IndexOf("=", index);
|
index += textBoxKunde.Text.IndexOf("=", index);
|
||||||
@ -560,14 +517,12 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
// Wenn Fragezeichen am Anfang wird OK-Button aktiviert.
|
|
||||||
if (textBoxKunde.Text.StartsWith("?"))
|
|
||||||
{
|
{
|
||||||
this.listViewKunde.Visible = this.listViewKunde.Enabled = false;
|
this.listViewKunde.Visible = this.listViewKunde.Enabled = false;
|
||||||
this.buttonOK.Visible = this.buttonOK.Enabled = true;
|
this.buttonOK.Visible = this.buttonOK.Enabled = true;
|
||||||
this.Height = this.buttonOK.Bottom + 100;
|
this.Height = this.buttonOK.Bottom + 100;
|
||||||
}
|
} // Wenn Fragezeichen am Anfang wird OK-Button aktiviert.
|
||||||
|
|
||||||
}
|
}
|
||||||
private void ButtonNeuerAuftrag_Click(object sender, EventArgs e)
|
private void ButtonNeuerAuftrag_Click(object sender, EventArgs e)
|
||||||
@ -582,5 +537,18 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
if (keyboard != null) keyboard.Close();
|
if (keyboard != null) keyboard.Close();
|
||||||
}
|
}
|
||||||
|
private void TextBoxKunde_KeyDown(object sender, KeyEventArgs e)
|
||||||
|
{
|
||||||
|
TextBox txtScan = (TextBox)sender;
|
||||||
|
if (e.KeyCode == Keys.Enter)
|
||||||
|
{
|
||||||
|
e.SuppressKeyPress = true;
|
||||||
|
string code = txtScan.Text.Trim();
|
||||||
|
txtScan.Clear();
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(code))
|
||||||
|
TextBoxKunde_Leave(txtScan, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
68
AA-Forms/FormMain.Designer.cs
generated
68
AA-Forms/FormMain.Designer.cs
generated
@ -38,6 +38,7 @@ namespace Deckungsbeitrag
|
|||||||
this.toolStripZaehlscheine = new System.Windows.Forms.ToolStripButton();
|
this.toolStripZaehlscheine = new System.Windows.Forms.ToolStripButton();
|
||||||
this.tSBExpedit = new System.Windows.Forms.ToolStripButton();
|
this.tSBExpedit = new System.Windows.Forms.ToolStripButton();
|
||||||
this.toolStripDB = new System.Windows.Forms.ToolStripButton();
|
this.toolStripDB = new System.Windows.Forms.ToolStripButton();
|
||||||
|
this.tSBTourenplanung = new System.Windows.Forms.ToolStripButton();
|
||||||
this.tSBKosten = new System.Windows.Forms.ToolStripButton();
|
this.tSBKosten = new System.Windows.Forms.ToolStripButton();
|
||||||
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
||||||
this.tSBScannTest = new System.Windows.Forms.ToolStripButton();
|
this.tSBScannTest = new System.Windows.Forms.ToolStripButton();
|
||||||
@ -45,7 +46,6 @@ namespace Deckungsbeitrag
|
|||||||
this.toolStripButtonImport = new System.Windows.Forms.ToolStripButton();
|
this.toolStripButtonImport = new System.Windows.Forms.ToolStripButton();
|
||||||
this.tSBEinstellung = new System.Windows.Forms.ToolStripButton();
|
this.tSBEinstellung = new System.Windows.Forms.ToolStripButton();
|
||||||
this.tSBWaschstrasse = new System.Windows.Forms.ToolStripButton();
|
this.tSBWaschstrasse = new System.Windows.Forms.ToolStripButton();
|
||||||
this.tSBTourenplanung = new System.Windows.Forms.ToolStripButton();
|
|
||||||
this.toolStripBeenden = new System.Windows.Forms.ToolStripButton();
|
this.toolStripBeenden = new System.Windows.Forms.ToolStripButton();
|
||||||
this.panelMain = new System.Windows.Forms.Panel();
|
this.panelMain = new System.Windows.Forms.Panel();
|
||||||
this.buttonSonderAuftrag = new System.Windows.Forms.Button();
|
this.buttonSonderAuftrag = new System.Windows.Forms.Button();
|
||||||
@ -109,6 +109,7 @@ namespace Deckungsbeitrag
|
|||||||
this.textBoxScannTest = new System.Windows.Forms.TextBox();
|
this.textBoxScannTest = new System.Windows.Forms.TextBox();
|
||||||
this.buttonScannTest = new System.Windows.Forms.Button();
|
this.buttonScannTest = new System.Windows.Forms.Button();
|
||||||
this.labelScannTest = new System.Windows.Forms.Label();
|
this.labelScannTest = new System.Windows.Forms.Label();
|
||||||
|
this.buttonTest = new System.Windows.Forms.Button();
|
||||||
this.toolStripMenu.SuspendLayout();
|
this.toolStripMenu.SuspendLayout();
|
||||||
this.panelMain.SuspendLayout();
|
this.panelMain.SuspendLayout();
|
||||||
this.groupBoxAuftrag.SuspendLayout();
|
this.groupBoxAuftrag.SuspendLayout();
|
||||||
@ -138,6 +139,7 @@ namespace Deckungsbeitrag
|
|||||||
this.toolStripZaehlscheine,
|
this.toolStripZaehlscheine,
|
||||||
this.tSBExpedit,
|
this.tSBExpedit,
|
||||||
this.toolStripDB,
|
this.toolStripDB,
|
||||||
|
this.tSBTourenplanung,
|
||||||
this.tSBKosten,
|
this.tSBKosten,
|
||||||
this.toolStripButton1,
|
this.toolStripButton1,
|
||||||
this.tSBScannTest,
|
this.tSBScannTest,
|
||||||
@ -145,7 +147,6 @@ namespace Deckungsbeitrag
|
|||||||
this.toolStripButtonImport,
|
this.toolStripButtonImport,
|
||||||
this.tSBEinstellung,
|
this.tSBEinstellung,
|
||||||
this.tSBWaschstrasse,
|
this.tSBWaschstrasse,
|
||||||
this.tSBTourenplanung,
|
|
||||||
this.toolStripBeenden});
|
this.toolStripBeenden});
|
||||||
this.toolStripMenu.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.VerticalStackWithOverflow;
|
this.toolStripMenu.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.VerticalStackWithOverflow;
|
||||||
this.toolStripMenu.Location = new System.Drawing.Point(0, 0);
|
this.toolStripMenu.Location = new System.Drawing.Point(0, 0);
|
||||||
@ -298,6 +299,26 @@ namespace Deckungsbeitrag
|
|||||||
this.toolStripDB.MouseLeave += new System.EventHandler(this.ToolStrip_MouseLeave);
|
this.toolStripDB.MouseLeave += new System.EventHandler(this.ToolStrip_MouseLeave);
|
||||||
this.toolStripDB.Paint += new System.Windows.Forms.PaintEventHandler(this.Get_Border_Paint);
|
this.toolStripDB.Paint += new System.Windows.Forms.PaintEventHandler(this.Get_Border_Paint);
|
||||||
//
|
//
|
||||||
|
// tSBTourenplanung
|
||||||
|
//
|
||||||
|
this.tSBTourenplanung.AutoSize = false;
|
||||||
|
this.tSBTourenplanung.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
|
||||||
|
this.tSBTourenplanung.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
|
||||||
|
this.tSBTourenplanung.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.tSBTourenplanung.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.tSBTourenplanung.Image = ((System.Drawing.Image)(resources.GetObject("tSBTourenplanung.Image")));
|
||||||
|
this.tSBTourenplanung.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||||
|
this.tSBTourenplanung.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
|
||||||
|
this.tSBTourenplanung.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||||
|
this.tSBTourenplanung.Name = "tSBTourenplanung";
|
||||||
|
this.tSBTourenplanung.Size = new System.Drawing.Size(180, 40);
|
||||||
|
this.tSBTourenplanung.Text = "TOURENPLAN";
|
||||||
|
this.tSBTourenplanung.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||||
|
this.tSBTourenplanung.Click += new System.EventHandler(this.TSBTourenplanung_Click);
|
||||||
|
this.tSBTourenplanung.MouseEnter += new System.EventHandler(this.ToolStrip_MouseEnter);
|
||||||
|
this.tSBTourenplanung.MouseLeave += new System.EventHandler(this.ToolStrip_MouseLeave);
|
||||||
|
this.tSBTourenplanung.Paint += new System.Windows.Forms.PaintEventHandler(this.Get_Border_Paint);
|
||||||
|
//
|
||||||
// tSBKosten
|
// tSBKosten
|
||||||
//
|
//
|
||||||
this.tSBKosten.AutoSize = false;
|
this.tSBKosten.AutoSize = false;
|
||||||
@ -428,26 +449,6 @@ namespace Deckungsbeitrag
|
|||||||
this.tSBWaschstrasse.MouseLeave += new System.EventHandler(this.ToolStrip_MouseLeave);
|
this.tSBWaschstrasse.MouseLeave += new System.EventHandler(this.ToolStrip_MouseLeave);
|
||||||
this.tSBWaschstrasse.Paint += new System.Windows.Forms.PaintEventHandler(this.Get_Border_Paint);
|
this.tSBWaschstrasse.Paint += new System.Windows.Forms.PaintEventHandler(this.Get_Border_Paint);
|
||||||
//
|
//
|
||||||
// tSBTourenplanung
|
|
||||||
//
|
|
||||||
this.tSBTourenplanung.AutoSize = false;
|
|
||||||
this.tSBTourenplanung.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
|
|
||||||
this.tSBTourenplanung.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
|
|
||||||
this.tSBTourenplanung.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
|
||||||
this.tSBTourenplanung.ForeColor = System.Drawing.Color.White;
|
|
||||||
this.tSBTourenplanung.Image = ((System.Drawing.Image)(resources.GetObject("tSBTourenplanung.Image")));
|
|
||||||
this.tSBTourenplanung.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
|
|
||||||
this.tSBTourenplanung.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
|
|
||||||
this.tSBTourenplanung.ImageTransparentColor = System.Drawing.Color.Magenta;
|
|
||||||
this.tSBTourenplanung.Name = "tSBTourenplanung";
|
|
||||||
this.tSBTourenplanung.Size = new System.Drawing.Size(180, 40);
|
|
||||||
this.tSBTourenplanung.Text = "TOURENPLANUNG";
|
|
||||||
this.tSBTourenplanung.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
|
||||||
this.tSBTourenplanung.Click += new System.EventHandler(this.TSBTourenplanung_Click);
|
|
||||||
this.tSBTourenplanung.MouseEnter += new System.EventHandler(this.ToolStrip_MouseEnter);
|
|
||||||
this.tSBTourenplanung.MouseLeave += new System.EventHandler(this.ToolStrip_MouseLeave);
|
|
||||||
this.tSBTourenplanung.Paint += new System.Windows.Forms.PaintEventHandler(this.Get_Border_Paint);
|
|
||||||
//
|
|
||||||
// toolStripBeenden
|
// toolStripBeenden
|
||||||
//
|
//
|
||||||
this.toolStripBeenden.AutoSize = false;
|
this.toolStripBeenden.AutoSize = false;
|
||||||
@ -472,6 +473,7 @@ namespace Deckungsbeitrag
|
|||||||
//
|
//
|
||||||
this.panelMain.AllowDrop = true;
|
this.panelMain.AllowDrop = true;
|
||||||
this.panelMain.BackColor = System.Drawing.Color.White;
|
this.panelMain.BackColor = System.Drawing.Color.White;
|
||||||
|
this.panelMain.Controls.Add(this.buttonTest);
|
||||||
this.panelMain.Controls.Add(this.buttonSonderAuftrag);
|
this.panelMain.Controls.Add(this.buttonSonderAuftrag);
|
||||||
this.panelMain.Controls.Add(this.groupBoxAuftrag);
|
this.panelMain.Controls.Add(this.groupBoxAuftrag);
|
||||||
this.panelMain.Controls.Add(this.panelProgress);
|
this.panelMain.Controls.Add(this.panelProgress);
|
||||||
@ -1451,6 +1453,27 @@ namespace Deckungsbeitrag
|
|||||||
this.labelScannTest.TabIndex = 11;
|
this.labelScannTest.TabIndex = 11;
|
||||||
this.labelScannTest.Text = "label1";
|
this.labelScannTest.Text = "label1";
|
||||||
//
|
//
|
||||||
|
// buttonTest
|
||||||
|
//
|
||||||
|
this.buttonTest.BackColor = System.Drawing.Color.Red;
|
||||||
|
this.buttonTest.Enabled = false;
|
||||||
|
this.buttonTest.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
|
||||||
|
this.buttonTest.FlatAppearance.BorderSize = 0;
|
||||||
|
this.buttonTest.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||||
|
this.buttonTest.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.buttonTest.ForeColor = System.Drawing.Color.Black;
|
||||||
|
this.buttonTest.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||||
|
this.buttonTest.Location = new System.Drawing.Point(376, 15);
|
||||||
|
this.buttonTest.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
|
||||||
|
this.buttonTest.Name = "buttonTest";
|
||||||
|
this.buttonTest.Size = new System.Drawing.Size(333, 50);
|
||||||
|
this.buttonTest.TabIndex = 73;
|
||||||
|
this.buttonTest.Text = "Trello Test";
|
||||||
|
this.buttonTest.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
|
||||||
|
this.buttonTest.UseVisualStyleBackColor = false;
|
||||||
|
this.buttonTest.Visible = false;
|
||||||
|
this.buttonTest.Click += new System.EventHandler(this.buttonTest_Click);
|
||||||
|
//
|
||||||
// FormMain
|
// FormMain
|
||||||
//
|
//
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||||
@ -1576,6 +1599,7 @@ namespace Deckungsbeitrag
|
|||||||
private System.Windows.Forms.ProgressBar progressBarKundeArtikelUpdate;
|
private System.Windows.Forms.ProgressBar progressBarKundeArtikelUpdate;
|
||||||
private System.Windows.Forms.Panel panelProgress;
|
private System.Windows.Forms.Panel panelProgress;
|
||||||
private System.Windows.Forms.Button buttonSonderAuftrag;
|
private System.Windows.Forms.Button buttonSonderAuftrag;
|
||||||
|
private System.Windows.Forms.Button buttonTest;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -26,6 +26,7 @@ using System.Threading;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
|
using TrelloIntegration;
|
||||||
using ZXing.Common;
|
using ZXing.Common;
|
||||||
using Timer = System.Windows.Forms.Timer;
|
using Timer = System.Windows.Forms.Timer;
|
||||||
|
|
||||||
@ -117,17 +118,16 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.groupBoxContAnz.Visible)
|
|
||||||
{
|
|
||||||
await GetAuftraege();
|
|
||||||
GetContainerProTag();
|
|
||||||
}
|
|
||||||
|
|
||||||
// UserCotnrols werden eingefügt
|
// UserCotnrols werden eingefügt
|
||||||
GetUserControls();
|
GetUserControls();
|
||||||
// Controls werde Enabled
|
// Controls werde Enabled
|
||||||
Enable_Controls();
|
Enable_Controls();
|
||||||
|
|
||||||
|
if (this.groupBoxContAnz.Visible)
|
||||||
|
{
|
||||||
|
await GetAuftraege();
|
||||||
|
GetContainerProTag();
|
||||||
|
}
|
||||||
|
|
||||||
this.Activate();
|
this.Activate();
|
||||||
_fixedSize = this.Size;
|
_fixedSize = this.Size;
|
||||||
@ -193,16 +193,6 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
private (DateTime? datum, string[] touren, string tour) ShowTourenplan()
|
|
||||||
{
|
|
||||||
FormShowUserControl showUserControl = new FormShowUserControl("Tourenplan", this.benutzer, this.kunde);
|
|
||||||
if (showUserControl.ShowDialog() == DialogResult.OK)
|
|
||||||
{
|
|
||||||
var data = showUserControl.lieferDaten;
|
|
||||||
return (data.datum, data.touren, data.text);
|
|
||||||
}
|
|
||||||
return (null, null, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
#region ToolStripButton-Events
|
#region ToolStripButton-Events
|
||||||
private void Get_Border_Paint(object sender, PaintEventArgs e)
|
private void Get_Border_Paint(object sender, PaintEventArgs e)
|
||||||
@ -245,10 +235,7 @@ namespace Deckungsbeitrag
|
|||||||
private void ToolStripZaehlscheine_Click(object sender, EventArgs e)
|
private void ToolStripZaehlscheine_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
FormKundeVW kundedaten = new FormKundeVW(this.benutzer);
|
FormKundeVW kundedaten = new FormKundeVW(this.benutzer);
|
||||||
if (kundedaten.ShowDialog() == DialogResult.OK)
|
kundedaten.Show();
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
private void ToolStripDB_Click(object sender, EventArgs e)
|
private void ToolStripDB_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@ -319,8 +306,12 @@ namespace Deckungsbeitrag
|
|||||||
private void TSBTourenplanung_Click(object sender, EventArgs e)
|
private void TSBTourenplanung_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
this.Cursor = Cursors.WaitCursor;
|
||||||
FormTourenplanung tourenplanung = new FormTourenplanung(this.benutzer);
|
//FormTourenplanung tourenplanung = new FormTourenplanung(this.benutzer);
|
||||||
tourenplanung.ShowDialog();
|
//tourenplanung.ShowDialog();
|
||||||
|
|
||||||
|
FormShowUserControl showUserControl = new FormShowUserControl("Tourenplan", this.benutzer);
|
||||||
|
showUserControl.Show();
|
||||||
|
|
||||||
this.Cursor = Cursors.Default;
|
this.Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
private void TSBHilfe_Click(object sender, EventArgs e)
|
private void TSBHilfe_Click(object sender, EventArgs e)
|
||||||
@ -455,22 +446,38 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
private void ButtonTourenliste_Click(object sender, EventArgs e)
|
private void ButtonTourenliste_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Benutzer fahrer = new Benutzer();
|
Tour tour = null;
|
||||||
if (this.benutzer.Rolle == BenutzerRolle.Fahrer) fahrer = this.benutzer;
|
Benutzer fahrer = this.benutzer;
|
||||||
else
|
|
||||||
|
Saison saison = Saison.GetAktivSaison();
|
||||||
|
FormShowUserControl showUserControl = new FormShowUserControl("Tourenplan", this.benutzer);
|
||||||
|
if (showUserControl.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
List<Benutzer> fahrerliste = Benutzer.GetFahrerList();
|
var lieferdaten = showUserControl.lieferDaten;
|
||||||
FormBenutzerVW benutzerVW = new FormBenutzerVW(fahrerliste);
|
tour = Tour.GetTour(saison.SaisonId, lieferdaten.text);
|
||||||
if (benutzerVW.ShowDialog() == DialogResult.OK)
|
|
||||||
{
|
List<Auftrag> auftragliste = Auftrag.GetTourenListe(tour, lieferdaten.datum.Date);
|
||||||
fahrer = benutzerVW.user;
|
if (auftragliste.Count > 0) Funktionen.TourenListe_Drucken(auftragliste, tour, this, this.benutzer, fahrer);
|
||||||
}
|
|
||||||
}
|
|
||||||
if (fahrer != null)
|
|
||||||
{
|
|
||||||
List<Auftrag> auftragliste = Auftrag.GetTourenListe(fahrer);
|
|
||||||
if (auftragliste.Count > 0) Funktionen.TourenListe_Drucken(auftragliste, fahrer, this, this.benutzer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//Benutzer fahrer = new Benutzer();
|
||||||
|
//if (this.benutzer.Rolle == BenutzerRolle.Fahrer) fahrer = this.benutzer;
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// List<Benutzer> fahrerliste = Benutzer.GetFahrerList();
|
||||||
|
// FormBenutzerVW benutzerVW = new FormBenutzerVW(fahrerliste);
|
||||||
|
// if (benutzerVW.ShowDialog() == DialogResult.OK)
|
||||||
|
// {
|
||||||
|
// fahrer = benutzerVW.user;
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
//if (fahrer != null)
|
||||||
|
//{
|
||||||
|
// List<Auftrag> auftragliste = Auftrag.GetTourenListe(fahrer);
|
||||||
|
// if (auftragliste.Count > 0) Funktionen.TourenListe_Drucken(auftragliste, fahrer, this, this.benutzer);
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
private async void ButtonKundeArtikelUpdate_Click(object sender, EventArgs e)
|
private async void ButtonKundeArtikelUpdate_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@ -1038,6 +1045,16 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
private (DateTime? datum, string[] touren, string tour) ShowTourenplan()
|
||||||
|
{
|
||||||
|
FormShowUserControl showUserControl = new FormShowUserControl("Tourenplan", this.benutzer, this.kunde);
|
||||||
|
if (showUserControl.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
|
var data = showUserControl.lieferDaten;
|
||||||
|
return (data.datum, data.touren, data.text);
|
||||||
|
}
|
||||||
|
return (null, null, null);
|
||||||
|
}
|
||||||
private async void ZeigeOnboarding()
|
private async void ZeigeOnboarding()
|
||||||
{
|
{
|
||||||
if (this.benutzer.IstGesehen(onBoardingArt)) return; // Bereits fertig
|
if (this.benutzer.IstGesehen(onBoardingArt)) return; // Bereits fertig
|
||||||
@ -1264,7 +1281,7 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
Control ctr = this.tLPContAnz.GetControlFromPosition(i, row);
|
Control ctr = this.tLPContAnz.GetControlFromPosition(i, row);
|
||||||
ctr.Text = Funktionen.GetWochentagDeutsch(key.DayOfWeek);
|
ctr.Text = Funktionen.GetWochentagDeutsch(key.DayOfWeek);
|
||||||
ctr.Text += " (" + key.ToShortDateString() + "):"; // "13.02.2026"
|
ctr.Text += " (" + key.ToShortDateString() + "):";
|
||||||
|
|
||||||
row++;
|
row++;
|
||||||
}
|
}
|
||||||
@ -1375,6 +1392,47 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async void buttonTest_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (TrelloConfig.HasCredentials())
|
||||||
|
{
|
||||||
|
var apiKey = TrelloConfig.GetApiKey();
|
||||||
|
var token = TrelloConfig.GetToken();
|
||||||
|
TrelloCardClient _trelloClient = new TrelloCardClient(apiKey, token);
|
||||||
|
|
||||||
|
if (_trelloClient == null)
|
||||||
|
{
|
||||||
|
MessageBox.Show("Bitte zuerst Credentials speichern.", "Fehler",
|
||||||
|
MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var options = new CreateCardOptions
|
||||||
|
{
|
||||||
|
Name = "TestKarte",
|
||||||
|
Desc = "TestKarte wurde aus Verwaltung importiert",
|
||||||
|
IdList = "6a1fcdc9a1995f42c537ae10",
|
||||||
|
Pos = "top",
|
||||||
|
DueDate = new DateTime(2026, 6, 10, 17, 0, 0, DateTimeKind.Local)
|
||||||
|
};
|
||||||
|
|
||||||
|
var card = await _trelloClient.CreateCardAndParseAsync(options);
|
||||||
|
|
||||||
|
MessageBox.Show(
|
||||||
|
$"Karte erstellt:\nID: {card.Id}\nName: {card.Name}\nURL: {card.ShortUrl}",
|
||||||
|
"Erfolg",
|
||||||
|
MessageBoxButtons.OK,
|
||||||
|
MessageBoxIcon.Information);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
MessageBox.Show($"Fehler beim Erstellen der Karte:\n{ex.Message}", "Fehler",
|
||||||
|
MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//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.
|
||||||
|
|||||||
@ -188,6 +188,17 @@
|
|||||||
K5WtGpmnmIhaegrBvM8vP9P0q5xzIcn9UJHRe88ahojZOVcBQxCc/lcSmSpJdBo8axYC8JEsNYAeRO+J
|
K5WtGpmnmIhaegrBvM8vP9P0q5xzIcn9UJHRe88ahojZOVcBQxCc/lcSmSpJdBo8axYC8JEsNYAeRO+J
|
||||||
GIBEhFgpGsARGV+sPmcC3q9PVQihpJRqmlOANm/bnfcIQn0CxRi51wXIdb7MddpyXZpeF4AJSLTWPROg
|
GIBEhFgpGsARGV+sPmcC3q9PVQihpJRqmlOANm/bnfcIQn0CxRi51wXIdb7MddpyXZpeF4AJSLTWPROg
|
||||||
Ic/HXtb1xqK1NotRdPgVzsRG/IFGJf4vZOpFEVHH2lgAAAAASUVORK5CYII=
|
Ic/HXtb1xqK1NotRdPgVzsRG/IFGJf4vZOpFEVHH2lgAAAAASUVORK5CYII=
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="tSBTourenplanung.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAEMSURBVDhPrZMxjoNADEVzpD1CRE9PzwW2pkpDzwEo0tEi
|
||||||
|
DkBPT09BSbORsCkneqM1yUxQtNLG0pdG/va3x+M5nT5p27adVbVVVRehhYvjA1PVapomV5alS9PUJUni
|
||||||
|
wRkfHDFxnjeIcRx9cJZlrmkaNwyDB2d8cIcitAZhleZ5vonIBT/gjK+qKtf3PQI/67p+PVdvSaQKgQH5
|
||||||
|
ayLyvSzLXiQQYUgQXdc5qh0kXwBJds08zx/FEGBY3Pdo0vB1Xe8oisLHm8hnBP57hX2ILxN+iARDDIYd
|
||||||
|
PyMiVCQA2DPSIdc8LCIiV0hbJIJpF2HObxfJDBFbZVtjg60yMXFeYM+fiQ7Anz9TbDaD2B/bHero49g9
|
||||||
|
VkT2AAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tSBKosten.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tSBKosten.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
@ -472,17 +483,6 @@
|
|||||||
ayLyvSzLXiQQYUgQXdc5qh0kXwBJds08zx/FEGBY3Pdo0vB1Xe8oisLHm8hnBP57hX2ILxN+iARDDIYd
|
ayLyvSzLXiQQYUgQXdc5qh0kXwBJds08zx/FEGBY3Pdo0vB1Xe8oisLHm8hnBP57hX2ILxN+iARDDIYd
|
||||||
PyMiVCQA2DPSIdc8LCIiV0hbJIJpF2HObxfJDBFbZVtjg60yMXFeYM+fiQ7Anz9TbDaD2B/bHero49g9
|
PyMiVCQA2DPSIdc8LCIiV0hbJIJpF2HObxfJDBFbZVtjg60yMXFeYM+fiQ7Anz9TbDaD2B/bHero49g9
|
||||||
VkT2AAAAAElFTkSuQmCC
|
VkT2AAAAAElFTkSuQmCC
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="tSBTourenplanung.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAEMSURBVDhPrZMxjoNADEVzpD1CRE9PzwW2pkpDzwEo0tEi
|
|
||||||
DkBPT09BSbORsCkneqM1yUxQtNLG0pdG/va3x+M5nT5p27adVbVVVRehhYvjA1PVapomV5alS9PUJUni
|
|
||||||
wRkfHDFxnjeIcRx9cJZlrmkaNwyDB2d8cIcitAZhleZ5vonIBT/gjK+qKtf3PQI/67p+PVdvSaQKgQH5
|
|
||||||
ayLyvSzLXiQQYUgQXdc5qh0kXwBJds08zx/FEGBY3Pdo0vB1Xe8oisLHm8hnBP57hX2ILxN+iARDDIYd
|
|
||||||
PyMiVCQA2DPSIdc8LCIiV0hbJIJpF2HObxfJDBFbZVtjg60yMXFeYM+fiQ7Anz9TbDaD2B/bHero49g9
|
|
||||||
VkT2AAAAAElFTkSuQmCC
|
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripBeenden.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="toolStripBeenden.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
|||||||
@ -112,6 +112,7 @@ namespace Deckungsbeitrag
|
|||||||
// Kunde laden
|
// Kunde laden
|
||||||
if (!GetKunde(kndService)) { CloseForm(DialogResult.Cancel); return; }
|
if (!GetKunde(kndService)) { CloseForm(DialogResult.Cancel); return; }
|
||||||
|
|
||||||
|
|
||||||
// Containeranzahl laden
|
// Containeranzahl laden
|
||||||
CustomInputBox messageBox = new CustomInputBox($"Wieviel Container hast du beim Kunde {kundeName} abgeholt?", "CONTAINERANZAHL", "Containeranzahl", "isNumeric");
|
CustomInputBox messageBox = new CustomInputBox($"Wieviel Container hast du beim Kunde {kundeName} abgeholt?", "CONTAINERANZAHL", "Containeranzahl", "isNumeric");
|
||||||
if (messageBox.ShowDialog() == DialogResult.OK)
|
if (messageBox.ShowDialog() == DialogResult.OK)
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
using DatenDB;
|
using DatenDB;
|
||||||
|
using Deckungsbeitrag.AA_Klassen;
|
||||||
using Deckungsbeitrag.UserControls;
|
using Deckungsbeitrag.UserControls;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -23,6 +24,7 @@ namespace Deckungsbeitrag.AA_Forms
|
|||||||
private bool toclose = false;
|
private bool toclose = false;
|
||||||
public (DateTime datum, string text, string[] touren) lieferDaten;
|
public (DateTime datum, string text, string[] touren) lieferDaten;
|
||||||
private Screen screen = Screen.PrimaryScreen;
|
private Screen screen = Screen.PrimaryScreen;
|
||||||
|
public Tour tour;
|
||||||
|
|
||||||
public bool _toclose
|
public bool _toclose
|
||||||
{
|
{
|
||||||
|
|||||||
@ -10,6 +10,7 @@ using System.ComponentModel;
|
|||||||
using System.Configuration;
|
using System.Configuration;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
@ -82,6 +83,7 @@ namespace DatenDB
|
|||||||
public const string ASPECTS = "FahrerID,AufgabeID,KundeID,ZusatzInfo,Wann,Gedruckt,Erledigt,Erstellt von,Erstellt Am";
|
public const string ASPECTS = "FahrerID,AufgabeID,KundeID,ZusatzInfo,Wann,Gedruckt,Erledigt,Erstellt von,Erstellt Am";
|
||||||
static bool isExpedit = false;
|
static bool isExpedit = false;
|
||||||
public event PropertyChangedEventHandler PropertyChanged;
|
public event PropertyChangedEventHandler PropertyChanged;
|
||||||
|
private bool isLoaded = false;
|
||||||
public Auftrag()
|
public Auftrag()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -140,7 +142,7 @@ namespace DatenDB
|
|||||||
using (var command = new NpgsqlCommand())
|
using (var command = new NpgsqlCommand())
|
||||||
{
|
{
|
||||||
command.Connection = conn;
|
command.Connection = conn;
|
||||||
command.CommandText = $"SELECT {COLUMNS} from {TABLE} where status <= {(int)aufgelegt} and liefertag >= CURRENT_DATE order by liefertag ASC, priority ASC";
|
command.CommandText = $"SELECT {COLUMNS} from {TABLE} where status < {(int)aufgelegt} and liefertag >= CURRENT_DATE order by liefertag ASC, priority ASC";
|
||||||
|
|
||||||
using (var reader = await command.ExecuteReaderAsync())
|
using (var reader = await command.ExecuteReaderAsync())
|
||||||
{
|
{
|
||||||
@ -249,16 +251,17 @@ namespace DatenDB
|
|||||||
DatenbankConnection.GetConnection().Close();
|
DatenbankConnection.GetConnection().Close();
|
||||||
return resultList;
|
return resultList;
|
||||||
}
|
}
|
||||||
public static List<Auftrag> GetTourenListe(Benutzer fahrer)
|
public static List<Auftrag> GetTourenListe(Tour tour, DateTime liefertag)
|
||||||
{
|
{
|
||||||
DateTime dateTime = NaechsterLiefertag();
|
DateTime dateTime = liefertag;
|
||||||
|
if (dateTime == null) NaechsterLiefertag();
|
||||||
DatenbankConnection.GetConnection().Open();
|
DatenbankConnection.GetConnection().Open();
|
||||||
List<Auftrag> resultList = new List<Auftrag>();
|
List<Auftrag> resultList = new List<Auftrag>();
|
||||||
using (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.tour_id = {tour.TourID} and a.status <= {(int)AuftragStatus.Fertig} order by k.region, k.bezeichnung";
|
||||||
|
|
||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
while (reader.Read()) resultList.Add(new Auftrag(reader));
|
while (reader.Read()) resultList.Add(new Auftrag(reader));
|
||||||
@ -324,7 +327,11 @@ namespace DatenDB
|
|||||||
if (string.IsNullOrWhiteSpace(zusatz))
|
if (string.IsNullOrWhiteSpace(zusatz))
|
||||||
{
|
{
|
||||||
if (date == null) command.CommandText = $"select {COLUMNS} from {TABLE} where kunde_id = {kunde.KundeID} and status = {(int)AuftragStatus.Abgeholt}";
|
if (date == null) command.CommandText = $"select {COLUMNS} from {TABLE} where kunde_id = {kunde.KundeID} and status = {(int)AuftragStatus.Abgeholt}";
|
||||||
else command.CommandText = $"select {COLUMNS} from {TABLE} where kunde_id = {kunde.KundeID} and {datum} = '{date}'";
|
else
|
||||||
|
{
|
||||||
|
if (datum == "Inventur") command.CommandText = $"select {COLUMNS} from {TABLE} where kunde_id = {kunde.KundeID} and liefertag > '{date}'";
|
||||||
|
else command.CommandText = $"select {COLUMNS} from {TABLE} where kunde_id = {kunde.KundeID} and {datum} = '{date}'";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else command.CommandText = $"select {COLUMNS} from {TABLE} where kunde_id = {kunde.KundeID} and status = {(int)AuftragStatus.Abgeholt} and zusatz ~* '{zusatz}'";
|
else command.CommandText = $"select {COLUMNS} from {TABLE} where kunde_id = {kunde.KundeID} and status = {(int)AuftragStatus.Abgeholt} and zusatz ~* '{zusatz}'";
|
||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
@ -559,6 +566,8 @@ namespace DatenDB
|
|||||||
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 = (Priority)reader.GetInt32(21);
|
this.Priority = (Priority)reader.GetInt32(21);
|
||||||
|
|
||||||
|
isLoaded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Properties
|
#region Properties
|
||||||
@ -600,10 +609,13 @@ namespace DatenDB
|
|||||||
|
|
||||||
_status = value;
|
_status = value;
|
||||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Status)));
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Status)));
|
||||||
if (this.AuftragID != null)
|
// Erst wenn Auftrag geladen ist wird das Speichern durchgeführt.
|
||||||
|
if (isLoaded && this.AuftragID != null)
|
||||||
{
|
{
|
||||||
if (!FindAuftragStatus(this.AuftragID, Status))
|
//if (!FindAuftragStatus(this.AuftragID, Status))
|
||||||
SpeicherStatus(); // Automatisches Speichern
|
|
||||||
|
//Jede Statusänderung wird gespeichert. Klarer Verlauf ersichtlich.
|
||||||
|
SpeicherStatus(); // Automatisches Speichern
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -772,7 +784,7 @@ namespace DatenDB
|
|||||||
|
|
||||||
command.Parameters.AddWithValue("p0", auftragStatusID);
|
command.Parameters.AddWithValue("p0", auftragStatusID);
|
||||||
command.Parameters.AddWithValue("p1", this.AuftragID);
|
command.Parameters.AddWithValue("p1", this.AuftragID);
|
||||||
command.Parameters.AddWithValue("p2", Program.benutzer == null ? (object)DBNull.Value : Program.benutzer.BenutzerID);
|
command.Parameters.AddWithValue("p2", Program.benutzer.BenutzerID);
|
||||||
command.Parameters.AddWithValue("p3", (int)_status);
|
command.Parameters.AddWithValue("p3", (int)_status);
|
||||||
command.Parameters.AddWithValue("p4", DateTime.Now);
|
command.Parameters.AddWithValue("p4", DateTime.Now);
|
||||||
|
|
||||||
|
|||||||
@ -197,9 +197,19 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
{
|
{
|
||||||
if (datum.HasValue)
|
if (datum.HasValue)
|
||||||
{
|
{
|
||||||
conditions.Add("status = @status OR status = @status2");
|
if (kategorie.HasValue)
|
||||||
parameters.Add(new NpgsqlParameter("@status", (int)statusFilter.Value));
|
{
|
||||||
parameters.Add(new NpgsqlParameter("@status2", (int)AuftragStatus.Herrichten));
|
conditions.Add("(status = @status OR status = @status2");
|
||||||
|
parameters.Add(new NpgsqlParameter("@status", (int)statusFilter.Value));
|
||||||
|
parameters.Add(new NpgsqlParameter("@status2", (int)AuftragStatus.Herrichten));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
conditions.Add("status = @status OR status = @status2");
|
||||||
|
parameters.Add(new NpgsqlParameter("@status", (int)statusFilter.Value));
|
||||||
|
parameters.Add(new NpgsqlParameter("@status2", (int)AuftragStatus.Herrichten));
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -236,8 +246,16 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
// Datum-Filter
|
// Datum-Filter
|
||||||
if (datum.HasValue)
|
if (datum.HasValue)
|
||||||
{
|
{
|
||||||
conditions.Add($"liefertag <= @liefertag");
|
if (kategorie.HasValue)
|
||||||
parameters.Add(new NpgsqlParameter("@liefertag", datum.Value));
|
{
|
||||||
|
conditions.Add($"liefertag <= @liefertag)");
|
||||||
|
parameters.Add(new NpgsqlParameter("@liefertag", datum.Value));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
conditions.Add($"liefertag <= @liefertag");
|
||||||
|
parameters.Add(new NpgsqlParameter("@liefertag", datum.Value));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (conditions.Count > 0)
|
if (conditions.Count > 0)
|
||||||
|
|||||||
@ -42,6 +42,7 @@ namespace Deckungsbeitrag
|
|||||||
private static Meldungen meldung = new Meldungen();
|
private static Meldungen meldung = new Meldungen();
|
||||||
private static List<Auftrag> _auftragliste;
|
private static List<Auftrag> _auftragliste;
|
||||||
private static Benutzer _fahrer;
|
private static Benutzer _fahrer;
|
||||||
|
private static Tour _tour;
|
||||||
private static Benutzer _benutzer;
|
private static Benutzer _benutzer;
|
||||||
private static PrintDocument printdoc;
|
private static PrintDocument printdoc;
|
||||||
public static bool IsPhysicalPrint = false; // Globaler Schalter
|
public static bool IsPhysicalPrint = false; // Globaler Schalter
|
||||||
@ -899,10 +900,10 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
return DialogResult.Cancel;
|
return DialogResult.Cancel;
|
||||||
}
|
}
|
||||||
public static Image TourenListe_Entwurf(List<Auftrag> auftragliste, Benutzer fahrer, int bottom)
|
public static Image TourenListe_Entwurf(List<Auftrag> auftragliste, Benutzer fahrer, int bottom, Tour tour)
|
||||||
{
|
{
|
||||||
DateTime liefertag = auftragliste[0].Liefertag;
|
DateTime liefertag = auftragliste[0].Liefertag;
|
||||||
int ezl = 50; int lastline = 0; int length = 0;
|
int ezl = 50; int lastline = 0;
|
||||||
float fontsize = 15; float fontsize2 = 30; float fontsize3 = 10;
|
float fontsize = 15; float fontsize2 = 30; float fontsize3 = 10;
|
||||||
|
|
||||||
int bitmapHeight = CalculateBitmapHeight(auftragliste);
|
int bitmapHeight = CalculateBitmapHeight(auftragliste);
|
||||||
@ -921,7 +922,7 @@ namespace Deckungsbeitrag
|
|||||||
|
|
||||||
//FAHRER UND LIEFERTAG ZEILE 1 & 2
|
//FAHRER UND LIEFERTAG ZEILE 1 & 2
|
||||||
g.DrawString($"{DateTime.Now.ToString("dd.MM.yyyy - HH:mm")}", new Font("Arial", 10, FontStyle.Regular), Brushes.Black, bitmap.Width - 50 - datumSize.Width, adressblock.Y);
|
g.DrawString($"{DateTime.Now.ToString("dd.MM.yyyy - HH:mm")}", new Font("Arial", 10, FontStyle.Regular), Brushes.Black, bitmap.Width - 50 - datumSize.Width, adressblock.Y);
|
||||||
g.DrawString($"{fahrer.Vorname} {fahrer.Nachname}", new Font("Arial", fontsize2, FontStyle.Regular), Brushes.Black, adressblock);
|
g.DrawString($"{tour.Bezeichnung}-{fahrer.Vorname} {fahrer.Nachname}", new Font("Arial", fontsize2, FontStyle.Regular), Brushes.Black, adressblock);
|
||||||
g.DrawString($"{GetWochentagDeutsch(liefertag.DayOfWeek)} {liefertag.ToShortDateString()}", new Font("Arial", fontsize2, FontStyle.Regular), Brushes.Black, adressblock.X, lastline = adressblock.Y + (int)textSize3.Height);
|
g.DrawString($"{GetWochentagDeutsch(liefertag.DayOfWeek)} {liefertag.ToShortDateString()}", new Font("Arial", fontsize2, FontStyle.Regular), Brushes.Black, adressblock.X, lastline = adressblock.Y + (int)textSize3.Height);
|
||||||
//TOUR START UND ENDE ZEILE 3
|
//TOUR START UND ENDE ZEILE 3
|
||||||
g.DrawString($"Tour Start um:", new Font("Arial", fontsize, FontStyle.Regular), Brushes.Black, tabelle.X, lastline = lastline + (int)textSize3.Height + 40);
|
g.DrawString($"Tour Start um:", new Font("Arial", fontsize, FontStyle.Regular), Brushes.Black, tabelle.X, lastline = lastline + (int)textSize3.Height + 40);
|
||||||
@ -941,10 +942,9 @@ namespace Deckungsbeitrag
|
|||||||
Kunde knd = Kunde.GetKunde(string.Empty, auftrag.KundeID, string.Empty);
|
Kunde knd = Kunde.GetKunde(string.Empty, auftrag.KundeID, string.Empty);
|
||||||
string kndName = string.Empty;
|
string kndName = string.Empty;
|
||||||
gesCont += auftrag.ContainerClean;
|
gesCont += auftrag.ContainerClean;
|
||||||
|
|
||||||
if (knd == null) return null;
|
if (knd == null) return null;
|
||||||
//Image qrcode = Get_QR_Code(adresse, null);
|
|
||||||
//QR-Code
|
|
||||||
//g.DrawImage(qrcode, bitmap.Width - 150, 50, 120, 120);
|
|
||||||
if (knd.KundeNummer == "2320000") kndName = auftrag.ZusatzInfo;
|
if (knd.KundeNummer == "2320000") kndName = auftrag.ZusatzInfo;
|
||||||
else kndName = string.IsNullOrWhiteSpace(knd.Suchtext) ? knd.KundeName : knd.Suchtext;
|
else kndName = string.IsNullOrWhiteSpace(knd.Suchtext) ? knd.KundeName : knd.Suchtext;
|
||||||
|
|
||||||
@ -957,16 +957,15 @@ namespace Deckungsbeitrag
|
|||||||
else style = FontStyle.Regular;
|
else style = FontStyle.Regular;
|
||||||
|
|
||||||
++idx1;
|
++idx1;
|
||||||
if (kndanzahl >= 15)
|
if (kndanzahl == 15)
|
||||||
{
|
{
|
||||||
if (kndanzahl >= 34)
|
if (kndanzahl == 34)
|
||||||
{
|
{
|
||||||
if (kndanzahl >= 54) length = (int)textSize3.Height * idx1 + 420;
|
if (kndanzahl == 54) lastline += 140;
|
||||||
else length = (int)textSize3.Height * idx1 + 280;
|
else lastline += 140;
|
||||||
}
|
}
|
||||||
else length = (int)textSize3.Height * idx1 + 140;
|
else lastline += 140;
|
||||||
}
|
}
|
||||||
else length = (int)textSize3.Height * idx1;
|
|
||||||
|
|
||||||
//ZEILE 1
|
//ZEILE 1
|
||||||
g.DrawString($"{auftrag.Status.ToString()}", new Font("Arial", fontsize, style), Brushes.Black, tabelle.X, lastline + 5);
|
g.DrawString($"{auftrag.Status.ToString()}", new Font("Arial", fontsize, style), Brushes.Black, tabelle.X, lastline + 5);
|
||||||
@ -1007,13 +1006,14 @@ namespace Deckungsbeitrag
|
|||||||
//TODO: Reg.Aufträge einbauen. Besonderheit: Die Artikel sollen ebenfalls erscheinen.
|
//TODO: Reg.Aufträge einbauen. Besonderheit: Die Artikel sollen ebenfalls erscheinen.
|
||||||
//TODO: Zuweisung zu Fahrer muss geklärt werden.
|
//TODO: Zuweisung zu Fahrer muss geklärt werden.
|
||||||
}
|
}
|
||||||
public static void TourenListe_Drucken(List<Auftrag> auftragliste, Benutzer fahrer, object sender, Benutzer benutzer)
|
public static void TourenListe_Drucken(List<Auftrag> auftragliste, Tour tour, object sender, Benutzer benutzer, Benutzer fahrer)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (auftragliste != null) _auftragliste = auftragliste;
|
if (auftragliste != null) _auftragliste = auftragliste;
|
||||||
if (fahrer != null) _fahrer = fahrer;
|
if (fahrer != null) _fahrer = fahrer;
|
||||||
if (benutzer != null) _benutzer = benutzer;
|
if (benutzer != null) _benutzer = benutzer;
|
||||||
string dateiName = $"{_auftragliste[0].Liefertag}_{_fahrer.BenutzerName}";
|
if (tour != null) _tour = tour;
|
||||||
|
string dateiName = $"{_auftragliste[0].Liefertag}_{_tour.Bezeichnung}_{_fahrer.BenutzerName}";
|
||||||
currentPage = 0; // WICHTIG: reset vor jedem Druck
|
currentPage = 0; // WICHTIG: reset vor jedem Druck
|
||||||
|
|
||||||
string path = ConfigurationManager.AppSettings["DateiSavePfad"];
|
string path = ConfigurationManager.AppSettings["DateiSavePfad"];
|
||||||
@ -1244,7 +1244,7 @@ namespace Deckungsbeitrag
|
|||||||
{
|
{
|
||||||
if (pagesToPrint == currentPage) currentPage = 0;
|
if (pagesToPrint == currentPage) currentPage = 0;
|
||||||
int bottom = e.MarginBounds.Bottom - e.MarginBounds.Size.Height;
|
int bottom = e.MarginBounds.Bottom - e.MarginBounds.Size.Height;
|
||||||
Image img = TourenListe_Entwurf(_auftragliste, _fahrer, bottom);
|
Image img = TourenListe_Entwurf(_auftragliste, _fahrer, bottom, _tour);
|
||||||
if (img == null) return;
|
if (img == null) return;
|
||||||
|
|
||||||
pagesToPrint = img.Height / 1119;
|
pagesToPrint = img.Height / 1119;
|
||||||
|
|||||||
@ -91,7 +91,7 @@ namespace Deckungsbeitrag.AA_Klassen
|
|||||||
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
|
||||||
{
|
{
|
||||||
if (arbeiterID == null) command.CommandText = $"select {COLUMNS} from {TABLE} where liefertag = {liefertag}";
|
if (liefertag != null) command.CommandText = $"select {COLUMNS} from {TABLE} where liefertag = {liefertag}";
|
||||||
else command.CommandText = $"select {COLUMNS} from {TABLE} where tour_id = {tourID}";
|
else command.CommandText = $"select {COLUMNS} from {TABLE} where tour_id = {tourID}";
|
||||||
}
|
}
|
||||||
NpgsqlDataReader reader = command.ExecuteReader();
|
NpgsqlDataReader reader = command.ExecuteReader();
|
||||||
|
|||||||
45
Program.cs
45
Program.cs
@ -22,6 +22,7 @@ using System.Text.RegularExpressions;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Timers;
|
using System.Timers;
|
||||||
|
using System.Web.Configuration;
|
||||||
using System.Web.SessionState;
|
using System.Web.SessionState;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
@ -100,6 +101,7 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
static class Program
|
static class Program
|
||||||
{
|
{
|
||||||
|
private static Mutex mutex;
|
||||||
public static Color Wirlblau = Settings.Default.Wirlblau;
|
public static Color Wirlblau = Settings.Default.Wirlblau;
|
||||||
public static ImageList imagelist = new ImageList();
|
public static ImageList imagelist = new ImageList();
|
||||||
public static string userid;
|
public static string userid;
|
||||||
@ -119,21 +121,29 @@ namespace Deckungsbeitrag
|
|||||||
/// Der Haupteinstiegspunkt für die Anwendung.
|
/// Der Haupteinstiegspunkt für die Anwendung.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[STAThread]
|
[STAThread]
|
||||||
static void Main()
|
static void Main()
|
||||||
{
|
{
|
||||||
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
|
||||||
{
|
{
|
||||||
Interval = 1000
|
Interval = 1000
|
||||||
};
|
};
|
||||||
timer.Elapsed += Timer_Elapsed;
|
timer.Elapsed += Timer_Elapsed;
|
||||||
timer.Start();
|
timer.Start();
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
Screen[] screens = Screen.AllScreens;
|
Screen[] screens = Screen.AllScreens;
|
||||||
Application.UseWaitCursor = true;
|
Application.UseWaitCursor = true;
|
||||||
|
string assemblyGUID = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(GuidAttribute), false).Cast<GuidAttribute>().First().Value;
|
||||||
|
mutex = new Mutex(true, $"Global\\{assemblyGUID}");
|
||||||
|
|
||||||
|
if (!mutex.WaitOne(TimeSpan.Zero, true))
|
||||||
|
{
|
||||||
|
MessageBox.Show("Diese Anwendung ist bereits laufend. Nur eine Instanz darf gleichzeitig ausgeführt werden.",
|
||||||
|
"Nur eine Instanz", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||||
|
return;
|
||||||
|
}
|
||||||
// Check, Install und Update wenn Update vorhanden.
|
// Check, Install und Update wenn Update vorhanden.
|
||||||
if (CheckAndInstallUpdate())
|
if (CheckAndInstallUpdate())
|
||||||
{
|
{
|
||||||
@ -141,8 +151,7 @@ namespace Deckungsbeitrag
|
|||||||
Software_Updated = true;
|
Software_Updated = true;
|
||||||
Settings.Default.LastSoftwareUpdate = DateTime.Now;
|
Settings.Default.LastSoftwareUpdate = DateTime.Now;
|
||||||
Application.UseWaitCursor = false;
|
Application.UseWaitCursor = false;
|
||||||
Application.Exit();
|
return;
|
||||||
//return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Laden der Image-Liste mit Icons für ObjectListView in Export etc.
|
// Laden der Image-Liste mit Icons für ObjectListView in Export etc.
|
||||||
@ -184,7 +193,7 @@ namespace Deckungsbeitrag
|
|||||||
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"))
|
||||||
{
|
{
|
||||||
switch (userid)
|
switch (userid)
|
||||||
{
|
{
|
||||||
case var s when s.Contains("wstrasse"):
|
case var s when s.Contains("wstrasse"):
|
||||||
@ -206,9 +215,9 @@ namespace Deckungsbeitrag
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Öffnen der ReadMe wenn noch nicht geöffnet wurde.
|
// Öffnen der ReadMe wenn noch nicht geöffnet wurde.
|
||||||
//Open_ReadMe();
|
//Open_ReadMe();
|
||||||
|
|
||||||
@ -238,11 +247,11 @@ namespace Deckungsbeitrag
|
|||||||
Application.Run(new FormExpedit(loginForm.Person, screens));
|
Application.Run(new FormExpedit(loginForm.Person, screens));
|
||||||
break;
|
break;
|
||||||
case BenutzerRolle.Frottee: //Containerbestückung Frotteewäsche
|
case BenutzerRolle.Frottee: //Containerbestückung Frotteewäsche
|
||||||
//BenutzerRolle Frottee = Expedit Frottee da die Maschine keine Anmeldung erfordert.
|
//BenutzerRolle Frottee = Expedit Frottee da die Maschine keine Anmeldung erfordert.
|
||||||
Application.Run(new FormExpedit(loginForm.Person, screens));
|
Application.Run(new FormExpedit(loginForm.Person, screens));
|
||||||
break;
|
break;
|
||||||
case BenutzerRolle.Flach: //Containerbestückung Flachwäsche
|
case BenutzerRolle.Flach: //Containerbestückung Flachwäsche
|
||||||
//BenutzerRolle Flach = Expedit Frottee da die Maschine keine Anmeldung erfordert.
|
//BenutzerRolle Flach = Expedit Frottee da die Maschine keine Anmeldung erfordert.
|
||||||
Application.Run(new FormExpedit(loginForm.Person, screens));
|
Application.Run(new FormExpedit(loginForm.Person, screens));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -250,6 +259,7 @@ namespace Deckungsbeitrag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -551,12 +561,13 @@ namespace Deckungsbeitrag
|
|||||||
private static bool CheckAndInstallUpdate()
|
private static bool CheckAndInstallUpdate()
|
||||||
{
|
{
|
||||||
string updatePath = Path.Combine(savePath, "Setup");
|
string updatePath = Path.Combine(savePath, "Setup");
|
||||||
|
if (ConfigurationManager.AppSettings["ConnectionString"].Split(';')[4].Split('=')[1] == "Test_Wirl") updatePath = Path.Combine(ConfigurationManager.AppSettings["DateiSavePfad"], "Test") ?? "Test";
|
||||||
string currentVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
string currentVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||||
updatePath = @"N:\TECHNIK\Software\Wirl-Verwaltung\Setup"; // Ihr interner UNC-Pfad
|
//updatePath = @"N:\TECHNIK\Software\Wirl-Verwaltung\Setup"; // Ihr interner UNC-Pfad
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string newVersion = File.ReadAllText(Path.Combine(updatePath, "Version.txt")).Trim();
|
string newVersion = File.Exists(Path.Combine(updatePath, "Version.txt")) ? File.ReadAllText(Path.Combine(updatePath, "Version.txt")).Trim() : string.Empty;
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(newVersion))
|
if (string.IsNullOrWhiteSpace(newVersion))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||||
// indem Sie "*" wie unten gezeigt eingeben:
|
// indem Sie "*" wie unten gezeigt eingeben:
|
||||||
[assembly: AssemblyVersion("1.1.3.1")]
|
[assembly: AssemblyVersion("1.1.4.6")]
|
||||||
[assembly: AssemblyFileVersion("1.1.3.1")]
|
[assembly: AssemblyFileVersion("1.1.4.6")]
|
||||||
|
|||||||
@ -321,6 +321,12 @@
|
|||||||
}
|
}
|
||||||
"Entry"
|
"Entry"
|
||||||
{
|
{
|
||||||
|
"MsmKey" = "8:_A2FA7AC58F6A16AB132434F8A00EA507"
|
||||||
|
"OwnerKey" = "8:_EEA0FC277F3C1BC119E28ABD40FA3C76"
|
||||||
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
|
}
|
||||||
|
"Entry"
|
||||||
|
{
|
||||||
"MsmKey" = "8:_A41FC3BFD0E1CE905FCB1693E99348B8"
|
"MsmKey" = "8:_A41FC3BFD0E1CE905FCB1693E99348B8"
|
||||||
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
@ -447,6 +453,12 @@
|
|||||||
}
|
}
|
||||||
"Entry"
|
"Entry"
|
||||||
{
|
{
|
||||||
|
"MsmKey" = "8:_EEA0FC277F3C1BC119E28ABD40FA3C76"
|
||||||
|
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
|
||||||
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
|
}
|
||||||
|
"Entry"
|
||||||
|
{
|
||||||
"MsmKey" = "8:_EF6D58F917144384701E1DBDFB979BD8"
|
"MsmKey" = "8:_EF6D58F917144384701E1DBDFB979BD8"
|
||||||
"OwnerKey" = "8:_125834DE4128EDE3F82BFC1A45B2ACD9"
|
"OwnerKey" = "8:_125834DE4128EDE3F82BFC1A45B2ACD9"
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
@ -472,6 +484,12 @@
|
|||||||
"Entry"
|
"Entry"
|
||||||
{
|
{
|
||||||
"MsmKey" = "8:_UNDEFINED"
|
"MsmKey" = "8:_UNDEFINED"
|
||||||
|
"OwnerKey" = "8:_EEA0FC277F3C1BC119E28ABD40FA3C76"
|
||||||
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
|
}
|
||||||
|
"Entry"
|
||||||
|
{
|
||||||
|
"MsmKey" = "8:_UNDEFINED"
|
||||||
"OwnerKey" = "8:_16723AF5DFDEF26FC6A07BEB7D389737"
|
"OwnerKey" = "8:_16723AF5DFDEF26FC6A07BEB7D389737"
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
}
|
}
|
||||||
@ -1603,6 +1621,37 @@
|
|||||||
"IsDependency" = "11:TRUE"
|
"IsDependency" = "11:TRUE"
|
||||||
"IsolateTo" = "8:"
|
"IsolateTo" = "8:"
|
||||||
}
|
}
|
||||||
|
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EEA0FC277F3C1BC119E28ABD40FA3C76"
|
||||||
|
{
|
||||||
|
"AssemblyRegister" = "3:1"
|
||||||
|
"AssemblyIsInGAC" = "11:FALSE"
|
||||||
|
"AssemblyAsmDisplayName" = "8:TrelloIntegration, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"
|
||||||
|
"ScatterAssemblies"
|
||||||
|
{
|
||||||
|
"_EEA0FC277F3C1BC119E28ABD40FA3C76"
|
||||||
|
{
|
||||||
|
"Name" = "8:TrelloIntegration.dll"
|
||||||
|
"Attributes" = "3:512"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"SourcePath" = "8:TrelloIntegration.dll"
|
||||||
|
"TargetName" = "8:"
|
||||||
|
"Tag" = "8:"
|
||||||
|
"Folder" = "8:_C848DFB5E4D140A7A7F5E1F129613626"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Transitive" = "11:FALSE"
|
||||||
|
"Vital" = "11:TRUE"
|
||||||
|
"ReadOnly" = "11:FALSE"
|
||||||
|
"Hidden" = "11:FALSE"
|
||||||
|
"System" = "11:FALSE"
|
||||||
|
"Permanent" = "11:FALSE"
|
||||||
|
"SharedLegacy" = "11:FALSE"
|
||||||
|
"PackageAs" = "3:1"
|
||||||
|
"Register" = "3:1"
|
||||||
|
"Exclude" = "11:FALSE"
|
||||||
|
"IsDependency" = "11:TRUE"
|
||||||
|
"IsolateTo" = "8:"
|
||||||
|
}
|
||||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EF6D58F917144384701E1DBDFB979BD8"
|
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EF6D58F917144384701E1DBDFB979BD8"
|
||||||
{
|
{
|
||||||
"AssemblyRegister" = "3:1"
|
"AssemblyRegister" = "3:1"
|
||||||
@ -1690,15 +1739,15 @@
|
|||||||
{
|
{
|
||||||
"Name" = "8:Microsoft Visual Studio"
|
"Name" = "8:Microsoft Visual Studio"
|
||||||
"ProductName" = "8:SetupVerwaltung"
|
"ProductName" = "8:SetupVerwaltung"
|
||||||
"ProductCode" = "8:{D9B50D82-0DA0-42AA-BA1A-0C403DB66D1E}"
|
"ProductCode" = "8:{BABBCDCC-82FB-4255-A001-52CEF9447E68}"
|
||||||
"PackageCode" = "8:{B8F0DE4F-7514-40E3-9E53-8690D6CF5643}"
|
"PackageCode" = "8:{003301E2-76CD-42AB-AA06-006C82D2B296}"
|
||||||
"UpgradeCode" = "8:{2DC7CE56-8D1C-42EB-B326-2E887EBB7F5A}"
|
"UpgradeCode" = "8:{2DC7CE56-8D1C-42EB-B326-2E887EBB7F5A}"
|
||||||
"AspNetVersion" = "8:"
|
"AspNetVersion" = "8:"
|
||||||
"RestartWWWService" = "11:FALSE"
|
"RestartWWWService" = "11:FALSE"
|
||||||
"RemovePreviousVersions" = "11:TRUE"
|
"RemovePreviousVersions" = "11:TRUE"
|
||||||
"DetectNewerInstalledVersion" = "11:TRUE"
|
"DetectNewerInstalledVersion" = "11:TRUE"
|
||||||
"InstallAllUsers" = "11:FALSE"
|
"InstallAllUsers" = "11:FALSE"
|
||||||
"ProductVersion" = "8:1.1.31"
|
"ProductVersion" = "8:1.1.46"
|
||||||
"Manufacturer" = "8:Kilian Wirl GmbH"
|
"Manufacturer" = "8:Kilian Wirl GmbH"
|
||||||
"ARPHELPTELEPHONE" = "8:"
|
"ARPHELPTELEPHONE" = "8:"
|
||||||
"ARPHELPLINK" = "8:"
|
"ARPHELPLINK" = "8:"
|
||||||
|
|||||||
51
TrelloIntegration/CreateCardOptions.cs
Normal file
51
TrelloIntegration/CreateCardOptions.cs
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace TrelloIntegration
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Optionen zum Erstellen einer Trello-Karte
|
||||||
|
/// </summary>
|
||||||
|
public class CreateCardOptions
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Kartentitel (Pflicht)
|
||||||
|
/// </summary>
|
||||||
|
public string Name { get; set; } = "TestKarte";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Beschreibung der Karte (optional)
|
||||||
|
/// </summary>
|
||||||
|
public string Desc { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ID der Ziel-Liste (Pflicht)
|
||||||
|
/// </summary>
|
||||||
|
public string IdList { get; set; } = "6a1fcdc9a1995f42c537ae10";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Position der Karte in der Liste: "top", "bottom" oder eine Zahl (optional)
|
||||||
|
/// </summary>
|
||||||
|
public string Pos { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Liste von Label-IDs für die Karte (optional)
|
||||||
|
/// </summary>
|
||||||
|
public List<string> IdLabels { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Fälligkeitsdatum (Due Date) der Karte (optional)
|
||||||
|
/// Dieses Datum wird in UTC an die Trello-API übergeben.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? DueDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Startdatum der Karte (optional)
|
||||||
|
/// Dieses Datum wird in UTC an die Trello-API übergeben.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? StartDate { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
33
TrelloIntegration/Properties/AssemblyInfo.cs
Normal file
33
TrelloIntegration/Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||||
|
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||||
|
// die einer Assembly zugeordnet sind.
|
||||||
|
[assembly: AssemblyTitle("TrelloIntegration")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("TrelloIntegration")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2026")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
|
||||||
|
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
|
||||||
|
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||||
|
[assembly: Guid("260a0604-e43a-4731-a861-1db7ed19ff5d")]
|
||||||
|
|
||||||
|
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||||
|
//
|
||||||
|
// Hauptversion
|
||||||
|
// Nebenversion
|
||||||
|
// Buildnummer
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
22
TrelloIntegration/TrelloCard.cs
Normal file
22
TrelloIntegration/TrelloCard.cs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace TrelloIntegration
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Minimaler Response für eine erstellte Trello-Karte
|
||||||
|
/// </summary>
|
||||||
|
public class TrelloCard
|
||||||
|
{
|
||||||
|
public string Id { get; set; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string Desc { get; set; }
|
||||||
|
public string IdList { get; set; }
|
||||||
|
public string ShortUrl { get; set; }
|
||||||
|
public DateTime? DueDate { get; set; }
|
||||||
|
public DateTime? StartDate { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
153
TrelloIntegration/TrelloCardClient.cs
Normal file
153
TrelloIntegration/TrelloCardClient.cs
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net.Http;
|
||||||
|
using System.Text;
|
||||||
|
using System.Text.Json;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace TrelloIntegration
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Trello-Karten-Client für WinForms-Anwendungen (.NET Framework 4.8, C# 7.3)
|
||||||
|
/// Erstellt Karten via Trello REST API über HttpClient.
|
||||||
|
/// </summary>
|
||||||
|
public class TrelloCardClient : IDisposable
|
||||||
|
{
|
||||||
|
private readonly string _apiKey;
|
||||||
|
private readonly string _token;
|
||||||
|
private readonly HttpClient _httpClient;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initialisiert einen neuen TrelloCardClient.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="apiKey">Trello API Key</param>
|
||||||
|
/// <param name="token">Trello API Token mit write-Recht</param>
|
||||||
|
public TrelloCardClient(string apiKey, string token)
|
||||||
|
{
|
||||||
|
_apiKey = apiKey ?? throw new ArgumentNullException(nameof(apiKey));
|
||||||
|
_token = token ?? throw new ArgumentNullException(nameof(token));
|
||||||
|
|
||||||
|
_httpClient = new HttpClient
|
||||||
|
{
|
||||||
|
BaseAddress = new Uri("https://api.trello.com/1/")
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Erstellt eine neue Trello-Karte asynchron und gibt die Roh-JSON-Antwort zurück.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="options">Konfiguration der Karte (Name, Liste, Beschreibung, Labels, DueDate, StartDate)</param>
|
||||||
|
/// <returns>Antwort-JSON als String (enthaltend die erstellte Karte)</returns>
|
||||||
|
public async Task<string> CreateCardAsync(CreateCardOptions options)
|
||||||
|
{
|
||||||
|
ValidateOptions(options);
|
||||||
|
|
||||||
|
var values = new Dictionary<string, string>
|
||||||
|
{
|
||||||
|
["key"] = _apiKey,
|
||||||
|
["token"] = _token,
|
||||||
|
["idList"] = options.IdList,
|
||||||
|
["name"] = options.Name
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(options.Desc))
|
||||||
|
values["desc"] = options.Desc;
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(options.Pos))
|
||||||
|
values["pos"] = options.Pos;
|
||||||
|
|
||||||
|
if (options.IdLabels != null && options.IdLabels.Count > 0)
|
||||||
|
values["idLabels"] = string.Join(",", options.IdLabels);
|
||||||
|
|
||||||
|
if (options.DueDate.HasValue)
|
||||||
|
values["due"] = options.DueDate.Value.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm");
|
||||||
|
|
||||||
|
if (options.StartDate.HasValue)
|
||||||
|
values["start"] = options.StartDate.Value.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm");
|
||||||
|
|
||||||
|
var content = new FormUrlEncodedContent(values);
|
||||||
|
var response = await _httpClient.PostAsync("cards", content);
|
||||||
|
|
||||||
|
var responseBody = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
|
if (!response.IsSuccessStatusCode)
|
||||||
|
{
|
||||||
|
throw new HttpRequestException(
|
||||||
|
$"Trello API Fehler {response.StatusCode}: {responseBody}");
|
||||||
|
}
|
||||||
|
|
||||||
|
return responseBody;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Erstellt eine Karte und gibt das Ergebnis als TrelloCard-Objekt zurück.
|
||||||
|
/// </summary>
|
||||||
|
public async Task<TrelloCard> CreateCardAndParseAsync(CreateCardOptions options)
|
||||||
|
{
|
||||||
|
var json = await CreateCardAsync(options);
|
||||||
|
return ParseTrelloCard(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static TrelloCard ParseTrelloCard(string json)
|
||||||
|
{
|
||||||
|
// Minimaler Parser ohne System.Text.Json (für .NET Framework 4.8)
|
||||||
|
// Extrahiert die wichtigsten Felder aus der JSON-Antwort
|
||||||
|
var card = new TrelloCard();
|
||||||
|
|
||||||
|
card.Id = ExtractJsonValue(json, "id");
|
||||||
|
card.Name = ExtractJsonValue(json, "name");
|
||||||
|
card.Desc = ExtractJsonValue(json, "desc");
|
||||||
|
card.IdList = ExtractJsonValue(json, "idList");
|
||||||
|
card.ShortUrl = ExtractJsonValue(json, "shortUrl");
|
||||||
|
|
||||||
|
var due = ExtractJsonValue(json, "due");
|
||||||
|
if (!string.IsNullOrWhiteSpace(due))
|
||||||
|
if (DateTime.TryParse(due, out var dtDue)) card.DueDate = dtDue;
|
||||||
|
else card.DueDate = null;
|
||||||
|
|
||||||
|
var start = ExtractJsonValue(json, "start");
|
||||||
|
if (!string.IsNullOrWhiteSpace(start))
|
||||||
|
if (DateTime.TryParse(start, out var dtStart)) card.StartDate = dtStart;
|
||||||
|
else card.StartDate = null;
|
||||||
|
|
||||||
|
return card;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static string ExtractJsonValue(string json, string key)
|
||||||
|
{
|
||||||
|
// Einfacher JSON-String-Extractor für "key": "value"
|
||||||
|
var pattern = "\"" + key + "\"\\s*:\\s*\"";
|
||||||
|
var startIndex = json.IndexOf(pattern, StringComparison.Ordinal);
|
||||||
|
if (startIndex < 0)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
startIndex += pattern.Length;
|
||||||
|
var endIndex = json.IndexOf("\"", startIndex);
|
||||||
|
if (endIndex < 0)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
return json.Substring(startIndex, endIndex - startIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ValidateOptions(CreateCardOptions options)
|
||||||
|
{
|
||||||
|
if (options == null)
|
||||||
|
throw new ArgumentNullException(nameof(options));
|
||||||
|
|
||||||
|
if (string.IsNullOrWhiteSpace(options.Name))
|
||||||
|
throw new ArgumentException("Name ist erforderlich.", nameof(options.Name));
|
||||||
|
|
||||||
|
if (string.IsNullOrWhiteSpace(options.IdList))
|
||||||
|
throw new ArgumentException("IdList ist erforderlich.", nameof(options.IdList));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gibt die Ressourcen des Clients frei (empiohlen).
|
||||||
|
/// </summary>
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
_httpClient?.Dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
138
TrelloIntegration/TrelloConfig.cs
Normal file
138
TrelloIntegration/TrelloConfig.cs
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Configuration;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Security.Cryptography;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using static System.Net.Mime.MediaTypeNames;
|
||||||
|
|
||||||
|
namespace TrelloIntegration
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Verschlüsselt und entschlüsselt Trello API-Key und Token mit AES.
|
||||||
|
/// </summary>
|
||||||
|
public static class TrelloConfig
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Geheimer Schlüssel für Verschlüsselung (muss sicher gespeichert werden!)
|
||||||
|
/// In Produktion besser aus Umgebungsvariablen oder sicherem Speicher lesen.
|
||||||
|
/// </summary>
|
||||||
|
private const string SecretKey = "DEIN_GEHEIMER_SCHLUESSEL_32_CHAR"; // 32 Zeichen für AES-256
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Verschlüsselt einen Text und gibt Base64 zurück.
|
||||||
|
/// </summary>
|
||||||
|
public static string Encrypt(string plainText)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(plainText))
|
||||||
|
throw new ArgumentException("Text darf nicht leer sein", nameof(plainText));
|
||||||
|
|
||||||
|
var aes = Aes.Create();
|
||||||
|
aes.Key = Encoding.UTF8.GetBytes(SecretKey);
|
||||||
|
aes.IV = new byte[16]; // IV für Demo; in Produktion zufällig generieren
|
||||||
|
|
||||||
|
var encryptor = aes.CreateEncryptor(aes.Key, aes.IV);
|
||||||
|
var plainBytes = Encoding.UTF8.GetBytes(plainText);
|
||||||
|
var cipherBytes = encryptor.TransformFinalBlock(plainBytes, 0, plainBytes.Length);
|
||||||
|
|
||||||
|
// IV + verschlüsselte Daten speichern (für Produktion mit zufälligem IV)
|
||||||
|
var combined = new byte[aes.IV.Length + cipherBytes.Length];
|
||||||
|
Array.Copy(aes.IV, 0, combined, 0, aes.IV.Length);
|
||||||
|
Array.Copy(cipherBytes, 0, combined, aes.IV.Length, cipherBytes.Length);
|
||||||
|
|
||||||
|
return Convert.ToBase64String(combined);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Entschlüsselt einen Base64-Text.
|
||||||
|
/// </summary>
|
||||||
|
public static string Decrypt(string encryptedBase64)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(encryptedBase64))
|
||||||
|
throw new ArgumentException("Text darf nicht leer sein", nameof(encryptedBase64));
|
||||||
|
|
||||||
|
var combined = Convert.FromBase64String(encryptedBase64);
|
||||||
|
|
||||||
|
var aes = Aes.Create();
|
||||||
|
aes.Key = Encoding.UTF8.GetBytes(SecretKey);
|
||||||
|
|
||||||
|
// IV aus den ersten 16 Bytes extrahieren
|
||||||
|
var iv = new byte[16];
|
||||||
|
Array.Copy(combined, 0, iv, 0, 16);
|
||||||
|
aes.IV = iv;
|
||||||
|
|
||||||
|
var decryptor = aes.CreateDecryptor(aes.Key, aes.IV);
|
||||||
|
var cipherBytes = new byte[combined.Length - 16];
|
||||||
|
Array.Copy(combined, 16, cipherBytes, 0, cipherBytes.Length);
|
||||||
|
|
||||||
|
var plainBytes = decryptor.TransformFinalBlock(cipherBytes, 0, cipherBytes.Length);
|
||||||
|
return Encoding.UTF8.GetString(plainBytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Erstellt verschlüsselte Werte für App.config (einmalig ausführen).
|
||||||
|
/// </summary>
|
||||||
|
public static void CreateEncryptedConfigValues(string apiKey, string token)
|
||||||
|
{
|
||||||
|
var encryptedKey = Encrypt(apiKey);
|
||||||
|
var encryptedToken = Encrypt(token);
|
||||||
|
|
||||||
|
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
|
||||||
|
config.AppSettings.Settings.Remove("TrelloApiKeyEncrypted");
|
||||||
|
config.AppSettings.Settings.Add("TrelloApiKeyEncrypted", encryptedKey);
|
||||||
|
config.AppSettings.Settings.Remove("TrelloTokenEncrypted");
|
||||||
|
config.AppSettings.Settings.Add("TrelloTokenEncrypted", encryptedToken);
|
||||||
|
config.Save();
|
||||||
|
|
||||||
|
Console.WriteLine("=== FÜR APP.CONFIG ===");
|
||||||
|
Console.WriteLine($"<add key=\"TrelloApiKeyEncrypted\" value=\"{encryptedKey}\"/>");
|
||||||
|
Console.WriteLine($"<add key=\"TrelloTokenEncrypted\" value=\"{encryptedToken}\"/>");
|
||||||
|
Console.WriteLine("======================");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gibt den API-Key aus App.config (entschlüsselt).
|
||||||
|
/// </summary>
|
||||||
|
public static string GetApiKey()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var encrypted = System.Configuration.ConfigurationManager
|
||||||
|
.AppSettings["TrelloApiKeyEncrypted"];
|
||||||
|
return string.IsNullOrEmpty(encrypted) ? null : Decrypt(encrypted);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gibt den Token aus App.config (entschlüsselt).
|
||||||
|
/// </summary>
|
||||||
|
public static string GetToken()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var encrypted = System.Configuration.ConfigurationManager
|
||||||
|
.AppSettings["TrelloTokenEncrypted"];
|
||||||
|
return string.IsNullOrEmpty(encrypted) ? null : Decrypt(encrypted);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Prüft, ob verschlüsselte Credentials in App.config vorhanden sind.
|
||||||
|
/// </summary>
|
||||||
|
public static bool HasCredentials()
|
||||||
|
{
|
||||||
|
var key = System.Configuration.ConfigurationManager.AppSettings["TrelloApiKeyEncrypted"];
|
||||||
|
var token = System.Configuration.ConfigurationManager.AppSettings["TrelloTokenEncrypted"];
|
||||||
|
return !string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(token);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
90
TrelloIntegration/TrelloIntegration.csproj
Normal file
90
TrelloIntegration/TrelloIntegration.csproj
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{260A0604-E43A-4731-A861-1DB7ED19FF5D}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>TrelloIntegration</RootNamespace>
|
||||||
|
<AssemblyName>TrelloIntegration</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Meziantou.Framework.Win32.CredentialManager, Version=1.7.18.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Meziantou.Framework.Win32.CredentialManager.1.7.18\lib\net462\Meziantou.Framework.Win32.CredentialManager.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Buffers, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Buffers.4.6.1\lib\net462\System.Buffers.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.IO.Pipelines, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.IO.Pipelines.9.0.0\lib\net462\System.IO.Pipelines.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Memory, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Memory.4.6.3\lib\net462\System.Memory.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Numerics" />
|
||||||
|
<Reference Include="System.Numerics.Vectors, Version=4.1.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Numerics.Vectors.4.6.1\lib\net462\System.Numerics.Vectors.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Text.Encodings.Web, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Text.Encodings.Web.9.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Text.Json.9.0.0\lib\net462\System.Text.Json.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="CreateCardOptions.cs" />
|
||||||
|
<Compile Include="TrelloCard.cs" />
|
||||||
|
<Compile Include="TrelloCardClient.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="TrelloConfig.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="app.config" />
|
||||||
|
<None Include="packages.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
</Project>
|
||||||
23
TrelloIntegration/app.config
Normal file
23
TrelloIntegration/app.config
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-6.0.3.0" newVersion="6.0.3.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.1.6.0" newVersion="4.1.6.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
14
TrelloIntegration/packages.config
Normal file
14
TrelloIntegration/packages.config
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="Meziantou.Framework.Win32.CredentialManager" version="1.7.18" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.0" targetFramework="net48" />
|
||||||
|
<package id="System.Buffers" version="4.6.1" targetFramework="net48" />
|
||||||
|
<package id="System.IO.Pipelines" version="9.0.0" targetFramework="net48" />
|
||||||
|
<package id="System.Memory" version="4.6.3" targetFramework="net48" />
|
||||||
|
<package id="System.Numerics.Vectors" version="4.6.1" targetFramework="net48" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="6.1.2" targetFramework="net48" />
|
||||||
|
<package id="System.Text.Encodings.Web" version="9.0.0" targetFramework="net48" />
|
||||||
|
<package id="System.Text.Json" version="9.0.0" targetFramework="net48" />
|
||||||
|
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net48" />
|
||||||
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net48" />
|
||||||
|
</packages>
|
||||||
@ -27,6 +27,14 @@ public class UserSettingsManager
|
|||||||
public Point LocationButtonNeuerStand { get; set; } = new Point(0, 0);
|
public Point LocationButtonNeuerStand { get; set; } = new Point(0, 0);
|
||||||
public Point LocationButtonNeueAufgabe { get; set; } = new Point(0, 0);
|
public Point LocationButtonNeueAufgabe { get; set; } = new Point(0, 0);
|
||||||
public Byte[] OLV_State { get; set; }
|
public Byte[] OLV_State { get; set; }
|
||||||
|
public Byte[] OLV_Rampe_State { get; set; }
|
||||||
|
public Byte[] OLV_Vorbereitet_State { get; set; }
|
||||||
|
public Byte[] OLV_Sonder_State { get; set; }
|
||||||
|
public Byte[] OLV_Geschaeft_State { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//TODO: UserSetting Properties eintragen und in EinstellungsScreen abrufen.
|
//TODO: UserSetting Properties eintragen und in EinstellungsScreen abrufen.
|
||||||
|
|
||||||
|
|
||||||
@ -72,6 +80,10 @@ public class UserSettingsManager
|
|||||||
LocationButtonNeueAufgabe = loadedSettings.LocationButtonNeueAufgabe;
|
LocationButtonNeueAufgabe = loadedSettings.LocationButtonNeueAufgabe;
|
||||||
|
|
||||||
OLV_State = loadedSettings.OLV_State;
|
OLV_State = loadedSettings.OLV_State;
|
||||||
|
OLV_Geschaeft_State = loadedSettings.OLV_Geschaeft_State;
|
||||||
|
OLV_Rampe_State = loadedSettings.OLV_Rampe_State;
|
||||||
|
OLV_Sonder_State = loadedSettings.OLV_Sonder_State;
|
||||||
|
OLV_Vorbereitet_State = loadedSettings.OLV_Vorbereitet_State;
|
||||||
// Weitere Properties hier zuweisen
|
// Weitere Properties hier zuweisen
|
||||||
//TODO: Weitere Properties von oben hier zuweisen
|
//TODO: Weitere Properties von oben hier zuweisen
|
||||||
}
|
}
|
||||||
|
|||||||
@ -621,6 +621,10 @@
|
|||||||
<Folder Include="Old-Forms\" />
|
<Folder Include="Old-Forms\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="TrelloIntegration\TrelloIntegration.csproj">
|
||||||
|
<Project>{260a0604-e43a-4731-a861-1db7ed19ff5d}</Project>
|
||||||
|
<Name>TrelloIntegration</Name>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="VirtualKeyboard\VirtualKeyboard.csproj">
|
<ProjectReference Include="VirtualKeyboard\VirtualKeyboard.csproj">
|
||||||
<Project>{d5d68e54-f738-45e5-82fd-da987f2e0589}</Project>
|
<Project>{d5d68e54-f738-45e5-82fd-da987f2e0589}</Project>
|
||||||
<Name>VirtualKeyboard</Name>
|
<Name>VirtualKeyboard</Name>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 18
|
# Visual Studio Version 18
|
||||||
VisualStudioVersion = 18.4.11626.88 stable
|
VisualStudioVersion = 18.4.11626.88
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Verwaltung", "Verwaltung.csproj", "{1CDFBC6A-240A-4D59-9F9E-35041D9ACCC6}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Verwaltung", "Verwaltung.csproj", "{1CDFBC6A-240A-4D59-9F9E-35041D9ACCC6}"
|
||||||
EndProject
|
EndProject
|
||||||
@ -9,6 +9,8 @@ Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "SetupVerwaltung", "SetupVer
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VirtualKeyboard", "VirtualKeyboard\VirtualKeyboard.csproj", "{D5D68E54-F738-45E5-82FD-DA987F2E0589}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VirtualKeyboard", "VirtualKeyboard\VirtualKeyboard.csproj", "{D5D68E54-F738-45E5-82FD-DA987F2E0589}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TrelloIntegration", "TrelloIntegration\TrelloIntegration.csproj", "{260A0604-E43A-4731-A861-1DB7ED19FF5D}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
@ -25,6 +27,10 @@ Global
|
|||||||
{D5D68E54-F738-45E5-82FD-DA987F2E0589}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{D5D68E54-F738-45E5-82FD-DA987F2E0589}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{D5D68E54-F738-45E5-82FD-DA987F2E0589}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{D5D68E54-F738-45E5-82FD-DA987F2E0589}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{D5D68E54-F738-45E5-82FD-DA987F2E0589}.Release|Any CPU.Build.0 = Release|Any CPU
|
{D5D68E54-F738-45E5-82FD-DA987F2E0589}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{260A0604-E43A-4731-A861-1DB7ED19FF5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{260A0604-E43A-4731-A861-1DB7ED19FF5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{260A0604-E43A-4731-A861-1DB7ED19FF5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{260A0604-E43A-4731-A861-1DB7ED19FF5D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
=====================================
|
=====================================
|
||||||
NEUIGKEITEN - Version 1.1.3.1
|
NEUIGKEITEN - Version 1.1.4.6
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
Build-Info:
|
Build-Info:
|
||||||
- Build-Typ: Release Build
|
- Build-Typ: Release Build
|
||||||
- Erledigte TODOs: 9
|
- Erledigte TODOs: 10
|
||||||
- Offene TODOs: 22
|
- Offene TODOs: 21
|
||||||
- Install-Reminders: 0
|
- Install-Reminders: 0
|
||||||
- Changes: 31
|
- Changes: 32
|
||||||
|
|
||||||
=== ✨ CHANGES (31) ===
|
=== ✨ CHANGES (32) ===
|
||||||
## ArtikelVW.cs ##
|
## ArtikelVW.cs ##
|
||||||
|
|
||||||
- ✨ Reklamation als Spalte hinzugefügt und Anzeigen implementiert. Sowohl bei KundeArtikel als auch bei NW_Artikel.
|
- ✨ Reklamation als Spalte hinzugefügt und Anzeigen implementiert. Sowohl bei KundeArtikel als auch bei NW_Artikel.
|
||||||
@ -30,6 +30,7 @@ Build-Info:
|
|||||||
- ✨ Im Tab Rampe wird bei DoppelClick der Auftrag als gewaschen markiert und im Tab Aufträge heute sichtbar.
|
- ✨ Im Tab Rampe wird bei DoppelClick der Auftrag als gewaschen markiert und im Tab Aufträge heute sichtbar.
|
||||||
- ✨ Im Tab Vorbereitet wird beim Ändern der sauberen Containeranzahl gefragt ob die Etiketten neu gedruckt werden sollen.
|
- ✨ Im Tab Vorbereitet wird beim Ändern der sauberen Containeranzahl gefragt ob die Etiketten neu gedruckt werden sollen.
|
||||||
- ✨ NumericUpDown markiert automatisch den Inhalt. Erleichtert die Eingabe.
|
- ✨ NumericUpDown markiert automatisch den Inhalt. Erleichtert die Eingabe.
|
||||||
|
- ✨ Trello-Karte nach Liefertagänderung kann von Admin oder Verwaltung erstellt werden.
|
||||||
- ✨ Wenn ein anderer Fahrer ausgewählt wird, wird auch die Priority laut dem Fahrer geändert.
|
- ✨ Wenn ein anderer Fahrer ausgewählt wird, wird auch die Priority laut dem Fahrer geändert.
|
||||||
- ✨ Wenn Expedit NeuerAuftrag aufruft wird gefragt welcher Auftrag gewünscht ist. Geschäftkunde = Geschäft (Notwendig bis ausschließlich Fahrer die Standardaufträge erstellen)
|
- ✨ Wenn Expedit NeuerAuftrag aufruft wird gefragt welcher Auftrag gewünscht ist. Geschäftkunde = Geschäft (Notwendig bis ausschließlich Fahrer die Standardaufträge erstellen)
|
||||||
|
|
||||||
@ -71,5 +72,5 @@ Build-Info:
|
|||||||
|
|
||||||
Keine Install-Reminder vorhanden ✅
|
Keine Install-Reminder vorhanden ✅
|
||||||
|
|
||||||
Installation: 28.05.2026 12:28
|
Installation: 08.06.2026 13:02
|
||||||
=====================================
|
=====================================
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user