Compare commits

..

3 Commits

39 changed files with 2873 additions and 661 deletions

View File

@ -28,11 +28,18 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CustomInputBox));
this.textBoxText = new System.Windows.Forms.TextBox(); this.textBoxText = new System.Windows.Forms.TextBox();
this.labelFrage = new System.Windows.Forms.Label(); this.labelFrage = new System.Windows.Forms.Label();
this.labelEingabe = new System.Windows.Forms.Label(); this.labelEingabe = new System.Windows.Forms.Label();
this.buttonAbbrechen = new System.Windows.Forms.Button(); this.buttonAbbrechen = new System.Windows.Forms.Button();
this.buttonOK = new System.Windows.Forms.Button(); this.buttonOK = new System.Windows.Forms.Button();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
this.tableLayoutPanel1.SuspendLayout();
this.tableLayoutPanel2.SuspendLayout();
this.flowLayoutPanel1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// textBoxText // textBoxText
@ -40,10 +47,10 @@
this.textBoxText.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) this.textBoxText.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.textBoxText.Font = new System.Drawing.Font("Microsoft Sans Serif", 16.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.textBoxText.Font = new System.Drawing.Font("Microsoft Sans Serif", 16.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxText.Location = new System.Drawing.Point(29, 105); this.textBoxText.Location = new System.Drawing.Point(20, 120);
this.textBoxText.Margin = new System.Windows.Forms.Padding(20); this.textBoxText.Margin = new System.Windows.Forms.Padding(20);
this.textBoxText.Name = "textBoxText"; this.textBoxText.Name = "textBoxText";
this.textBoxText.Size = new System.Drawing.Size(409, 38); this.textBoxText.Size = new System.Drawing.Size(512, 38);
this.textBoxText.TabIndex = 1; this.textBoxText.TabIndex = 1;
this.textBoxText.Click += new System.EventHandler(this.TextBoxText_Click); this.textBoxText.Click += new System.EventHandler(this.TextBoxText_Click);
this.textBoxText.Enter += new System.EventHandler(this.TextBoxText_Enter); this.textBoxText.Enter += new System.EventHandler(this.TextBoxText_Enter);
@ -52,27 +59,30 @@
// labelFrage // labelFrage
// //
this.labelFrage.AutoSize = true; this.labelFrage.AutoSize = true;
this.labelFrage.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.labelFrage.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelFrage.Location = new System.Drawing.Point(29, 19); this.labelFrage.ForeColor = System.Drawing.Color.White;
this.labelFrage.Margin = new System.Windows.Forms.Padding(20, 10, 20, 20); this.labelFrage.Location = new System.Drawing.Point(20, 20);
this.labelFrage.Margin = new System.Windows.Forms.Padding(20, 20, 5, 5);
this.labelFrage.Name = "labelFrage"; this.labelFrage.Name = "labelFrage";
this.labelFrage.Size = new System.Drawing.Size(134, 20); this.labelFrage.Size = new System.Drawing.Size(156, 25);
this.labelFrage.TabIndex = 4; this.labelFrage.TabIndex = 4;
this.labelFrage.Text = "Deine Frage hier"; this.labelFrage.Text = "Deine Frage hier";
// //
// labelEingabe // labelEingabe
// //
this.labelEingabe.AutoSize = true; this.labelEingabe.AutoSize = true;
this.labelEingabe.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.labelEingabe.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelEingabe.Location = new System.Drawing.Point(29, 79); this.labelEingabe.ForeColor = System.Drawing.Color.White;
this.labelEingabe.Margin = new System.Windows.Forms.Padding(20, 20, 20, 0); this.labelEingabe.Location = new System.Drawing.Point(20, 70);
this.labelEingabe.Margin = new System.Windows.Forms.Padding(20, 20, 5, 5);
this.labelEingabe.Name = "labelEingabe"; this.labelEingabe.Name = "labelEingabe";
this.labelEingabe.Size = new System.Drawing.Size(65, 20); this.labelEingabe.Size = new System.Drawing.Size(79, 25);
this.labelEingabe.TabIndex = 5; this.labelEingabe.TabIndex = 5;
this.labelEingabe.Text = "Anzahl:"; this.labelEingabe.Text = "Anzahl:";
// //
// buttonAbbrechen // buttonAbbrechen
// //
this.buttonAbbrechen.AccessibleName = "Abbrechen";
this.buttonAbbrechen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonAbbrechen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonAbbrechen.BackColor = System.Drawing.Color.Red; this.buttonAbbrechen.BackColor = System.Drawing.Color.Red;
this.buttonAbbrechen.CausesValidation = false; this.buttonAbbrechen.CausesValidation = false;
@ -82,8 +92,8 @@
this.buttonAbbrechen.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.buttonAbbrechen.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonAbbrechen.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.buttonAbbrechen.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonAbbrechen.ForeColor = System.Drawing.Color.White; this.buttonAbbrechen.ForeColor = System.Drawing.Color.White;
this.buttonAbbrechen.Location = new System.Drawing.Point(238, 167); this.buttonAbbrechen.Location = new System.Drawing.Point(215, 5);
this.buttonAbbrechen.Margin = new System.Windows.Forms.Padding(4, 4, 20, 4); this.buttonAbbrechen.Margin = new System.Windows.Forms.Padding(5);
this.buttonAbbrechen.Name = "buttonAbbrechen"; this.buttonAbbrechen.Name = "buttonAbbrechen";
this.buttonAbbrechen.Size = new System.Drawing.Size(200, 50); this.buttonAbbrechen.Size = new System.Drawing.Size(200, 50);
this.buttonAbbrechen.TabIndex = 3; this.buttonAbbrechen.TabIndex = 3;
@ -93,6 +103,7 @@
// //
// buttonOK // buttonOK
// //
this.buttonOK.AccessibleName = "Ok";
this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0))))); this.buttonOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK; this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
@ -101,8 +112,8 @@
this.buttonOK.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.buttonOK.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonOK.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.buttonOK.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonOK.ForeColor = System.Drawing.Color.White; this.buttonOK.ForeColor = System.Drawing.Color.White;
this.buttonOK.Location = new System.Drawing.Point(30, 167); this.buttonOK.Location = new System.Drawing.Point(5, 5);
this.buttonOK.Margin = new System.Windows.Forms.Padding(20, 4, 4, 4); this.buttonOK.Margin = new System.Windows.Forms.Padding(5);
this.buttonOK.Name = "buttonOK"; this.buttonOK.Name = "buttonOK";
this.buttonOK.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2); this.buttonOK.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.buttonOK.Size = new System.Drawing.Size(200, 50); this.buttonOK.Size = new System.Drawing.Size(200, 50);
@ -111,6 +122,57 @@
this.buttonOK.UseVisualStyleBackColor = false; this.buttonOK.UseVisualStyleBackColor = false;
this.buttonOK.Click += new System.EventHandler(this.ButtonOK_Click); this.buttonOK.Click += new System.EventHandler(this.ButtonOK_Click);
// //
// tableLayoutPanel1
//
this.tableLayoutPanel1.AutoSize = true;
this.tableLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.labelFrage, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.labelEingabe, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.textBoxText, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 3);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 4;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.Size = new System.Drawing.Size(552, 244);
this.tableLayoutPanel1.TabIndex = 6;
//
// tableLayoutPanel2
//
this.tableLayoutPanel2.AutoSize = true;
this.tableLayoutPanel2.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.tableLayoutPanel2.ColumnCount = 3;
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel2.Controls.Add(this.flowLayoutPanel1, 1, 0);
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 181);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 1;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(546, 60);
this.tableLayoutPanel2.TabIndex = 6;
//
// flowLayoutPanel1
//
this.flowLayoutPanel1.AutoSize = true;
this.flowLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.flowLayoutPanel1.Controls.Add(this.buttonOK);
this.flowLayoutPanel1.Controls.Add(this.buttonAbbrechen);
this.flowLayoutPanel1.Location = new System.Drawing.Point(63, 0);
this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(0);
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
this.flowLayoutPanel1.Size = new System.Drawing.Size(420, 60);
this.flowLayoutPanel1.TabIndex = 0;
this.flowLayoutPanel1.WrapContents = false;
//
// CustomInputBox // CustomInputBox
// //
this.AcceptButton = this.buttonOK; this.AcceptButton = this.buttonOK;
@ -118,17 +180,21 @@
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AutoSize = true; this.AutoSize = true;
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.CancelButton = this.buttonAbbrechen; this.CancelButton = this.buttonAbbrechen;
this.ClientSize = new System.Drawing.Size(467, 230); this.ClientSize = new System.Drawing.Size(552, 244);
this.Controls.Add(this.buttonAbbrechen); this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this.buttonOK);
this.Controls.Add(this.labelEingabe);
this.Controls.Add(this.labelFrage);
this.Controls.Add(this.textBoxText);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "CustomInputBox"; this.Name = "CustomInputBox";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "CustomMessageBox"; this.Text = "CustomInputBox";
this.Load += new System.EventHandler(this.CustomInputBox_Load);
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.tableLayoutPanel2.ResumeLayout(false);
this.tableLayoutPanel2.PerformLayout();
this.flowLayoutPanel1.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
@ -140,5 +206,8 @@
private System.Windows.Forms.Label labelEingabe; private System.Windows.Forms.Label labelEingabe;
private System.Windows.Forms.Button buttonAbbrechen; private System.Windows.Forms.Button buttonAbbrechen;
private System.Windows.Forms.Button buttonOK; private System.Windows.Forms.Button buttonOK;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
} }
} }

View File

@ -1,4 +1,5 @@
using System; using Deckungsbeitrag.AA_Klassen;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
@ -15,26 +16,100 @@ namespace Deckungsbeitrag.AA_Forms
{ {
private QwertzKeyboard keyboard; private QwertzKeyboard keyboard;
private readonly bool isNumeric; private readonly bool isNumeric;
private readonly string frage; private bool isFallback = false;
private readonly string title; private string title;
private readonly string eingabe; private string caption;
private string todo;
private string eingabe;
private string numeric;
public string text; public string text;
public CustomInputBox()
private static string Title;
private static string Caption;
private static string Todo;
private static string Eingabe;
public CustomInputBox(string numeric)
{ {
InitializeComponent(); InitializeComponent();
} ControlBox = false;
public CustomInputBox(string Frage, string Title, string Eingabe, string numeric) : this()
{
if (numeric == "isNumeric") { this.textBoxText.AccessibleName = "isNumeric"; this.isNumeric = true; } if (numeric == "isNumeric") { this.textBoxText.AccessibleName = "isNumeric"; this.isNumeric = true; }
if (numeric == "isAlpha") { this.textBoxText.AccessibleName = "isAlpha"; this.isNumeric = false; } if (numeric == "isAlpha") { this.textBoxText.AccessibleName = "isAlpha"; this.isNumeric = false; }
if (numeric == "isCalc") { this.textBoxText.AccessibleName = "isClac"; this.isNumeric = true; } if (numeric == "isCalc") { this.textBoxText.AccessibleName = "isClac"; this.isNumeric = true; }
this.labelFrage.Text = Frage; }
this.labelEingabe.Text = Eingabe + ":"; public CustomInputBox(string frage, string title, string eingabe, string numeric) : this(numeric)
{
Caption = frage;
Eingabe = eingabe;
Title = title;
}
/// <summary>
/// Aufrufen der CustomInputBox. Besser .Show verwenden.
/// </summary>
/// <param name="title">Key von BoxTitel</param>
/// <param name="caption">Key von Message-Text</param>
/// <param name="todo">Key von ToDo</param>
/// <param name="eingabe">Hinweis welche Eingabe erwartet wird</param>
/// <param name="numeric">Eingabeformat für VirtuelKeyboard (isNumeric, isCalc oder isAlpha)</param>
public CustomInputBox(string title, string caption, string todo, string eingabe, string Numeric) : this(Numeric)
{
this.title = title;
this.caption = caption;
this.todo = todo;
this.eingabe = eingabe;
}
/// <summary>
/// Aufrufen der CustomInputBox.
/// </summary>
/// <param name="title">Key von BoxTitel</param>
/// <param name="caption">Key von Message-Text</param>
/// <param name="todo">Key von ToDo</param>
/// <param name="eingabe">Hinweis welche Eingabe erwartet wird</param>
/// <param name="numeric">Eingabeformat für VirtuelKeyboard (isNumeric, isCalc oder isAlpha)</param>
public static DialogResult Show(string title, string caption, string todo, string eingabe, string numeric)
{
CustomInputBox inputBox = new CustomInputBox(title, caption, todo, eingabe, numeric);
return inputBox.ShowDialog();
}
private void CustomInputBox_Load(object sender, EventArgs e)
{
GetTranslation(title, caption, todo, eingabe);
this.buttonOK.Text = TranslationService.T("Button.Ok");
this.buttonAbbrechen.Text = TranslationService.T("Button.Abbrechen");
this.Text = Title; this.Text = Title;
this.labelFrage.Text = Caption + " ";
this.labelFrage.Text += !string.IsNullOrWhiteSpace(Todo) ? Todo : string.Empty;
this.labelEingabe.Text = !string.IsNullOrWhiteSpace(Eingabe) ? Eingabe + ":" : string.Empty;
if (isNumeric) this.textBoxText.Text = "1"; if (isNumeric) this.textBoxText.Text = "1";
else this.textBoxText.Text = string.Empty; else this.textBoxText.Text = string.Empty;
} }
/// <summary>
/// Die strings werden aus der translation.json ausgelesen und übersetzt.
/// </summary>
/// <param name="title"></param>
/// <param name="caption"></param>
/// <param name="todo"></param>
/// <param name="eingabe"></param>
private static void GetTranslation(string title, string caption, string todo, string eingabe)
{
if (title != null) Title = TranslationService.T(title);
if (caption != null) Caption = TranslationService.T(caption);
if (todo != null) Todo = TranslationService.T(todo);
if (eingabe != null) Eingabe = TranslationService.T(eingabe);
}
private void TextBoxText_Click(object sender, EventArgs e) private void TextBoxText_Click(object sender, EventArgs e)
{ {
TextBox tb = (TextBox)sender; TextBox tb = (TextBox)sender;
@ -80,7 +155,7 @@ namespace Deckungsbeitrag.AA_Forms
if (int.TryParse(textBoxText.Text, out int value)) this.text = textBoxText.Text; if (int.TryParse(textBoxText.Text, out int value)) this.text = textBoxText.Text;
else else
{ {
MessageBox.Show("Bitte nur ganze Zahlen eingeben.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); CustomMessageBox.Show("Titel.Fehler", "Text.Fehler.NurZahlen", null, new string[] { "Ok" });
e.Cancel = true; e.Cancel = true;
this.textBoxText.Clear(); this.textBoxText.Clear();
} }
@ -90,5 +165,29 @@ namespace Deckungsbeitrag.AA_Forms
this.text = textBoxText.Text; this.text = textBoxText.Text;
} }
} }
/// <summary>
/// Tastendruck wird erkannt und verarbeitet.
/// </summary>
/// <param name="keyData"></param>
/// <returns></returns>
protected override bool ProcessDialogKey(Keys keyData)
{
// Taste T löst Übersetzung in FallbackLanguage aus bzw. setzt die Übersetzung wieder auf CurrentLanguage zurück.
if (Form.ModifierKeys == Keys.None && keyData == Keys.T)
{
if (!isFallback) TranslationService.SetLanguage(TranslationService.FallbackLanguage);
else TranslationService.SetLanguage(Program._settings.Culture);
isFallback = !isFallback;
CustomInputBox_Load(this, null);
return true;
}
return base.ProcessDialogKey(keyData);
}
} }
} }

View File

@ -117,4 +117,103 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
QmCC
</value>
</data>
</root> </root>

220
AA-Forms/CustomMessageBox.Designer.cs generated Normal file
View File

@ -0,0 +1,220 @@
namespace Deckungsbeitrag.AA_Forms
{
partial class CustomMessageBox
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CustomMessageBox));
this.labelText = new System.Windows.Forms.Label();
this.labelToDo = new System.Windows.Forms.Label();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.tLPButtons = new System.Windows.Forms.TableLayoutPanel();
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
this.buttonOK = new System.Windows.Forms.Button();
this.buttonAlternativ = new System.Windows.Forms.Button();
this.buttonAbbrechen = new System.Windows.Forms.Button();
this.tableLayoutPanel1.SuspendLayout();
this.tLPButtons.SuspendLayout();
this.flowLayoutPanel1.SuspendLayout();
this.SuspendLayout();
//
// labelText
//
this.labelText.AutoSize = true;
this.labelText.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelText.ForeColor = System.Drawing.Color.White;
this.labelText.Location = new System.Drawing.Point(20, 20);
this.labelText.Margin = new System.Windows.Forms.Padding(20);
this.labelText.Name = "labelText";
this.labelText.Size = new System.Drawing.Size(133, 25);
this.labelText.TabIndex = 6;
this.labelText.Text = "Dein Text hier";
//
// labelToDo
//
this.labelToDo.AutoSize = true;
this.labelToDo.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelToDo.ForeColor = System.Drawing.Color.White;
this.labelToDo.Location = new System.Drawing.Point(20, 83);
this.labelToDo.Margin = new System.Windows.Forms.Padding(20, 10, 20, 20);
this.labelToDo.Name = "labelToDo";
this.labelToDo.Size = new System.Drawing.Size(133, 25);
this.labelToDo.TabIndex = 7;
this.labelToDo.Text = "Dein Text hier";
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.AutoSize = true;
this.tableLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.tLPButtons, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.labelText, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.labelToDo, 0, 1);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 3;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.Size = new System.Drawing.Size(653, 213);
this.tableLayoutPanel1.TabIndex = 10;
//
// tLPButtons
//
this.tLPButtons.AutoSize = true;
this.tLPButtons.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.tLPButtons.ColumnCount = 3;
this.tLPButtons.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tLPButtons.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tLPButtons.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tLPButtons.Controls.Add(this.flowLayoutPanel1, 1, 0);
this.tLPButtons.Dock = System.Windows.Forms.DockStyle.Bottom;
this.tLPButtons.Location = new System.Drawing.Point(3, 150);
this.tLPButtons.Name = "tLPButtons";
this.tLPButtons.RowCount = 1;
this.tLPButtons.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tLPButtons.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 60F));
this.tLPButtons.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 60F));
this.tLPButtons.Size = new System.Drawing.Size(647, 60);
this.tLPButtons.TabIndex = 10;
//
// flowLayoutPanel1
//
this.flowLayoutPanel1.AutoSize = true;
this.flowLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.flowLayoutPanel1.Controls.Add(this.buttonOK);
this.flowLayoutPanel1.Controls.Add(this.buttonAlternativ);
this.flowLayoutPanel1.Controls.Add(this.buttonAbbrechen);
this.flowLayoutPanel1.Location = new System.Drawing.Point(8, 0);
this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(0);
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
this.flowLayoutPanel1.Size = new System.Drawing.Size(630, 60);
this.flowLayoutPanel1.TabIndex = 8;
this.flowLayoutPanel1.WrapContents = false;
//
// buttonOK
//
this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
this.buttonOK.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.buttonOK.FlatAppearance.BorderSize = 0;
this.buttonOK.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonOK.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonOK.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.buttonOK.Location = new System.Drawing.Point(5, 5);
this.buttonOK.Margin = new System.Windows.Forms.Padding(5);
this.buttonOK.Name = "buttonOK";
this.buttonOK.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.buttonOK.Size = new System.Drawing.Size(200, 50);
this.buttonOK.TabIndex = 4;
this.buttonOK.Text = "OK";
this.buttonOK.UseVisualStyleBackColor = false;
this.buttonOK.Click += new System.EventHandler(this.Button_Click);
//
// buttonAlternativ
//
this.buttonAlternativ.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonAlternativ.BackColor = System.Drawing.Color.Orange;
this.buttonAlternativ.CausesValidation = false;
this.buttonAlternativ.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.buttonAlternativ.FlatAppearance.BorderColor = System.Drawing.Color.Red;
this.buttonAlternativ.FlatAppearance.BorderSize = 0;
this.buttonAlternativ.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonAlternativ.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonAlternativ.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.buttonAlternativ.Location = new System.Drawing.Point(215, 5);
this.buttonAlternativ.Margin = new System.Windows.Forms.Padding(5);
this.buttonAlternativ.Name = "buttonAlternativ";
this.buttonAlternativ.Size = new System.Drawing.Size(200, 50);
this.buttonAlternativ.TabIndex = 6;
this.buttonAlternativ.Text = "Alternative";
this.buttonAlternativ.UseVisualStyleBackColor = false;
this.buttonAlternativ.Visible = false;
this.buttonAlternativ.Click += new System.EventHandler(this.Button_Click);
//
// buttonAbbrechen
//
this.buttonAbbrechen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonAbbrechen.BackColor = System.Drawing.Color.Red;
this.buttonAbbrechen.CausesValidation = false;
this.buttonAbbrechen.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.buttonAbbrechen.FlatAppearance.BorderColor = System.Drawing.Color.Red;
this.buttonAbbrechen.FlatAppearance.BorderSize = 0;
this.buttonAbbrechen.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonAbbrechen.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonAbbrechen.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.buttonAbbrechen.Location = new System.Drawing.Point(425, 5);
this.buttonAbbrechen.Margin = new System.Windows.Forms.Padding(5);
this.buttonAbbrechen.Name = "buttonAbbrechen";
this.buttonAbbrechen.Size = new System.Drawing.Size(200, 50);
this.buttonAbbrechen.TabIndex = 5;
this.buttonAbbrechen.Text = "Abbrechen";
this.buttonAbbrechen.UseVisualStyleBackColor = false;
this.buttonAbbrechen.Click += new System.EventHandler(this.Button_Click);
//
// CustomMessageBox
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AutoSize = true;
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.ClientSize = new System.Drawing.Size(653, 213);
this.Controls.Add(this.tableLayoutPanel1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.MinimumSize = new System.Drawing.Size(500, 250);
this.Name = "CustomMessageBox";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "CustomMessageBox";
this.Load += new System.EventHandler(this.CustomMessageBox_Load);
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.tLPButtons.ResumeLayout(false);
this.tLPButtons.PerformLayout();
this.flowLayoutPanel1.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label labelText;
private System.Windows.Forms.Label labelToDo;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.TableLayoutPanel tLPButtons;
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
private System.Windows.Forms.Button buttonOK;
private System.Windows.Forms.Button buttonAbbrechen;
private System.Windows.Forms.Button buttonAlternativ;
}
}

View File

@ -0,0 +1,204 @@
using Deckungsbeitrag.AA_Klassen;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Forms;
using VirtualKeyboard;
namespace Deckungsbeitrag.AA_Forms
{
public partial class CustomMessageBox : Form
{
public DialogResult result;
public string buttontext;
private string title;
private string caption;
private string todo;
private string[] buttons;
private static string[] Inputs;
private static string Title;
private static string Caption;
private static string Todo;
private static string[] Buttons;
/// <summary>
/// Ist die Übersetzung in FallbackLanguage oder nicht.
/// </summary>
private bool isFallback = false;
/// <summary>
/// Aufrufen der CustomMessageBox. Besser .Show verwenden.
/// </summary>
/// <param name="title"></param>
/// <param name="caption"></param>
/// <param name="todo"></param>
/// <param name="buttons"></param>
public CustomMessageBox(string title, string caption, string todo, string[] buttons)
{
InitializeComponent();
ControlBox = false;
this.title = title;
this.caption = caption;
this.todo = todo;
this.buttons = buttons;
}
/// <summary>
/// Aufrufen der CustomMessageBox.
/// </summary>
/// <param name="title">Key von FormTitel</param>
/// <param name="caption">Key von Message-Text</param>
/// <param name="todo">Key von ToDo</param>
/// <param name="buttons">Buttonnamen [0]=Button OK, [1]=Button Abbrechen, [2]=Button Alternative (werden nachträglich in Key generiert)</param>
/// <param name="inputs">Infotexte die in der Message angezeigt werden sollen. Nur wenn todo = NULL</param>
public static DialogResult Show(string title, string caption, string todo, string[] buttons, string[] inputs = null)
{
if (inputs != null) Inputs = inputs;
CustomMessageBox messageBox = new CustomMessageBox(title, caption, todo, buttons);
return messageBox.ShowDialog();
}
/// <summary>
/// Beim Laden der Box wird die Übersetzung geholt sowie die Texte in den Controls gesetzt und die Buttons aktualisiert.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void CustomMessageBox_Load(object sender, EventArgs e)
{
GetTranslation(title, caption, todo);
Buttons = this.buttons;
this.labelText.Text = Caption;
this.Text = Title;
if (Todo == null)
{
if (Inputs != null)
{
this.labelToDo.Text = string.Empty;
foreach (string s in Inputs) this.labelToDo.Text += s + "\n";
}
else this.labelToDo.Visible = false;
}
else this.labelToDo.Text = Todo;
GetButtons();
}
/// <summary>
/// Die Buttons werden entsprechend mit übersetztem Text und AccessibleName aktualisiert.
/// </summary>
private void GetButtons()
{
if (Buttons.Length == 1)
{
this.buttonAbbrechen.Visible = false;
this.buttonOK.Text = TranslationService.T($"Button.{Buttons[0]}");
this.buttonOK.AccessibleName = Buttons[0];
}
if (Buttons.Length == 2)
{
this.buttonAbbrechen.Visible = true;
this.buttonOK.Text = TranslationService.T($"Button.{Buttons[0]}");
this.buttonAbbrechen.Text = TranslationService.T($"Button.{Buttons[1]}");
this.buttonOK.AccessibleName = Buttons[0];
this.buttonAbbrechen.AccessibleName = Buttons[1];
}
if (Buttons.Length == 3)
{
this.buttonAlternativ.Visible = true;
this.buttonOK.Text = TranslationService.T($"Button.{Buttons[0]}");
this.buttonAbbrechen.Text = TranslationService.T($"Button.{Buttons[1]}");
this.buttonAlternativ.Text = TranslationService.T($"Button.{Buttons[2]}");
this.buttonOK.AccessibleName = Buttons[0];
this.buttonAbbrechen.AccessibleName = Buttons[1];
this.buttonAlternativ.AccessibleName = Buttons[2];
}
}
/// <summary>
/// Die strings werden aus der translation.json ausgelesen und übersetzt.
/// </summary>
/// <param name="title"></param>
/// <param name="caption"></param>
/// <param name="todo"></param>
private static void GetTranslation(string title, string caption, string todo)
{
Title = TranslationService.T(title);
Caption = TranslationService.T(caption);
if (todo != null) Todo = TranslationService.T(todo);
}
/// <summary>
/// Wenn Button geklickt wird, wird nach AccessibleName der DialogStatus gesetzt. Danach wird die Box geschlossen.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
switch (btn.AccessibleName.ToLower())
{
case var t when t == "ok": this.DialogResult = DialogResult.OK; break;
case var t when t == "ja": this.DialogResult = DialogResult.Yes; break;
case var t when t == "abbrechen": this.DialogResult = DialogResult.Cancel; break;
case var t when t == "nein": this.DialogResult = DialogResult.No; break;
default:
this.buttontext = btn.AccessibleName;
this.DialogResult = DialogResult.Ignore;
break;
}
this.Close();
}
/// <summary>
/// Tastendruck wird erkannt und verarbeitet.
/// </summary>
/// <param name="keyData"></param>
/// <returns></returns>
protected override bool ProcessDialogKey(Keys keyData)
{
// Taste T löst Übersetzung in FallbackLanguage aus bzw. setzt die Übersetzung wieder auf CurrentLanguage zurück.
if (Form.ModifierKeys == Keys.None && keyData == Keys.T)
{
if (!isFallback) TranslationService.SetLanguage(TranslationService.FallbackLanguage);
else TranslationService.SetLanguage(Program._settings.Culture);
isFallback = !isFallback;
CustomMessageBox_Load(this, null);
return true;
}
return base.ProcessDialogKey(keyData);
}
}
}

View File

@ -0,0 +1,219 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
QmCC
</value>
</data>
</root>

View File

@ -1,5 +1,6 @@
using BrightIdeasSoftware; using BrightIdeasSoftware;
using DatenDB; using DatenDB;
using Deckungsbeitrag.AA_Forms;
using Deckungsbeitrag.AA_Klassen; using Deckungsbeitrag.AA_Klassen;
using Deckungsbeitrag.UserControls; using Deckungsbeitrag.UserControls;
//using HarfBuzzSharp; //using HarfBuzzSharp;
@ -154,7 +155,7 @@ namespace Deckungsbeitrag
this.objectListViewArtikel.ShowGroups = false; this.objectListViewArtikel.ShowGroups = false;
Generator.GenerateColumns(this.objectListViewArtikel, typeof(NWData)); Generator.GenerateColumns(this.objectListViewArtikel, typeof(NWData));
List<KundeArtikel> kndartList = KundeArtikel.GetFehlmengeList(null, art.ArtikelID); List<KundeArtikel> kndartList = KundeArtikel.GetFehlmengeList(null, art.ArtikelID, false);
var NWDataList = new List<NWData>(); var NWDataList = new List<NWData>();
// Kunden sammeln // Kunden sammeln
@ -268,7 +269,7 @@ namespace Deckungsbeitrag
} }
} }
} }
else { MessageBox.Show("Bitte nur ganze Zahlen eingeben.", "ACHTUNG", MessageBoxButtons.OK, MessageBoxIcon.Error); e.Cancel = true; } else { CustomMessageBox.Show("Titel.Fehler", "Text.Fehler.NurZahlen", null, new string[] { "Ok" }); e.Cancel = true; }
this.objectListViewArtikel.RefreshObject(e.RowObject); this.objectListViewArtikel.RefreshObject(e.RowObject);
} }

View File

@ -1,5 +1,6 @@
using BrightIdeasSoftware; using BrightIdeasSoftware;
using DatenDB; using DatenDB;
using Deckungsbeitrag.AA_Forms;
using Npgsql; using Npgsql;
using System; using System;
using System.CodeDom; using System.CodeDom;
@ -354,10 +355,10 @@ namespace Deckungsbeitrag
else _kunde = Kunde.GetKunde(null, null, text.ToLower()); else _kunde = Kunde.GetKunde(null, null, text.ToLower());
// Wenn kein Auftrag gefunden muss der Zettel zum Expedit gebracht werden. ÜBERGANGSZEIT FALLS AUFTRAG NICHT VON FAHRER ERFASST. // Wenn kein Auftrag gefunden muss der Zettel zum Expedit gebracht werden. ÜBERGANGSZEIT FALLS AUFTRAG NICHT VON FAHRER ERFASST.
if (_kunde == null) { MessageBox.Show("Der Auftrag konnte nicht gefunden werden. Bring die Karte zur Mirka.", "ACHTUNG", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (_kunde == null) { CustomMessageBox.Show("Titel.Achtung", "Text.Achtung.AuftragNotFound", null, new string[] { "Ok" }); ; return; }
List<Auftrag> auftList = Auftrag.FindeAuftragVonKunde(_kunde, zusatz, null, (DateTime?)null); List<Auftrag> auftList = Auftrag.FindeAuftragVonKunde(_kunde, zusatz, null, (DateTime?)null);
if (auftList.Count == 0) { meldung.GetFehler(this, "Es konnte kein Auftrag zugewünschten Kunden gefunden werden.\nBitte Informiere deinen Vorgesetzten."); return; } if (auftList.Count == 0) { CustomMessageBox.Show("Titel.Achtung", "Text.Achtung.AuftragNotFound", "Todo.VorgesetzenInformieren", new string[] { "Ok" }); return; }
// Alten Auftrag Speichern (Status Gewaschen) wenn neuer Auftrag gefunden wurde. // Alten Auftrag Speichern (Status Gewaschen) wenn neuer Auftrag gefunden wurde.
if (auftrag != null) if (auftrag != null)

View File

@ -127,7 +127,7 @@ namespace Deckungsbeitrag.AA_Forms
if (e.Button == MouseButtons.Right) if (e.Button == MouseButtons.Right)
{ {
if (MessageBox.Show($"Möchtest du den Auftrag vom Kunde {exAuftrag.KundeName} mit Liefertag {exAuftrag.Liefertag:d} auswählen?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; if (CustomMessageBox.Show("Titel.Frage", "Text.Frage.AuswahlBestaetigen", null, new string[] { "Ja", "Nein" }, new string[] { $"{exAuftrag.KundeName}", $"{exAuftrag.Liefertag:d}" }) == DialogResult.No) return;
} }
this.kunde = Kunde.GetKunde(null, exAuftrag.KundeID, null); this.kunde = Kunde.GetKunde(null, exAuftrag.KundeID, null);
@ -202,6 +202,7 @@ namespace Deckungsbeitrag.AA_Forms
private void FormAuftragAuswahl_FormClosing(object sender, FormClosingEventArgs e) private void FormAuftragAuswahl_FormClosing(object sender, FormClosingEventArgs e)
{ {
if (keyboard != null) keyboard.Close();
if (this.kunde == null & this.auftrag == null) this.DialogResult = DialogResult.Cancel; if (this.kunde == null & this.auftrag == null) this.DialogResult = DialogResult.Cancel;
} }
} }

View File

@ -84,6 +84,14 @@
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
this.tabControlEinstellung = new System.Windows.Forms.TabControl(); this.tabControlEinstellung = new System.Windows.Forms.TabControl();
this.tabPageAllgemein = new System.Windows.Forms.TabPage(); this.tabPageAllgemein = new System.Windows.Forms.TabPage();
this.groupBoxSprache = new System.Windows.Forms.GroupBox();
this.comboBoxSprachen = new System.Windows.Forms.ComboBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.buttonSaveCredentials = new System.Windows.Forms.Button();
this.label26 = new System.Windows.Forms.Label();
this.label25 = new System.Windows.Forms.Label();
this.textBoxApiKey = new System.Windows.Forms.TextBox();
this.textBoxToken = new System.Windows.Forms.TextBox();
this.groupBoxPfade = new System.Windows.Forms.GroupBox(); this.groupBoxPfade = new System.Windows.Forms.GroupBox();
this.tabPageFarben = new System.Windows.Forms.TabPage(); this.tabPageFarben = new System.Windows.Forms.TabPage();
this.tabPageDeckungsbeitrag = new System.Windows.Forms.TabPage(); this.tabPageDeckungsbeitrag = new System.Windows.Forms.TabPage();
@ -109,12 +117,6 @@
this.label15 = new System.Windows.Forms.Label(); this.label15 = new System.Windows.Forms.Label();
this.tabPageExpedit = new System.Windows.Forms.TabPage(); this.tabPageExpedit = new System.Windows.Forms.TabPage();
this.panelButtons = new System.Windows.Forms.Panel(); this.panelButtons = new System.Windows.Forms.Panel();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.textBoxApiKey = new System.Windows.Forms.TextBox();
this.textBoxToken = new System.Windows.Forms.TextBox();
this.label25 = new System.Windows.Forms.Label();
this.label26 = new System.Windows.Forms.Label();
this.buttonSaveCredentials = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.numUpDownMinWert)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numUpDownMinWert)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numUpDownMaxWert)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numUpDownMaxWert)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numUpDownAnzahl)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numUpDownAnzahl)).BeginInit();
@ -124,6 +126,8 @@
((System.ComponentModel.ISupportInitialize)(this.numericUpDownSWSKopien)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownSWSKopien)).BeginInit();
this.tabControlEinstellung.SuspendLayout(); this.tabControlEinstellung.SuspendLayout();
this.tabPageAllgemein.SuspendLayout(); this.tabPageAllgemein.SuspendLayout();
this.groupBoxSprache.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBoxPfade.SuspendLayout(); this.groupBoxPfade.SuspendLayout();
this.tabPageFarben.SuspendLayout(); this.tabPageFarben.SuspendLayout();
this.tabPageDeckungsbeitrag.SuspendLayout(); this.tabPageDeckungsbeitrag.SuspendLayout();
@ -131,7 +135,6 @@
this.tabPageTourenplanung.SuspendLayout(); this.tabPageTourenplanung.SuspendLayout();
this.groupBoxRegeln.SuspendLayout(); this.groupBoxRegeln.SuspendLayout();
this.panelButtons.SuspendLayout(); this.panelButtons.SuspendLayout();
this.groupBox2.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// buttonVarKost // buttonVarKost
@ -817,7 +820,7 @@
this.comboBoxSWSDrucker.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.comboBoxSWSDrucker.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxSWSDrucker.FormattingEnabled = true; this.comboBoxSWSDrucker.FormattingEnabled = true;
this.comboBoxSWSDrucker.Location = new System.Drawing.Point(164, 36); this.comboBoxSWSDrucker.Location = new System.Drawing.Point(164, 36);
this.comboBoxSWSDrucker.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.comboBoxSWSDrucker.Margin = new System.Windows.Forms.Padding(4);
this.comboBoxSWSDrucker.Name = "comboBoxSWSDrucker"; this.comboBoxSWSDrucker.Name = "comboBoxSWSDrucker";
this.comboBoxSWSDrucker.Size = new System.Drawing.Size(259, 25); this.comboBoxSWSDrucker.Size = new System.Drawing.Size(259, 25);
this.comboBoxSWSDrucker.TabIndex = 46; this.comboBoxSWSDrucker.TabIndex = 46;
@ -827,7 +830,7 @@
this.comboBoxEtikettDrucker.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.comboBoxEtikettDrucker.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxEtikettDrucker.FormattingEnabled = true; this.comboBoxEtikettDrucker.FormattingEnabled = true;
this.comboBoxEtikettDrucker.Location = new System.Drawing.Point(164, 69); this.comboBoxEtikettDrucker.Location = new System.Drawing.Point(164, 69);
this.comboBoxEtikettDrucker.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.comboBoxEtikettDrucker.Margin = new System.Windows.Forms.Padding(4);
this.comboBoxEtikettDrucker.Name = "comboBoxEtikettDrucker"; this.comboBoxEtikettDrucker.Name = "comboBoxEtikettDrucker";
this.comboBoxEtikettDrucker.Size = new System.Drawing.Size(259, 25); this.comboBoxEtikettDrucker.Size = new System.Drawing.Size(259, 25);
this.comboBoxEtikettDrucker.TabIndex = 47; this.comboBoxEtikettDrucker.TabIndex = 47;
@ -844,9 +847,9 @@
this.groupBoxDrucker.Controls.Add(this.label14); this.groupBoxDrucker.Controls.Add(this.label14);
this.groupBoxDrucker.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.groupBoxDrucker.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.groupBoxDrucker.Location = new System.Drawing.Point(19, 39); this.groupBoxDrucker.Location = new System.Drawing.Point(19, 39);
this.groupBoxDrucker.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.groupBoxDrucker.Margin = new System.Windows.Forms.Padding(4);
this.groupBoxDrucker.Name = "groupBoxDrucker"; this.groupBoxDrucker.Name = "groupBoxDrucker";
this.groupBoxDrucker.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); this.groupBoxDrucker.Padding = new System.Windows.Forms.Padding(4);
this.groupBoxDrucker.Size = new System.Drawing.Size(729, 151); this.groupBoxDrucker.Size = new System.Drawing.Size(729, 151);
this.groupBoxDrucker.TabIndex = 48; this.groupBoxDrucker.TabIndex = 48;
this.groupBoxDrucker.TabStop = false; this.groupBoxDrucker.TabStop = false;
@ -857,7 +860,7 @@
this.comboBoxTourenlisteDrucker.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.comboBoxTourenlisteDrucker.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxTourenlisteDrucker.FormattingEnabled = true; this.comboBoxTourenlisteDrucker.FormattingEnabled = true;
this.comboBoxTourenlisteDrucker.Location = new System.Drawing.Point(164, 102); this.comboBoxTourenlisteDrucker.Location = new System.Drawing.Point(164, 102);
this.comboBoxTourenlisteDrucker.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.comboBoxTourenlisteDrucker.Margin = new System.Windows.Forms.Padding(4);
this.comboBoxTourenlisteDrucker.Name = "comboBoxTourenlisteDrucker"; this.comboBoxTourenlisteDrucker.Name = "comboBoxTourenlisteDrucker";
this.comboBoxTourenlisteDrucker.Size = new System.Drawing.Size(259, 25); this.comboBoxTourenlisteDrucker.Size = new System.Drawing.Size(259, 25);
this.comboBoxTourenlisteDrucker.TabIndex = 51; this.comboBoxTourenlisteDrucker.TabIndex = 51;
@ -876,7 +879,7 @@
// //
this.numericUpDownSWSKopien.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.numericUpDownSWSKopien.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.numericUpDownSWSKopien.Location = new System.Drawing.Point(539, 37); this.numericUpDownSWSKopien.Location = new System.Drawing.Point(539, 37);
this.numericUpDownSWSKopien.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.numericUpDownSWSKopien.Margin = new System.Windows.Forms.Padding(4);
this.numericUpDownSWSKopien.Name = "numericUpDownSWSKopien"; this.numericUpDownSWSKopien.Name = "numericUpDownSWSKopien";
this.numericUpDownSWSKopien.Size = new System.Drawing.Size(63, 23); this.numericUpDownSWSKopien.Size = new System.Drawing.Size(63, 23);
this.numericUpDownSWSKopien.TabIndex = 49; this.numericUpDownSWSKopien.TabIndex = 49;
@ -903,7 +906,7 @@
this.tabControlEinstellung.Controls.Add(this.tabPageTourenplanung); this.tabControlEinstellung.Controls.Add(this.tabPageTourenplanung);
this.tabControlEinstellung.Controls.Add(this.tabPageExpedit); this.tabControlEinstellung.Controls.Add(this.tabPageExpedit);
this.tabControlEinstellung.Location = new System.Drawing.Point(0, 0); this.tabControlEinstellung.Location = new System.Drawing.Point(0, 0);
this.tabControlEinstellung.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.tabControlEinstellung.Margin = new System.Windows.Forms.Padding(4);
this.tabControlEinstellung.Name = "tabControlEinstellung"; this.tabControlEinstellung.Name = "tabControlEinstellung";
this.tabControlEinstellung.SelectedIndex = 0; this.tabControlEinstellung.SelectedIndex = 0;
this.tabControlEinstellung.Size = new System.Drawing.Size(1589, 767); this.tabControlEinstellung.Size = new System.Drawing.Size(1589, 767);
@ -911,16 +914,110 @@
// //
// tabPageAllgemein // tabPageAllgemein
// //
this.tabPageAllgemein.Controls.Add(this.groupBoxSprache);
this.tabPageAllgemein.Controls.Add(this.groupBox2); this.tabPageAllgemein.Controls.Add(this.groupBox2);
this.tabPageAllgemein.Controls.Add(this.groupBoxPfade); this.tabPageAllgemein.Controls.Add(this.groupBoxPfade);
this.tabPageAllgemein.Location = new System.Drawing.Point(4, 25); this.tabPageAllgemein.Location = new System.Drawing.Point(4, 25);
this.tabPageAllgemein.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.tabPageAllgemein.Margin = new System.Windows.Forms.Padding(4);
this.tabPageAllgemein.Name = "tabPageAllgemein"; this.tabPageAllgemein.Name = "tabPageAllgemein";
this.tabPageAllgemein.Size = new System.Drawing.Size(1581, 738); this.tabPageAllgemein.Size = new System.Drawing.Size(1581, 738);
this.tabPageAllgemein.TabIndex = 4; this.tabPageAllgemein.TabIndex = 4;
this.tabPageAllgemein.Text = "Allgemein"; this.tabPageAllgemein.Text = "Allgemein";
this.tabPageAllgemein.UseVisualStyleBackColor = true; this.tabPageAllgemein.UseVisualStyleBackColor = true;
// //
// groupBoxSprache
//
this.groupBoxSprache.Controls.Add(this.comboBoxSprachen);
this.groupBoxSprache.Location = new System.Drawing.Point(18, 205);
this.groupBoxSprache.Name = "groupBoxSprache";
this.groupBoxSprache.Size = new System.Drawing.Size(368, 100);
this.groupBoxSprache.TabIndex = 36;
this.groupBoxSprache.TabStop = false;
this.groupBoxSprache.Text = "Sprache";
//
// comboBoxSprachen
//
this.comboBoxSprachen.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxSprachen.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxSprachen.FormattingEnabled = true;
this.comboBoxSprachen.Location = new System.Drawing.Point(10, 38);
this.comboBoxSprachen.Margin = new System.Windows.Forms.Padding(4);
this.comboBoxSprachen.Name = "comboBoxSprachen";
this.comboBoxSprachen.Size = new System.Drawing.Size(259, 25);
this.comboBoxSprachen.TabIndex = 47;
this.comboBoxSprachen.SelectedIndexChanged += new System.EventHandler(this.ComboBoxSprachen_SelectedIndexChanged);
//
// groupBox2
//
this.groupBox2.Controls.Add(this.buttonSaveCredentials);
this.groupBox2.Controls.Add(this.label26);
this.groupBox2.Controls.Add(this.label25);
this.groupBox2.Controls.Add(this.textBoxApiKey);
this.groupBox2.Controls.Add(this.textBoxToken);
this.groupBox2.Location = new System.Drawing.Point(18, 17);
this.groupBox2.Margin = new System.Windows.Forms.Padding(4);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Padding = new System.Windows.Forms.Padding(4);
this.groupBox2.Size = new System.Drawing.Size(869, 161);
this.groupBox2.TabIndex = 35;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Trello-Credentials";
//
// buttonSaveCredentials
//
this.buttonSaveCredentials.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonSaveCredentials.BackColor = System.Drawing.Color.Green;
this.buttonSaveCredentials.FlatAppearance.BorderColor = System.Drawing.Color.Green;
this.buttonSaveCredentials.FlatAppearance.BorderSize = 0;
this.buttonSaveCredentials.FlatAppearance.MouseDownBackColor = System.Drawing.Color.LightSteelBlue;
this.buttonSaveCredentials.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonSaveCredentials.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonSaveCredentials.ForeColor = System.Drawing.Color.White;
this.buttonSaveCredentials.Location = new System.Drawing.Point(575, 121);
this.buttonSaveCredentials.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.buttonSaveCredentials.Name = "buttonSaveCredentials";
this.buttonSaveCredentials.Size = new System.Drawing.Size(213, 34);
this.buttonSaveCredentials.TabIndex = 36;
this.buttonSaveCredentials.Text = "Credentials Speichern";
this.buttonSaveCredentials.UseVisualStyleBackColor = false;
this.buttonSaveCredentials.Click += new System.EventHandler(this.buttonSaveCredentials_Click);
//
// label26
//
this.label26.AutoSize = true;
this.label26.Location = new System.Drawing.Point(7, 88);
this.label26.Name = "label26";
this.label26.Size = new System.Drawing.Size(88, 16);
this.label26.TabIndex = 35;
this.label26.Text = "Trello-Token:";
//
// label25
//
this.label25.AutoSize = true;
this.label25.Location = new System.Drawing.Point(7, 52);
this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(72, 16);
this.label25.TabIndex = 34;
this.label25.Text = "Trello-Key:";
//
// textBoxApiKey
//
this.textBoxApiKey.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxApiKey.Location = new System.Drawing.Point(227, 42);
this.textBoxApiKey.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.textBoxApiKey.Name = "textBoxApiKey";
this.textBoxApiKey.Size = new System.Drawing.Size(561, 30);
this.textBoxApiKey.TabIndex = 28;
//
// textBoxToken
//
this.textBoxToken.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxToken.Location = new System.Drawing.Point(227, 78);
this.textBoxToken.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.textBoxToken.Name = "textBoxToken";
this.textBoxToken.Size = new System.Drawing.Size(561, 30);
this.textBoxToken.TabIndex = 30;
//
// groupBoxPfade // groupBoxPfade
// //
this.groupBoxPfade.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.groupBoxPfade.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
@ -929,9 +1026,9 @@
this.groupBoxPfade.Controls.Add(this.buttonRatingbild); this.groupBoxPfade.Controls.Add(this.buttonRatingbild);
this.groupBoxPfade.Controls.Add(this.textBoxRatingbild); this.groupBoxPfade.Controls.Add(this.textBoxRatingbild);
this.groupBoxPfade.Location = new System.Drawing.Point(11, 559); this.groupBoxPfade.Location = new System.Drawing.Point(11, 559);
this.groupBoxPfade.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.groupBoxPfade.Margin = new System.Windows.Forms.Padding(4);
this.groupBoxPfade.Name = "groupBoxPfade"; this.groupBoxPfade.Name = "groupBoxPfade";
this.groupBoxPfade.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); this.groupBoxPfade.Padding = new System.Windows.Forms.Padding(4);
this.groupBoxPfade.Size = new System.Drawing.Size(869, 161); this.groupBoxPfade.Size = new System.Drawing.Size(869, 161);
this.groupBoxPfade.TabIndex = 34; this.groupBoxPfade.TabIndex = 34;
this.groupBoxPfade.TabStop = false; this.groupBoxPfade.TabStop = false;
@ -941,9 +1038,9 @@
// //
this.tabPageFarben.Controls.Add(this.groupBoxFarben); this.tabPageFarben.Controls.Add(this.groupBoxFarben);
this.tabPageFarben.Location = new System.Drawing.Point(4, 25); this.tabPageFarben.Location = new System.Drawing.Point(4, 25);
this.tabPageFarben.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.tabPageFarben.Margin = new System.Windows.Forms.Padding(4);
this.tabPageFarben.Name = "tabPageFarben"; this.tabPageFarben.Name = "tabPageFarben";
this.tabPageFarben.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); this.tabPageFarben.Padding = new System.Windows.Forms.Padding(4);
this.tabPageFarben.Size = new System.Drawing.Size(1581, 738); this.tabPageFarben.Size = new System.Drawing.Size(1581, 738);
this.tabPageFarben.TabIndex = 0; this.tabPageFarben.TabIndex = 0;
this.tabPageFarben.Text = "Farben"; this.tabPageFarben.Text = "Farben";
@ -973,9 +1070,9 @@
this.tabPageDeckungsbeitrag.Controls.Add(this.textBoxFixLohnKosten); this.tabPageDeckungsbeitrag.Controls.Add(this.textBoxFixLohnKosten);
this.tabPageDeckungsbeitrag.Controls.Add(this.buttonFixLohnKosten); this.tabPageDeckungsbeitrag.Controls.Add(this.buttonFixLohnKosten);
this.tabPageDeckungsbeitrag.Location = new System.Drawing.Point(4, 25); this.tabPageDeckungsbeitrag.Location = new System.Drawing.Point(4, 25);
this.tabPageDeckungsbeitrag.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.tabPageDeckungsbeitrag.Margin = new System.Windows.Forms.Padding(4);
this.tabPageDeckungsbeitrag.Name = "tabPageDeckungsbeitrag"; this.tabPageDeckungsbeitrag.Name = "tabPageDeckungsbeitrag";
this.tabPageDeckungsbeitrag.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); this.tabPageDeckungsbeitrag.Padding = new System.Windows.Forms.Padding(4);
this.tabPageDeckungsbeitrag.Size = new System.Drawing.Size(1581, 738); this.tabPageDeckungsbeitrag.Size = new System.Drawing.Size(1581, 738);
this.tabPageDeckungsbeitrag.TabIndex = 1; this.tabPageDeckungsbeitrag.TabIndex = 1;
this.tabPageDeckungsbeitrag.Text = "Deckungsbeitrag"; this.tabPageDeckungsbeitrag.Text = "Deckungsbeitrag";
@ -985,7 +1082,7 @@
// //
this.tabPageDrucker.Controls.Add(this.groupBoxDrucker); this.tabPageDrucker.Controls.Add(this.groupBoxDrucker);
this.tabPageDrucker.Location = new System.Drawing.Point(4, 25); this.tabPageDrucker.Location = new System.Drawing.Point(4, 25);
this.tabPageDrucker.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.tabPageDrucker.Margin = new System.Windows.Forms.Padding(4);
this.tabPageDrucker.Name = "tabPageDrucker"; this.tabPageDrucker.Name = "tabPageDrucker";
this.tabPageDrucker.Size = new System.Drawing.Size(1581, 738); this.tabPageDrucker.Size = new System.Drawing.Size(1581, 738);
this.tabPageDrucker.TabIndex = 2; this.tabPageDrucker.TabIndex = 2;
@ -999,7 +1096,7 @@
this.tabPageTourenplanung.Controls.Add(this.label16); this.tabPageTourenplanung.Controls.Add(this.label16);
this.tabPageTourenplanung.Controls.Add(this.label15); this.tabPageTourenplanung.Controls.Add(this.label15);
this.tabPageTourenplanung.Location = new System.Drawing.Point(4, 25); this.tabPageTourenplanung.Location = new System.Drawing.Point(4, 25);
this.tabPageTourenplanung.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.tabPageTourenplanung.Margin = new System.Windows.Forms.Padding(4);
this.tabPageTourenplanung.Name = "tabPageTourenplanung"; this.tabPageTourenplanung.Name = "tabPageTourenplanung";
this.tabPageTourenplanung.Size = new System.Drawing.Size(1581, 738); this.tabPageTourenplanung.Size = new System.Drawing.Size(1581, 738);
this.tabPageTourenplanung.TabIndex = 3; this.tabPageTourenplanung.TabIndex = 3;
@ -1035,7 +1132,7 @@
this.comboBox5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.comboBox5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBox5.FormattingEnabled = true; this.comboBox5.FormattingEnabled = true;
this.comboBox5.Location = new System.Drawing.Point(313, 107); this.comboBox5.Location = new System.Drawing.Point(313, 107);
this.comboBox5.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.comboBox5.Margin = new System.Windows.Forms.Padding(4);
this.comboBox5.Name = "comboBox5"; this.comboBox5.Name = "comboBox5";
this.comboBox5.Size = new System.Drawing.Size(59, 25); this.comboBox5.Size = new System.Drawing.Size(59, 25);
this.comboBox5.TabIndex = 58; this.comboBox5.TabIndex = 58;
@ -1054,7 +1151,7 @@
this.comboBox3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.comboBox3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBox3.FormattingEnabled = true; this.comboBox3.FormattingEnabled = true;
this.comboBox3.Location = new System.Drawing.Point(207, 107); this.comboBox3.Location = new System.Drawing.Point(207, 107);
this.comboBox3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.comboBox3.Margin = new System.Windows.Forms.Padding(4);
this.comboBox3.Name = "comboBox3"; this.comboBox3.Name = "comboBox3";
this.comboBox3.Size = new System.Drawing.Size(59, 25); this.comboBox3.Size = new System.Drawing.Size(59, 25);
this.comboBox3.TabIndex = 56; this.comboBox3.TabIndex = 56;
@ -1064,7 +1161,7 @@
this.comboBox4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.comboBox4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBox4.FormattingEnabled = true; this.comboBox4.FormattingEnabled = true;
this.comboBox4.Location = new System.Drawing.Point(100, 107); this.comboBox4.Location = new System.Drawing.Point(100, 107);
this.comboBox4.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.comboBox4.Margin = new System.Windows.Forms.Padding(4);
this.comboBox4.Name = "comboBox4"; this.comboBox4.Name = "comboBox4";
this.comboBox4.Size = new System.Drawing.Size(59, 25); this.comboBox4.Size = new System.Drawing.Size(59, 25);
this.comboBox4.TabIndex = 55; this.comboBox4.TabIndex = 55;
@ -1083,7 +1180,7 @@
this.comboBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.comboBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBox1.FormattingEnabled = true; this.comboBox1.FormattingEnabled = true;
this.comboBox1.Location = new System.Drawing.Point(207, 53); this.comboBox1.Location = new System.Drawing.Point(207, 53);
this.comboBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.comboBox1.Margin = new System.Windows.Forms.Padding(4);
this.comboBox1.Name = "comboBox1"; this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(59, 25); this.comboBox1.Size = new System.Drawing.Size(59, 25);
this.comboBox1.TabIndex = 53; this.comboBox1.TabIndex = 53;
@ -1093,7 +1190,7 @@
this.comboBox2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.comboBox2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBox2.FormattingEnabled = true; this.comboBox2.FormattingEnabled = true;
this.comboBox2.Location = new System.Drawing.Point(100, 49); this.comboBox2.Location = new System.Drawing.Point(100, 49);
this.comboBox2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.comboBox2.Margin = new System.Windows.Forms.Padding(4);
this.comboBox2.Name = "comboBox2"; this.comboBox2.Name = "comboBox2";
this.comboBox2.Size = new System.Drawing.Size(59, 25); this.comboBox2.Size = new System.Drawing.Size(59, 25);
this.comboBox2.TabIndex = 52; this.comboBox2.TabIndex = 52;
@ -1112,7 +1209,7 @@
this.comboBoxLT2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.comboBoxLT2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxLT2.FormattingEnabled = true; this.comboBoxLT2.FormattingEnabled = true;
this.comboBoxLT2.Location = new System.Drawing.Point(207, 16); this.comboBoxLT2.Location = new System.Drawing.Point(207, 16);
this.comboBoxLT2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.comboBoxLT2.Margin = new System.Windows.Forms.Padding(4);
this.comboBoxLT2.Name = "comboBoxLT2"; this.comboBoxLT2.Name = "comboBoxLT2";
this.comboBoxLT2.Size = new System.Drawing.Size(59, 25); this.comboBoxLT2.Size = new System.Drawing.Size(59, 25);
this.comboBoxLT2.TabIndex = 50; this.comboBoxLT2.TabIndex = 50;
@ -1122,7 +1219,7 @@
this.comboBoxLT1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.comboBoxLT1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxLT1.FormattingEnabled = true; this.comboBoxLT1.FormattingEnabled = true;
this.comboBoxLT1.Location = new System.Drawing.Point(100, 16); this.comboBoxLT1.Location = new System.Drawing.Point(100, 16);
this.comboBoxLT1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.comboBoxLT1.Margin = new System.Windows.Forms.Padding(4);
this.comboBoxLT1.Name = "comboBoxLT1"; this.comboBoxLT1.Name = "comboBoxLT1";
this.comboBoxLT1.Size = new System.Drawing.Size(59, 25); this.comboBoxLT1.Size = new System.Drawing.Size(59, 25);
this.comboBoxLT1.TabIndex = 49; this.comboBoxLT1.TabIndex = 49;
@ -1169,7 +1266,7 @@
this.comboBoxLieferrhythmus.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.comboBoxLieferrhythmus.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxLieferrhythmus.FormattingEnabled = true; this.comboBoxLieferrhythmus.FormattingEnabled = true;
this.comboBoxLieferrhythmus.Location = new System.Drawing.Point(375, 95); this.comboBoxLieferrhythmus.Location = new System.Drawing.Point(375, 95);
this.comboBoxLieferrhythmus.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.comboBoxLieferrhythmus.Margin = new System.Windows.Forms.Padding(4);
this.comboBoxLieferrhythmus.Name = "comboBoxLieferrhythmus"; this.comboBoxLieferrhythmus.Name = "comboBoxLieferrhythmus";
this.comboBoxLieferrhythmus.Size = new System.Drawing.Size(259, 25); this.comboBoxLieferrhythmus.Size = new System.Drawing.Size(259, 25);
this.comboBoxLieferrhythmus.TabIndex = 47; this.comboBoxLieferrhythmus.TabIndex = 47;
@ -1196,7 +1293,7 @@
// tabPageExpedit // tabPageExpedit
// //
this.tabPageExpedit.Location = new System.Drawing.Point(4, 25); this.tabPageExpedit.Location = new System.Drawing.Point(4, 25);
this.tabPageExpedit.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.tabPageExpedit.Margin = new System.Windows.Forms.Padding(4);
this.tabPageExpedit.Name = "tabPageExpedit"; this.tabPageExpedit.Name = "tabPageExpedit";
this.tabPageExpedit.Size = new System.Drawing.Size(1581, 738); this.tabPageExpedit.Size = new System.Drawing.Size(1581, 738);
this.tabPageExpedit.TabIndex = 5; this.tabPageExpedit.TabIndex = 5;
@ -1209,83 +1306,11 @@
this.panelButtons.Controls.Add(this.buttonSpeichern); this.panelButtons.Controls.Add(this.buttonSpeichern);
this.panelButtons.Dock = System.Windows.Forms.DockStyle.Bottom; this.panelButtons.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panelButtons.Location = new System.Drawing.Point(0, 774); this.panelButtons.Location = new System.Drawing.Point(0, 774);
this.panelButtons.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.panelButtons.Margin = new System.Windows.Forms.Padding(4);
this.panelButtons.Name = "panelButtons"; this.panelButtons.Name = "panelButtons";
this.panelButtons.Size = new System.Drawing.Size(1589, 60); this.panelButtons.Size = new System.Drawing.Size(1589, 60);
this.panelButtons.TabIndex = 50; this.panelButtons.TabIndex = 50;
// //
// groupBox2
//
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.groupBox2.Controls.Add(this.buttonSaveCredentials);
this.groupBox2.Controls.Add(this.label26);
this.groupBox2.Controls.Add(this.label25);
this.groupBox2.Controls.Add(this.textBoxApiKey);
this.groupBox2.Controls.Add(this.textBoxToken);
this.groupBox2.Location = new System.Drawing.Point(18, 17);
this.groupBox2.Margin = new System.Windows.Forms.Padding(4);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Padding = new System.Windows.Forms.Padding(4);
this.groupBox2.Size = new System.Drawing.Size(869, 161);
this.groupBox2.TabIndex = 35;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Trello-Credentials";
//
// textBoxApiKey
//
this.textBoxApiKey.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxApiKey.Location = new System.Drawing.Point(227, 42);
this.textBoxApiKey.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.textBoxApiKey.Name = "textBoxApiKey";
this.textBoxApiKey.Size = new System.Drawing.Size(561, 30);
this.textBoxApiKey.TabIndex = 28;
//
// textBoxToken
//
this.textBoxToken.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxToken.Location = new System.Drawing.Point(227, 78);
this.textBoxToken.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.textBoxToken.Name = "textBoxToken";
this.textBoxToken.Size = new System.Drawing.Size(561, 30);
this.textBoxToken.TabIndex = 30;
//
// label25
//
this.label25.AutoSize = true;
this.label25.Location = new System.Drawing.Point(7, 52);
this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(72, 16);
this.label25.TabIndex = 34;
this.label25.Text = "Trello-Key:";
//
// label26
//
this.label26.AutoSize = true;
this.label26.Location = new System.Drawing.Point(7, 88);
this.label26.Name = "label26";
this.label26.Size = new System.Drawing.Size(88, 16);
this.label26.TabIndex = 35;
this.label26.Text = "Trello-Token:";
//
// buttonSaveCredentials
//
this.buttonSaveCredentials.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonSaveCredentials.BackColor = System.Drawing.Color.Green;
this.buttonSaveCredentials.FlatAppearance.BorderColor = System.Drawing.Color.Green;
this.buttonSaveCredentials.FlatAppearance.BorderSize = 0;
this.buttonSaveCredentials.FlatAppearance.MouseDownBackColor = System.Drawing.Color.LightSteelBlue;
this.buttonSaveCredentials.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonSaveCredentials.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonSaveCredentials.ForeColor = System.Drawing.Color.White;
this.buttonSaveCredentials.Location = new System.Drawing.Point(575, 121);
this.buttonSaveCredentials.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.buttonSaveCredentials.Name = "buttonSaveCredentials";
this.buttonSaveCredentials.Size = new System.Drawing.Size(213, 34);
this.buttonSaveCredentials.TabIndex = 36;
this.buttonSaveCredentials.Text = "Credentials Speichern";
this.buttonSaveCredentials.UseVisualStyleBackColor = false;
this.buttonSaveCredentials.Click += new System.EventHandler(this.buttonSaveCredentials_Click);
//
// FormEinstellung // FormEinstellung
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
@ -1311,6 +1336,9 @@
((System.ComponentModel.ISupportInitialize)(this.numericUpDownSWSKopien)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownSWSKopien)).EndInit();
this.tabControlEinstellung.ResumeLayout(false); this.tabControlEinstellung.ResumeLayout(false);
this.tabPageAllgemein.ResumeLayout(false); this.tabPageAllgemein.ResumeLayout(false);
this.groupBoxSprache.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBoxPfade.ResumeLayout(false); this.groupBoxPfade.ResumeLayout(false);
this.groupBoxPfade.PerformLayout(); this.groupBoxPfade.PerformLayout();
this.tabPageFarben.ResumeLayout(false); this.tabPageFarben.ResumeLayout(false);
@ -1322,8 +1350,6 @@
this.groupBoxRegeln.ResumeLayout(false); this.groupBoxRegeln.ResumeLayout(false);
this.groupBoxRegeln.PerformLayout(); this.groupBoxRegeln.PerformLayout();
this.panelButtons.ResumeLayout(false); this.panelButtons.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
@ -1416,5 +1442,7 @@
private System.Windows.Forms.TextBox textBoxApiKey; private System.Windows.Forms.TextBox textBoxApiKey;
private System.Windows.Forms.TextBox textBoxToken; private System.Windows.Forms.TextBox textBoxToken;
private System.Windows.Forms.Button buttonSaveCredentials; private System.Windows.Forms.Button buttonSaveCredentials;
private System.Windows.Forms.GroupBox groupBoxSprache;
private System.Windows.Forms.ComboBox comboBoxSprachen;
} }
} }

View File

@ -1,4 +1,5 @@
using DatenDB; using DatenDB;
using Deckungsbeitrag.AA_Klassen;
using Deckungsbeitrag.Properties; using Deckungsbeitrag.Properties;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -7,6 +8,7 @@ using System.Configuration;
using System.Data; using System.Data;
using System.Drawing; using System.Drawing;
using System.Drawing.Printing; using System.Drawing.Printing;
using System.Globalization;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -88,8 +90,12 @@ namespace Deckungsbeitrag
this.comboBoxTourenlisteDrucker.Items.Add(printer); this.comboBoxTourenlisteDrucker.Items.Add(printer);
} }
this.comboBoxSprachen.SelectedIndexChanged -= ComboBoxSprachen_SelectedIndexChanged;
LoadCultures();
Load_Settings(); Load_Settings();
this.comboBoxSprachen.SelectedIndexChanged += ComboBoxSprachen_SelectedIndexChanged;
} }
private void Load_Settings() private void Load_Settings()
{ {
@ -111,12 +117,15 @@ namespace Deckungsbeitrag
this.comboBoxSWSDrucker.Text = _settings.DruckerSWS; this.comboBoxSWSDrucker.Text = _settings.DruckerSWS;
this.numericUpDownSWSKopien.Value = _settings.CopiesSWS; this.numericUpDownSWSKopien.Value = _settings.CopiesSWS;
if (_settings.Culture != null)
{
this.comboBoxSprachen.SelectedValue = _settings.Culture;
}
foreach (Button btn in this.groupBoxFarben.Controls.OfType<Button>()) foreach (Button btn in this.groupBoxFarben.Controls.OfType<Button>())
{ {
if (btn.Name.Substring(6) == _settings.Presse.Name) btn.FlatAppearance.BorderColor = _settings.Presse; if (btn.Name.Substring(6) == _settings.Presse.Name) btn.FlatAppearance.BorderColor = _settings.Presse;
} }
} }
@ -128,12 +137,30 @@ namespace Deckungsbeitrag
if (this.comboBoxEtikettDrucker.SelectedItem != null) _settings.DruckerEtikett = this.comboBoxEtikettDrucker.SelectedItem.ToString(); if (this.comboBoxEtikettDrucker.SelectedItem != null) _settings.DruckerEtikett = this.comboBoxEtikettDrucker.SelectedItem.ToString();
if (this.comboBoxSWSDrucker.SelectedItem != null) { _settings.DruckerSWS = this.comboBoxSWSDrucker.SelectedItem.ToString(); _settings.CopiesSWS = this.numericUpDownSWSKopien.Value; } if (this.comboBoxSWSDrucker.SelectedItem != null) { _settings.DruckerSWS = this.comboBoxSWSDrucker.SelectedItem.ToString(); _settings.CopiesSWS = this.numericUpDownSWSKopien.Value; }
if (this.comboBoxTourenlisteDrucker.SelectedItem != null) _settings.DruckerTourenListe = this.comboBoxTourenlisteDrucker.ToString(); if (this.comboBoxTourenlisteDrucker.SelectedItem != null) _settings.DruckerTourenListe = this.comboBoxTourenlisteDrucker.ToString();
if (this.comboBoxSprachen.SelectedItem != null) _settings.Culture = this.comboBoxSprachen.SelectedValue.ToString();
_settings.Save(); _settings.Save();
} }
} }
private void LoadCultures()
{
var cultures = new []
{
new { Code = "de-AT", Name = "Deutsch" },
new { Code = "en-US", Name = "English (United States) -> Englisch" },
new { Code = "bs-BA", Name = "Bosanski (Bosna) -> Bosnisch" },
new { Code = "bg-BG", Name = "български (България) -> Bulgarisch" },
new { Code = "tr-TR", Name = "Türkçe (Türkiye) -> Türkisch" }
};
comboBoxSprachen.DataSource = cultures;
comboBoxSprachen.DisplayMember = "Name";
comboBoxSprachen.ValueMember = "Code";
}
//Bei Click erscheint Speichern-Button und gefüllte TextBox mit Kosten-KontoNr //Bei Click erscheint Speichern-Button und gefüllte TextBox mit Kosten-KontoNr
private void buttonVarKost_Click(object sender, EventArgs e) private void buttonVarKost_Click(object sender, EventArgs e)
{ {
@ -268,5 +295,10 @@ namespace Deckungsbeitrag
MessageBox.Show("Verschlüsselte Werte wurden in der Console ausgegeben."); MessageBox.Show("Verschlüsselte Werte wurden in der Console ausgegeben.");
} }
private void ComboBoxSprachen_SelectedIndexChanged(object sender, EventArgs e)
{
TranslationService.SetLanguage(this.comboBoxSprachen.SelectedValue.ToString());
}
} }
} }

View File

@ -4,6 +4,7 @@ using Deckungsbeitrag.AA_Forms;
using Deckungsbeitrag.AA_Klassen; using Deckungsbeitrag.AA_Klassen;
using Deckungsbeitrag.Properties; using Deckungsbeitrag.Properties;
using Deckungsbeitrag.UserControls; using Deckungsbeitrag.UserControls;
using DocumentFormat.OpenXml.Office2013.Excel;
using Microsoft.VisualBasic; using Microsoft.VisualBasic;
using Microsoft.VisualBasic.ApplicationServices; using Microsoft.VisualBasic.ApplicationServices;
using Npgsql; using Npgsql;
@ -14,6 +15,7 @@ using System.Data;
using System.Diagnostics; using System.Diagnostics;
using System.Diagnostics.Eventing.Reader; using System.Diagnostics.Eventing.Reader;
using System.Drawing; using System.Drawing;
using System.Globalization;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Net.Sockets; using System.Net.Sockets;
@ -43,6 +45,7 @@ namespace Deckungsbeitrag
public partial class FormExpedit : Form public partial class FormExpedit : Form
{ {
#region Properties #region Properties
private readonly UserSettingsManager _settings = new UserSettingsManager(); private readonly UserSettingsManager _settings = new UserSettingsManager();
private readonly ToolTip cellTooltip = new ToolTip(); private readonly ToolTip cellTooltip = new ToolTip();
public Meldungen fehlermeldung = new Meldungen(); public Meldungen fehlermeldung = new Meldungen();
@ -120,6 +123,7 @@ namespace Deckungsbeitrag
this.SuspendLayout(); this.SuspendLayout();
_settings.Load(); _settings.Load();
if (TrelloConfig.HasCredentials()) if (TrelloConfig.HasCredentials())
{ {
var apiKey = TrelloConfig.GetApiKey(); var apiKey = TrelloConfig.GetApiKey();
@ -189,6 +193,7 @@ namespace Deckungsbeitrag
_settings.OLV_Geschaeft_State = this.objectListViewGeschaeft.SaveState(); _settings.OLV_Geschaeft_State = this.objectListViewGeschaeft.SaveState();
_settings.OLV_Sonder_State = this.objectListViewSonder.SaveState(); _settings.OLV_Sonder_State = this.objectListViewSonder.SaveState();
_settings.OLV_Vorbereitet_State = this.objectListViewVorbereitet.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)
@ -219,21 +224,12 @@ namespace Deckungsbeitrag
#region Button_Click-Events #region Button_Click-Events
private async void ButtonNeuerAuftrag_Click(object sender, EventArgs e) private async void ButtonNeuerAuftrag_Click(object sender, EventArgs e)
{ {
DialogResult result = DialogResult.Cancel;
AuftragTyp? auftragTyp = null; AuftragTyp? auftragTyp = null;
result = MessageBox.Show("Welchen Auftrag möchtest du erstellen?\n\n[JA] => Geschäft\n[NEIN] => Standart", "FRAGE", MessageBoxButtons.YesNoCancel);
switch (result) CustomMessageBox messageBox = new CustomMessageBox("Titel.Auswahl", "Text.Auswahl.Auftrag", null, new string[] { "Geschäft", "Abbrechen", "Standart" });
if (messageBox.ShowDialog() == DialogResult.Ignore)
{ {
case DialogResult.Yes: auftragTyp = (AuftragTyp?)Enum.Parse(typeof(AuftragTyp), messageBox.buttontext);
auftragTyp = AuftragTyp.Geschäft;
break;
case DialogResult.No:
auftragTyp = AuftragTyp.Standart;
break;
default:
return;
}
FormNeuerAuftrag neuerAuftrag = new FormNeuerAuftrag(benutzer, this.letzterLiefertag, auftragTyp); FormNeuerAuftrag neuerAuftrag = new FormNeuerAuftrag(benutzer, this.letzterLiefertag, auftragTyp);
if (neuerAuftrag.ShowDialog() == DialogResult.OK) if (neuerAuftrag.ShowDialog() == DialogResult.OK)
@ -246,6 +242,7 @@ namespace Deckungsbeitrag
OLV_SetObjects(this.objectListViewGeschaeft, listAuftragGeschaeft); OLV_SetObjects(this.objectListViewGeschaeft, listAuftragGeschaeft);
} }
} }
}
private void ButtonSWS_Drucken_Click(object sender, EventArgs e) private void ButtonSWS_Drucken_Click(object sender, EventArgs e)
{ {
Kunde knd = Funktionen.KundenAuswahl(); Kunde knd = Funktionen.KundenAuswahl();
@ -258,7 +255,7 @@ namespace Deckungsbeitrag
} }
private void ButtonGetKundeVW_Click(object sender, EventArgs e) private void ButtonGetKundeVW_Click(object sender, EventArgs e)
{ {
FormKundeVW kundeVW = new FormKundeVW(); FormKundeVW kundeVW = new FormKundeVW(this.benutzer);
kundeVW.ShowDialog(); kundeVW.ShowDialog();
} }
private void ButtonReklamation_Click(object sender, EventArgs e) private void ButtonReklamation_Click(object sender, EventArgs e)
@ -367,7 +364,8 @@ namespace Deckungsbeitrag
if (_auftrag == null) return; if (_auftrag == null) return;
string knd = ((View_Auftrag_Expedit)olv.SelectedObject).KundeName; string knd = ((View_Auftrag_Expedit)olv.SelectedObject).KundeName;
if (MessageBox.Show($"Möchtest du den Auftrag von {knd} mit Liefertag am {_auftrag.Liefertag} wirklich löschen?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return;
if (CustomMessageBox.Show("Titel.Frage", "Text.Frage.AuftragLoeschen", null, new string[] { "Ja", "Nein" }) == DialogResult.No) return;
else else
{ {
_auftrag.Delete(); _auftrag.Delete();
@ -623,28 +621,28 @@ namespace Deckungsbeitrag
// Aufgabe-Tooltip // Aufgabe-Tooltip
if (e.Column.Text == "Aufgabe" && e.Model is View_Auftrag_Expedit expeditAufgabe) if (e.Column.Text == "Aufgabe" && e.Model is View_Auftrag_Expedit expeditAufgabe)
{ {
var auftrag = Auftrag.GetAuftrag(expeditAufgabe.AuftragID); //var auftrag = Auftrag.GetAuftrag(expeditAufgabe.AuftragID);
var aufgabe = Aufgabe.GetAufgabe(null, auftrag.AufgabeID); //var aufgabe = Aufgabe.GetAufgabe(null, expeditAufgabe.AufgabeID);
e.Text = aufgabe?.Beschreibung; e.Text = expeditAufgabe.AufgabeBeschreibung;
return; return;
} }
// Kunde-Tooltip // Kunde-Tooltip
if (e.Column.Text == "Kunde" && e.Model is View_Auftrag_Expedit expeditKunde) if (e.Column.Text == "Kunde" && e.Model is View_Auftrag_Expedit expeditKunde)
{ {
var auftrag = Auftrag.GetAuftrag(expeditKunde.AuftragID); //var auftrag = Auftrag.GetAuftrag(expeditKunde.AuftragID);
var kunde = Kunde.GetKunde(null, expeditKunde.KundeID, null); //var kunde = Kunde.GetKunde(null, expeditKunde.KundeID, null);
if (!string.IsNullOrWhiteSpace(kunde?.Anmerkung)) if (!string.IsNullOrWhiteSpace(expeditKunde.KundeAnmerkung))
e.Text = kunde.Anmerkung; e.Text = expeditKunde.KundeAnmerkung;
else e.Text = auftrag.ZusatzInfo; else e.Text = expeditKunde.Zusatz;
return; return;
} }
// Typ-Tooltip // Typ-Tooltip
if (e.Column.Text == "Typ" && e.Model is View_Auftrag_Expedit expeditTyp) if (e.Column.Text == "Typ" && e.Model is View_Auftrag_Expedit expeditTyp)
{ {
var auftrag = Auftrag.GetAuftrag(expeditTyp.AuftragID); //var auftrag = Auftrag.GetAuftrag(expeditTyp.AuftragID);
if (e.SubItem.Text == "Laufzettel") e.Text = auftrag.ZusatzInfo; if (e.SubItem.Text == "Laufzettel") e.Text = expeditTyp.Zusatz;
return; return;
} }
@ -887,11 +885,7 @@ namespace Deckungsbeitrag
private void HandleBatchAbschliessen(ObjectListView olv) private void HandleBatchAbschliessen(ObjectListView olv)
{ {
var count = olv.CheckedItems.Count; var count = olv.CheckedItems.Count;
var result = MessageBox.Show( var result = CustomMessageBox.Show("Titel.Frage", "Text.Frage.BatchAbschließen", null, new string[] { "Ja", "Nein" });
$"Möchtest du die ausgewählten {count} Aufträge abschließen?",
"AUFTRÄGE FERTIG",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if (result == DialogResult.No) if (result == DialogResult.No)
return; return;
@ -966,12 +960,7 @@ namespace Deckungsbeitrag
if (this.auftrag.ContainerClean > 10) if (this.auftrag.ContainerClean > 10)
{ {
var res = MessageBox.Show( var res = CustomMessageBox.Show("Titel.Frage", "Text.Frage.EtikettContainer", null, new string[] { "Ja", "Nein" });
"Möchtest du die Containeranzahl am Etikett anzeigen?",
"FRAGE",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
nocont = (res == DialogResult.No); nocont = (res == DialogResult.No);
} }
@ -982,11 +971,7 @@ namespace Deckungsbeitrag
} }
catch (Exception ex) catch (Exception ex)
{ {
MessageBox.Show( CustomMessageBox.Show("Titel.Fehler", "Text.Fehler.Drucken", "ToDo.DruckFehler", new string[] { "Ok" });
"Etiketten konnten nicht gedruckt werden. Versuche es nochmals.",
"DRUCKFEHLER",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
Program.AddFehler(this.benutzer, ex.Message, ex.StackTrace, null); Program.AddFehler(this.benutzer, ex.Message, ex.StackTrace, null);
return false; return false;
@ -1027,7 +1012,8 @@ namespace Deckungsbeitrag
if (this.auftrag.ContainerClean == 0) if (this.auftrag.ContainerClean == 0)
{ {
rslt = MessageBox.Show("Der Auftrag hat 0 saubere Container. Möchtest du ein Etikett drucken?", "FRAGE", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); CustomMessageBox messageBox = new CustomMessageBox("Titel.Frage", "Text.Frage.ContainerSauberNull", null, new string[] { "Ja", "Nein", "Abbrechen" });
rslt = messageBox.ShowDialog();
} }
switch (rslt) switch (rslt)
@ -1058,17 +1044,18 @@ namespace Deckungsbeitrag
private void PrepareContainerCleanForEtikett() private void PrepareContainerCleanForEtikett()
{ {
string eingabe;
if (this.auftrag.ContainerClean != 0) if (this.auftrag.ContainerClean != 0)
{ {
letzterLiefertag = this.auftrag.Liefertag; letzterLiefertag = this.auftrag.Liefertag;
return; return;
} }
CustomInputBox inputBox = new CustomInputBox("Titel.Frage", "Text.Frage.ContainerAnzahl", "ToDo.ContainerAnzahl", "Containeranzahl", "isNumeric");
string eingabe = PromptForText( if (inputBox.ShowDialog() == DialogResult.OK)
"Der Auftrag hat keine sauberen Container oder Pakete. \n\n" + {
"Bitte gib an wieviele Container oder Pakete der Auftrag hat:", eingabe = inputBox.text;
"Container/Pakete eingeben", }
"0"); else eingabe = string.Empty;
if (string.IsNullOrWhiteSpace(eingabe) || !int.TryParse(eingabe, out int anzahl)) if (string.IsNullOrWhiteSpace(eingabe) || !int.TryParse(eingabe, out int anzahl))
{ {
@ -1134,7 +1121,7 @@ namespace Deckungsbeitrag
break; break;
case var t when t == "Rampe": case var t when t == "Rampe":
if (col.IsButton) col.IsVisible = false; if (col.IsButton) col.IsVisible = false;
if (col.Text == "FR" || col.Text == "GT" || col.Text == "KT") col.IsVisible = false; if (col.Text == "FR" || col.Text == "GT" || col.Text == "KT" || col.Text == "SL") col.IsVisible = false;
break; break;
case var t when t == "Geschäft": case var t when t == "Geschäft":
if (col.Text == "Abschließen") col.IsVisible = true; if (col.Text == "Abschließen") col.IsVisible = true;
@ -1188,7 +1175,7 @@ namespace Deckungsbeitrag
if (this.auftrag.Status == AuftragStatus.Vorbereitet) if (this.auftrag.Status == AuftragStatus.Vorbereitet)
{ {
if (MessageBox.Show("Die Containeranzahl wurde verändert. Möchtest du die Etiketten nochmals drucken?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) if (CustomMessageBox.Show("Titel.Frage", "Text.Frage.ContainerSauberChanged", null, new string[] { "Ja", "Nein" }) == DialogResult.Yes)
{ {
Funktionen.Etikett_Drucken(this.auftrag, nocont); Funktionen.Etikett_Drucken(this.auftrag, nocont);
} }
@ -1229,7 +1216,7 @@ namespace Deckungsbeitrag
return; 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; } if (CustomMessageBox.Show("Titel.Frage", "Text.Frage.TrelloKarteErstellen", null, new string[] { "Ja", "Nein" }) == DialogResult.No) { TrelloKarte = false; goto default; }
try try
{ {

View File

@ -36,6 +36,9 @@ namespace Deckungsbeitrag
readonly string userid; readonly string userid;
private Dictionary<int, int> auftragDictionary = new Dictionary<int, int>(); private Dictionary<int, int> auftragDictionary = new Dictionary<int, int>();
private bool etikettgedruckt = false; private bool etikettgedruckt = false;
private bool nwClicked = false;
private FlowLayoutPanel flowPanel;
#region Form-Konstruktor #region Form-Konstruktor
@ -74,7 +77,6 @@ namespace Deckungsbeitrag
GetAuswahl(); GetAuswahl();
ControlLaden(); ControlLaden();
CloseKeyboard();
} }
/// <summary> /// <summary>
@ -100,28 +102,9 @@ namespace Deckungsbeitrag
} }
}
private void CloseKeyboard()
{
// Alle gestarteten Instanzen von TabTip.exe (Touch Tastatur) schließen
foreach (var process in Process.GetProcessesByName("TabTip"))
{
try
{
process.Close();
}
catch (Exception es)
{
// Fehlerbehandlung falls Prozess nicht beendet werden kann
MessageBox.Show($"Fehler beim Schließen: " + es.Message);
}
}
} }
private void ControlLaden() private void ControlLaden()
{ {
buttonAbbrechen.Visible = buttonAbbrechen.Enabled = true;
// Nachdem die textboxScann verlassen wird und ein Kunde gefunden wurde wird Form_Load ausgelöst. // Nachdem die textboxScann verlassen wird und ein Kunde gefunden wurde wird Form_Load ausgelöst.
if (kunde != null) if (kunde != null)
{ {
@ -140,7 +123,7 @@ namespace Deckungsbeitrag
this.labelAnmerkungText.BackColor = Color.White; this.labelAnmerkungText.BackColor = Color.White;
} }
//this.textBoxScann.Clear(); //this.textBoxScann.Clear();
if (this.kunde.HatNachwaesche) this.artikelListe = KundeArtikel.GetFehlmengeList(kunde.KundeID.ToString(), null); this.artikelListe = KundeArtikel.GetFehlmengeList(kunde.KundeID.ToString(), null, this.kunde.HatNachwaesche);
this.textBoxScann.Text = this.kunde.KundeNummer; this.textBoxScann.Text = this.kunde.KundeNummer;
this.textBoxScann.Enabled = false; this.textBoxScann.Enabled = false;
if ((userid != null && userid.Contains("reklamation")) || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Expedit) || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Frottee)) Reklamation_GroupBox(); if ((userid != null && userid.Contains("reklamation")) || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Expedit) || (this.benutzer != null && this.benutzer.Rolle == BenutzerRolle.Frottee)) Reklamation_GroupBox();
@ -174,13 +157,14 @@ namespace Deckungsbeitrag
/// </summary> /// </summary>
private void GroupBox_Load() private void GroupBox_Load()
{ {
// Wenn gemischte Artikel richtig angezeigt werden sollten, müsste die Funktion und foreach(artikel von artikelliste) verschoben werden.
if (!this.kunde.HatNachwaesche) if (!this.kunde.HatNachwaesche)
{ {
this.tableLayoutPanelArtikel.Visible = false; this.tableLayoutPanelArtikel.Visible = false;
Label label = new Label() Label label = new Label()
{ {
Name = "labelNoNW", Name = "labelNoNW",
Text = "DIESER KUNDE HAT EIGENWÄSCHE.\n\nKEINE NACHWÄSCHE ZU ERFASSEN.\n\nSCHMUTZIGE TEILE SEPARAT AN KUNDE SCHICKEN.", Text = TranslationService.T("NoNachwaesche"),
Font = new Font(labelSuchtext.Font.FontFamily, 40, FontStyle.Bold), Font = new Font(labelSuchtext.Font.FontFamily, 40, FontStyle.Bold),
ForeColor = Color.White, ForeColor = Color.White,
AutoSize = false, AutoSize = false,
@ -208,7 +192,8 @@ namespace Deckungsbeitrag
// Buttons werden den Artikeln aus der Artikelliste zugewiesen. Unterschied zwischen Frotteewäsche, Spannleintüchern, Großteilen und Kleinteilen // Buttons werden den Artikeln aus der Artikelliste zugewiesen. Unterschied zwischen Frotteewäsche, Spannleintüchern, Großteilen und Kleinteilen
foreach (KundeArtikel artikel in artikelListe) foreach (KundeArtikel artikel in artikelListe)
{ {
//TODO: Bei gemischten Artikeln könnten wenn keine Nachwäsche EK Artikel ignoriert werden.
//if (artikel.ArtikelNR.ToString().StartsWith("1") && !this.kunde.HatNachwaesche) continue;
// Unterschied zwischen Maschine oder Person. // Unterschied zwischen Maschine oder Person.
if(this.userid.StartsWith("ms")) if(this.userid.StartsWith("ms"))
{ {
@ -377,8 +362,10 @@ namespace Deckungsbeitrag
private void Reklamation_GroupBox() private void Reklamation_GroupBox()
{ {
this.groupBoxArtikel.Controls.Clear(); this.groupBoxArtikel.Controls.Clear();
FlowLayoutPanel flowPanel = new FlowLayoutPanel this.tableLayoutPanelArtikel.Visible = false;
flowPanel = new FlowLayoutPanel
{ {
Name = "fLPReklamation",
Dock = DockStyle.Fill, Dock = DockStyle.Fill,
FlowDirection = FlowDirection.LeftToRight, FlowDirection = FlowDirection.LeftToRight,
WrapContents = true, WrapContents = true,
@ -445,25 +432,46 @@ namespace Deckungsbeitrag
private async void ButtonFertig_Click(object sender, EventArgs e) private async void ButtonFertig_Click(object sender, EventArgs e)
{ {
// Neuladen des AbteilungStatus bevor gespeichert wird. // Neuladen des AbteilungStatus bevor gespeichert wird.
Auftrag _auftrag = Auftrag.GetAuftrag(auftrag.AuftragID); if (auftrag != null)
auftrag = _auftrag; {
auftrag = Auftrag.GetAuftrag(auftrag.AuftragID);
}
if (tableLayoutPanelArtikel.Visible) if (tableLayoutPanelArtikel.Visible)
{ {
foreach (Button btn in this.tableLayoutPanelArtikel.Controls.OfType<Button>()) foreach (Button btn in this.tableLayoutPanelArtikel.Controls.OfType<Button>())
{ {
KundeArtikel kndart = null;
if (btn.Enabled) if (btn.Enabled)
{ {
// Session NW oder Rekl Zahlen werden angezeigt
if (int.TryParse(btn.Name.Substring(9), out int x))
{
if (artZahl[x - 1] > 0)
{
KundeArtikel kndart = KundeArtikel.GetItem((int)((KundeArtikel)btn.Tag).KundeArtikelID);
kndart.Fehlmenge += artZahl[x - 1];
kndart.Save();
}
}
}
}
}
else
{
if (flowPanel != null)
{
foreach (Button btn in flowPanel.Controls.OfType<Button>())
{
if (btn.Enabled)
{
KundeArtikel kndart = null;
kndart = (KundeArtikel)btn.Tag; kndart = (KundeArtikel)btn.Tag;
kndart.Save(); kndart.Save();
} }
} }
} }
}
if (auftrag != null)
{
// Controls werden durchgegangen und ausgeblendet oder der Text entfernt. // Controls werden durchgegangen und ausgeblendet oder der Text entfernt.
foreach (Control ctr in this.Controls) foreach (Control ctr in this.Controls)
{ {
@ -509,13 +517,12 @@ namespace Deckungsbeitrag
// AbteilungsStatus für Kleinteile und Großteile wird hier gesetzt. // AbteilungsStatus für Kleinteile und Großteile wird hier gesetzt.
if (!userid.Contains("frottee")) if (!userid.Contains("frottee"))
{ {
if (userid.Contains("kleinteile")) { auftrag.Abteilungen |= AbteilungsStatus.KleinteileBeendet; auftrag.Save(); } if (userid.Contains("kleinteile")) { auftrag.Abteilungen |= AbteilungsStatus.KleinteileBeendet; }
if (userid.Contains("grossteile")) { auftrag.Abteilungen |= AbteilungsStatus.GrossteileBeendet; auftrag.Save(); } if (userid.Contains("grossteile")) { auftrag.Abteilungen |= AbteilungsStatus.GrossteileBeendet; }
if (userid.Contains("spannleintuch")) { auftrag.Abteilungen |= AbteilungsStatus.SpannleintuchBeendet; auftrag.Save(); } if (userid.Contains("spannleintuch")) { auftrag.Abteilungen |= AbteilungsStatus.SpannleintuchBeendet; }
}
else { auftrag.Save(); }
} }
auftrag.Save();
} }
GetAuswahl(); GetAuswahl();
@ -523,7 +530,7 @@ namespace Deckungsbeitrag
} }
private void EtikettDrucken() private void EtikettDrucken()
{ {
if (MessageBox.Show("Möchtest du JETZT Etiketten für die erfolgten Änderung drucken?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) if (CustomMessageBox.Show("Titel.Frage", "Text.Frage.EtiketteDrucken", null, new string[] { "Ja", "Nein" }) == DialogResult.Yes)
{ {
if (Funktionen.SonderEtikett_Drucken((int)this.kunde.KundeID, auftragDictionary, auftrag) == DialogResult.OK) if (Funktionen.SonderEtikett_Drucken((int)this.kunde.KundeID, auftragDictionary, auftrag) == DialogResult.OK)
{ {
@ -557,6 +564,7 @@ namespace Deckungsbeitrag
} }
else this.kunde = liste.kunde; else this.kunde = liste.kunde;
} }
else this.Close();
} }
private async Task GetAuftraegeAsync() private async Task GetAuftraegeAsync()
{ {
@ -616,9 +624,8 @@ namespace Deckungsbeitrag
} }
private void Button_Click(object sender, EventArgs e) private void Button_Click(object sender, EventArgs e)
{ {
buttonAbbrechen.Visible = buttonAbbrechen.Enabled = false;
// Beim geklickten Artikel wird Fehlmenge erhöht // Beim geklickten Artikel wird Fehlmenge erhöht
nwClicked = true;
Button btn = (Button)sender; Button btn = (Button)sender;
KundeArtikel kndart = (KundeArtikel)btn.Tag; KundeArtikel kndart = (KundeArtikel)btn.Tag;
if (kndart.ArtikelID == null) if (kndart.ArtikelID == null)
@ -656,7 +663,7 @@ namespace Deckungsbeitrag
} }
// Session NW oder Rekl Zahlen werden angezeigt // Session NW oder Rekl Zahlen werden angezeigt
if (int.TryParse(btn.Name.Substring(9, 1), out int x)) artZahl[x - 1]++; if (int.TryParse(btn.Name.Substring(9), out int x)) artZahl[x - 1]++;
btn.Text = AktualisiereButtonText(btn.Text, 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.
@ -679,6 +686,7 @@ namespace Deckungsbeitrag
{ {
if (auftrag != null) if (auftrag != null)
{ {
if (nwClicked) if (CustomMessageBox.Show("Titel.Frage", "Text.Frage.Verwerfen", null, new string[] { "Ja", "Nein" }) == DialogResult.No) { nwClicked = false; return; }
if (this.benutzer == null | (userid != null && !userid.Contains("reklamation"))) if (this.benutzer == null | (userid != null && !userid.Contains("reklamation")))
{ {
// AbteilungsStatus Begonnen wird hier gesetzt. // AbteilungsStatus Begonnen wird hier gesetzt.
@ -693,7 +701,9 @@ namespace Deckungsbeitrag
} }
this.auftrag = null; this.auftrag = null;
this.kunde = null; this.kunde = null;
nwClicked = false;
GetAuswahl(); GetAuswahl();
ControlLaden();
} }
} }
} }

View File

@ -29,27 +29,27 @@
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormGeschaeftKndAuswahl)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormGeschaeftKndAuswahl));
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tLPKundeTypAuswahl = new System.Windows.Forms.TableLayoutPanel();
this.rBAltKunde = new System.Windows.Forms.RadioButton(); this.rBAltKunde = new System.Windows.Forms.RadioButton();
this.rBNeuKunde = new System.Windows.Forms.RadioButton(); this.rBNeuKunde = new System.Windows.Forms.RadioButton();
this.tableLayoutPanel1.SuspendLayout(); this.tLPKundeTypAuswahl.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// tableLayoutPanel1 // tLPKundeTypAuswahl
// //
this.tableLayoutPanel1.ColumnCount = 2; this.tLPKundeTypAuswahl.ColumnCount = 2;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); this.tLPKundeTypAuswahl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); this.tLPKundeTypAuswahl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Controls.Add(this.rBAltKunde, 0, 0); this.tLPKundeTypAuswahl.Controls.Add(this.rBAltKunde, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.rBNeuKunde, 1, 0); this.tLPKundeTypAuswahl.Controls.Add(this.rBNeuKunde, 1, 0);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.tLPKundeTypAuswahl.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); this.tLPKundeTypAuswahl.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(2); this.tLPKundeTypAuswahl.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tLPKundeTypAuswahl.Name = "tLPKundeTypAuswahl";
this.tableLayoutPanel1.RowCount = 1; this.tLPKundeTypAuswahl.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tLPKundeTypAuswahl.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.Size = new System.Drawing.Size(800, 450); this.tLPKundeTypAuswahl.Size = new System.Drawing.Size(1067, 554);
this.tableLayoutPanel1.TabIndex = 2; this.tLPKundeTypAuswahl.TabIndex = 2;
// //
// rBAltKunde // rBAltKunde
// //
@ -62,10 +62,10 @@
this.rBAltKunde.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.rBAltKunde.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.rBAltKunde.Font = new System.Drawing.Font("Microsoft Sans Serif", 19.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.rBAltKunde.Font = new System.Drawing.Font("Microsoft Sans Serif", 19.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rBAltKunde.ForeColor = System.Drawing.Color.White; this.rBAltKunde.ForeColor = System.Drawing.Color.White;
this.rBAltKunde.Location = new System.Drawing.Point(8, 8); this.rBAltKunde.Location = new System.Drawing.Point(11, 10);
this.rBAltKunde.Margin = new System.Windows.Forms.Padding(8); this.rBAltKunde.Margin = new System.Windows.Forms.Padding(11, 10, 11, 10);
this.rBAltKunde.Name = "rBAltKunde"; this.rBAltKunde.Name = "rBAltKunde";
this.rBAltKunde.Size = new System.Drawing.Size(384, 434); this.rBAltKunde.Size = new System.Drawing.Size(511, 534);
this.rBAltKunde.TabIndex = 1; this.rBAltKunde.TabIndex = 1;
this.rBAltKunde.Text = "Bestandskunde"; this.rBAltKunde.Text = "Bestandskunde";
this.rBAltKunde.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.rBAltKunde.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -83,10 +83,10 @@
this.rBNeuKunde.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.rBNeuKunde.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.rBNeuKunde.Font = new System.Drawing.Font("Microsoft Sans Serif", 19.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.rBNeuKunde.Font = new System.Drawing.Font("Microsoft Sans Serif", 19.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rBNeuKunde.ForeColor = System.Drawing.Color.White; this.rBNeuKunde.ForeColor = System.Drawing.Color.White;
this.rBNeuKunde.Location = new System.Drawing.Point(408, 8); this.rBNeuKunde.Location = new System.Drawing.Point(544, 10);
this.rBNeuKunde.Margin = new System.Windows.Forms.Padding(8); this.rBNeuKunde.Margin = new System.Windows.Forms.Padding(11, 10, 11, 10);
this.rBNeuKunde.Name = "rBNeuKunde"; this.rBNeuKunde.Name = "rBNeuKunde";
this.rBNeuKunde.Size = new System.Drawing.Size(384, 434); this.rBNeuKunde.Size = new System.Drawing.Size(512, 534);
this.rBNeuKunde.TabIndex = 0; this.rBNeuKunde.TabIndex = 0;
this.rBNeuKunde.Text = "Neukunde"; this.rBNeuKunde.Text = "Neukunde";
this.rBNeuKunde.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.rBNeuKunde.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -95,23 +95,24 @@
// //
// FormGeschaeftKndAuswahl // FormGeschaeftKndAuswahl
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 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(800, 450); this.ClientSize = new System.Drawing.Size(1067, 554);
this.Controls.Add(this.tableLayoutPanel1); this.Controls.Add(this.tLPKundeTypAuswahl);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.Name = "FormGeschaeftKndAuswahl"; this.Name = "FormGeschaeftKndAuswahl";
this.Text = "Kundenauswahl"; this.Text = "Kundenauswahl";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized; this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.tableLayoutPanel1.ResumeLayout(false); this.tLPKundeTypAuswahl.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
} }
#endregion #endregion
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; private System.Windows.Forms.TableLayoutPanel tLPKundeTypAuswahl;
private System.Windows.Forms.RadioButton rBAltKunde; private System.Windows.Forms.RadioButton rBAltKunde;
private System.Windows.Forms.RadioButton rBNeuKunde; private System.Windows.Forms.RadioButton rBNeuKunde;
} }

View File

@ -37,9 +37,6 @@
this.tLPKundeName = new System.Windows.Forms.TableLayoutPanel(); this.tLPKundeName = new System.Windows.Forms.TableLayoutPanel();
this.textBoxKundeName = new System.Windows.Forms.TextBox(); this.textBoxKundeName = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label(); this.label13 = new System.Windows.Forms.Label();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.rBAltKunde = new System.Windows.Forms.RadioButton();
this.rBNeuKunde = new System.Windows.Forms.RadioButton();
this.tLPKundeDetails = new System.Windows.Forms.TableLayoutPanel(); this.tLPKundeDetails = new System.Windows.Forms.TableLayoutPanel();
this.label2 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
@ -72,11 +69,11 @@
this.tLPButtons = new System.Windows.Forms.TableLayoutPanel(); this.tLPButtons = new System.Windows.Forms.TableLayoutPanel();
this.buttonAbbrechen = new System.Windows.Forms.Button(); this.buttonAbbrechen = new System.Windows.Forms.Button();
this.buttonSpeichern = new System.Windows.Forms.Button(); this.buttonSpeichern = new System.Windows.Forms.Button();
this.pictureBoxLogo = new System.Windows.Forms.PictureBox();
this.tLPGeschaeft.SuspendLayout(); this.tLPGeschaeft.SuspendLayout();
this.tLPKundeAuswahl.SuspendLayout(); this.tLPKundeAuswahl.SuspendLayout();
this.tLPKundeNr.SuspendLayout(); this.tLPKundeNr.SuspendLayout();
this.tLPKundeName.SuspendLayout(); this.tLPKundeName.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.tLPKundeDetails.SuspendLayout(); this.tLPKundeDetails.SuspendLayout();
this.tLPKontakt.SuspendLayout(); this.tLPKontakt.SuspendLayout();
this.tLPAdresse.SuspendLayout(); this.tLPAdresse.SuspendLayout();
@ -84,6 +81,7 @@
((System.ComponentModel.ISupportInitialize)(this.pictureBoxPlus)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxPlus)).BeginInit();
this.tLPAuftragDetails.SuspendLayout(); this.tLPAuftragDetails.SuspendLayout();
this.tLPButtons.SuspendLayout(); this.tLPButtons.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxLogo)).BeginInit();
this.SuspendLayout(); this.SuspendLayout();
// //
// tLPGeschaeft // tLPGeschaeft
@ -92,10 +90,10 @@
this.tLPGeschaeft.ColumnCount = 1; this.tLPGeschaeft.ColumnCount = 1;
this.tLPGeschaeft.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tLPGeschaeft.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tLPGeschaeft.Controls.Add(this.tLPKundeAuswahl, 0, 1); this.tLPGeschaeft.Controls.Add(this.tLPKundeAuswahl, 0, 1);
this.tLPGeschaeft.Controls.Add(this.tableLayoutPanel1, 0, 0);
this.tLPGeschaeft.Controls.Add(this.tLPKundeDetails, 0, 2); this.tLPGeschaeft.Controls.Add(this.tLPKundeDetails, 0, 2);
this.tLPGeschaeft.Controls.Add(this.tLPAuftrag, 0, 3); this.tLPGeschaeft.Controls.Add(this.tLPAuftrag, 0, 3);
this.tLPGeschaeft.Controls.Add(this.tLPButtons, 0, 4); this.tLPGeschaeft.Controls.Add(this.tLPButtons, 0, 4);
this.tLPGeschaeft.Controls.Add(this.pictureBoxLogo, 0, 0);
this.tLPGeschaeft.Dock = System.Windows.Forms.DockStyle.Fill; this.tLPGeschaeft.Dock = System.Windows.Forms.DockStyle.Fill;
this.tLPGeschaeft.Location = new System.Drawing.Point(0, 0); this.tLPGeschaeft.Location = new System.Drawing.Point(0, 0);
this.tLPGeschaeft.Name = "tLPGeschaeft"; this.tLPGeschaeft.Name = "tLPGeschaeft";
@ -208,65 +206,6 @@
this.label13.Text = "Kundename:"; this.label13.Text = "Kundename:";
this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
// //
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 2;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Controls.Add(this.rBAltKunde, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.rBNeuKunde, 1, 0);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 3);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.Size = new System.Drawing.Size(1413, 94);
this.tableLayoutPanel1.TabIndex = 1;
//
// rBAltKunde
//
this.rBAltKunde.AccessibleName = "Bestandskunde";
this.rBAltKunde.Appearance = System.Windows.Forms.Appearance.Button;
this.rBAltKunde.Checked = true;
this.rBAltKunde.Dock = System.Windows.Forms.DockStyle.Fill;
this.rBAltKunde.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.rBAltKunde.FlatAppearance.CheckedBackColor = System.Drawing.Color.White;
this.rBAltKunde.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.ActiveCaption;
this.rBAltKunde.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.rBAltKunde.Font = new System.Drawing.Font("Microsoft Sans Serif", 19.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rBAltKunde.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.rBAltKunde.Location = new System.Drawing.Point(10, 10);
this.rBAltKunde.Margin = new System.Windows.Forms.Padding(10);
this.rBAltKunde.Name = "rBAltKunde";
this.rBAltKunde.Size = new System.Drawing.Size(686, 74);
this.rBAltKunde.TabIndex = 1;
this.rBAltKunde.TabStop = true;
this.rBAltKunde.Text = "Bestandskunde";
this.rBAltKunde.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.rBAltKunde.UseVisualStyleBackColor = true;
this.rBAltKunde.CheckedChanged += new System.EventHandler(this.RadioButtonsKunde_CheckedChanged);
//
// rBNeuKunde
//
this.rBNeuKunde.AccessibleName = "Neukunde";
this.rBNeuKunde.Appearance = System.Windows.Forms.Appearance.Button;
this.rBNeuKunde.Dock = System.Windows.Forms.DockStyle.Fill;
this.rBNeuKunde.FlatAppearance.BorderColor = System.Drawing.Color.White;
this.rBNeuKunde.FlatAppearance.CheckedBackColor = System.Drawing.Color.White;
this.rBNeuKunde.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.ActiveCaption;
this.rBNeuKunde.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.rBNeuKunde.Font = new System.Drawing.Font("Microsoft Sans Serif", 19.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rBNeuKunde.ForeColor = System.Drawing.Color.White;
this.rBNeuKunde.Location = new System.Drawing.Point(716, 10);
this.rBNeuKunde.Margin = new System.Windows.Forms.Padding(10);
this.rBNeuKunde.Name = "rBNeuKunde";
this.rBNeuKunde.Size = new System.Drawing.Size(687, 74);
this.rBNeuKunde.TabIndex = 0;
this.rBNeuKunde.Text = "Neukunde";
this.rBNeuKunde.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.rBNeuKunde.UseVisualStyleBackColor = true;
this.rBNeuKunde.CheckedChanged += new System.EventHandler(this.RadioButtonsKunde_CheckedChanged);
//
// tLPKundeDetails // tLPKundeDetails
// //
this.tLPKundeDetails.AutoSize = true; this.tLPKundeDetails.AutoSize = true;
@ -368,7 +307,6 @@
this.textBoxTel.Size = new System.Drawing.Size(495, 45); this.textBoxTel.Size = new System.Drawing.Size(495, 45);
this.textBoxTel.TabIndex = 7; this.textBoxTel.TabIndex = 7;
this.textBoxTel.Enter += new System.EventHandler(this.TextBox_Enter); this.textBoxTel.Enter += new System.EventHandler(this.TextBox_Enter);
this.textBoxTel.Validating += new System.ComponentModel.CancelEventHandler(this.Pflichtfelder_Validating);
// //
// label5 // label5
// //
@ -733,6 +671,17 @@
this.buttonSpeichern.UseVisualStyleBackColor = false; this.buttonSpeichern.UseVisualStyleBackColor = false;
this.buttonSpeichern.Click += new System.EventHandler(this.ButtonSpeichern_Click); this.buttonSpeichern.Click += new System.EventHandler(this.ButtonSpeichern_Click);
// //
// pictureBoxLogo
//
this.pictureBoxLogo.Dock = System.Windows.Forms.DockStyle.Fill;
this.pictureBoxLogo.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxLogo.Image")));
this.pictureBoxLogo.Location = new System.Drawing.Point(3, 3);
this.pictureBoxLogo.Name = "pictureBoxLogo";
this.pictureBoxLogo.Size = new System.Drawing.Size(1413, 94);
this.pictureBoxLogo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pictureBoxLogo.TabIndex = 9;
this.pictureBoxLogo.TabStop = false;
//
// FormGeschaeftMain // FormGeschaeftMain
// //
this.AcceptButton = this.buttonSpeichern; this.AcceptButton = this.buttonSpeichern;
@ -756,7 +705,6 @@
this.tLPKundeNr.PerformLayout(); this.tLPKundeNr.PerformLayout();
this.tLPKundeName.ResumeLayout(false); this.tLPKundeName.ResumeLayout(false);
this.tLPKundeName.PerformLayout(); this.tLPKundeName.PerformLayout();
this.tableLayoutPanel1.ResumeLayout(false);
this.tLPKundeDetails.ResumeLayout(false); this.tLPKundeDetails.ResumeLayout(false);
this.tLPKundeDetails.PerformLayout(); this.tLPKundeDetails.PerformLayout();
this.tLPKontakt.ResumeLayout(false); this.tLPKontakt.ResumeLayout(false);
@ -769,6 +717,7 @@
this.tLPAuftragDetails.ResumeLayout(false); this.tLPAuftragDetails.ResumeLayout(false);
this.tLPAuftragDetails.PerformLayout(); this.tLPAuftragDetails.PerformLayout();
this.tLPButtons.ResumeLayout(false); this.tLPButtons.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pictureBoxLogo)).EndInit();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
@ -776,9 +725,6 @@
#endregion #endregion
private System.Windows.Forms.TableLayoutPanel tLPGeschaeft; private System.Windows.Forms.TableLayoutPanel tLPGeschaeft;
private System.Windows.Forms.RadioButton rBAltKunde;
private System.Windows.Forms.RadioButton rBNeuKunde;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.TableLayoutPanel tLPKundeDetails; private System.Windows.Forms.TableLayoutPanel tLPKundeDetails;
private System.Windows.Forms.Button buttonEdit; private System.Windows.Forms.Button buttonEdit;
private System.Windows.Forms.TableLayoutPanel tLPAdresse; private System.Windows.Forms.TableLayoutPanel tLPAdresse;
@ -818,6 +764,7 @@
private System.Windows.Forms.TableLayoutPanel tLPButtons; private System.Windows.Forms.TableLayoutPanel tLPButtons;
private System.Windows.Forms.Button buttonSpeichern; private System.Windows.Forms.Button buttonSpeichern;
private System.Windows.Forms.Button buttonAbbrechen; private System.Windows.Forms.Button buttonAbbrechen;
private System.Windows.Forms.PictureBox pictureBoxLogo;
} }
} }

View File

@ -59,7 +59,6 @@ namespace Deckungsbeitrag
StartKndAuswahl(); StartKndAuswahl();
RadioButtonsKunde_CheckedChanged(rBAltKunde, null);
RadioButtonsKunde_CheckedChanged(rBEigenNetze, null); RadioButtonsKunde_CheckedChanged(rBEigenNetze, null);
} }
private void StartKndAuswahl() private void StartKndAuswahl()
@ -68,8 +67,6 @@ namespace Deckungsbeitrag
if (auswahl.ShowDialog() == DialogResult.OK) if (auswahl.ShowDialog() == DialogResult.OK)
{ {
this.kundetyp = auswahl.kundetyp; this.kundetyp = auswahl.kundetyp;
if (this.kundetyp == "Bestandskunde") rBAltKunde.Checked = true;
else rBNeuKunde.Checked = true; ;
} }
} }
private void RadioButtonsKunde_CheckedChanged(object sender, EventArgs e) private void RadioButtonsKunde_CheckedChanged(object sender, EventArgs e)
@ -181,10 +178,6 @@ namespace Deckungsbeitrag
{ {
if (GetRedTextBoxes(this).Count > 0) { MessageBox.Show("Alle Pflichtfelder müssen ausgefüllt sein.", "FEHLER"); return; } if (GetRedTextBoxes(this).Count > 0) { MessageBox.Show("Alle Pflichtfelder müssen ausgefüllt sein.", "FEHLER"); return; }
// RadioButtons beide Checked false. Auswahl des Kundentyps geht über die FormGefschaeftKndAuswahl.
this.rBNeuKunde.Checked = false;
this.rBAltKunde.Checked = false;
MessageBox.Show("Speichern möglich"); MessageBox.Show("Speichern möglich");
StartKndAuswahl(); StartKndAuswahl();
@ -244,10 +237,6 @@ namespace Deckungsbeitrag
CheckAllTextBoxes(this); CheckAllTextBoxes(this);
// RadioButtons beide Checked false. Auswahl des Kundentyps geht über die FormGefschaeftKndAuswahl.
this.rBAltKunde.Checked = false;
this.rBNeuKunde.Checked = false;
StartKndAuswahl(); StartKndAuswahl();
} }
} }

View File

@ -118,10 +118,133 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pictureBoxLogo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlh4QbDAIEBAP///////wAAAAAAACH/C05FVFNDQVBFMi4wAwEBAAAh+QQBAAABACwAAAAA4QbD
AAAI/wADCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDYgRAsqTJkyhTqlxpMiHLlzBj
snQps6bNkiJv6tyJMyPPn0CDkhSJUKhRokiTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2C9GhVKc6xZ
AGXP6syp1qzGtnDhKo17M6zdu3jz6t3Lt6/fv4ADCx5MuLDhpnTrFk38UyHjmGwf73wrufJaopZnHt7M
ubPnz6BDix5NurTp06gDZNZ8cHVNx65PRo79kjLt27JD4u6Zurfv38CDCx9OvLjx47538zaoXCVs3LOb
t/QpHTrI5siza9/Ovbv37+DDixX/Kz1tdbTmY0c/b/s87Y/Yx8ufT7+gvv37+PPrJ1x+sXv0/t22XnXt
/eeaR/Htp+CCDDbo4IMQRthdf60Z+JyAAyZ4kYHWbaShhCCGKOKIJJZo4okcUcichekdmKFyBXK4Woow
omjjjTjmqOOOPBb3YUEcXvjei7vFKKNlNBbZ45JMNunkk1BGOdePBAXZ4oxEdrjhkUNSp6SUYIYp5phk
lkmiiiv+J6R6WWI4EpddbvmlmXTWaZDnnXjmaRqaQLIYYJzwqWkknJV5qaWeiCaq6KKMNooYlVUK+ieb
ukn6JqEuynmoo5x26umnoC7KZ5/uLVTjdZZqimlml24a6quwxirrrCWOGmmpa2YaKK6GroqkqoDSKuyw
xBZrbHa2DuTnpLoimKpFvlJKEaTHVmvttdhmy1eyAi1boasePltRtM1KRK226KaHq+667Dp7rmri3urm
ruwNSm5i0J7a7r789uvvvwTmqu+387pbb6/3PpbvnP827PDDEMca8JUMp1lwR94unLBkGl8c8ccghyyy
mBMzO7DFwSZ5cKsbKzztySPHLPPMNItYMsE3oyytwTmP23KhL1dc89BEF200eD3Ly223QofLK8s/0+Vz
00dXhW311ViLtjS8K5vMaqVPAxu1XEGDm/XZaKettl1bx6v0zhi7be7YjE1t9tp456333pi1HTbOcKuc
9ER0uzw31XwnrvjijAscOKmDK4s4wjCXjaXkR1qecuOcd+453pEz3bXXQIMdOkQei/63Q5V/7vrrsNd8
utyYp26v7YeXC/nWpJce+++BwAcP8eyr66y706c/hHvtrZs6ufDQRy89scSPDvjxtz+u+a8MJX/95dOH
L/74r1affPNQP4/65saz7/zd5Mcv//xknm99+1+j6j3r7u++PMXco58AB0hAJ9nvgP/rGPoikkDVwQ+A
viugBCdIQZsh8F0O1B7lHrg+DeIvfwxUXwVHjEjCEiLtggvkWgO3x0Hl9c9/HoQgx0xIwxrakDv3gyEH
U2g3DHYQe98D3w9feMMiGvGInvFe8XQIQp7xkH8xfFsUgxhAJFrxilgcjBJzKEUhxm1/DVmhCsXYxSZm
8YxoTKNYeDfGFD6RcFzMnRcdZ0YoklGNeMyjHp3YwCWWsYpfZKMd59g7QA5yintMfaQiFxlCH7ZRfW+U
YyTfB0QmErJ7ImSkJjfJyTgyz42ZhCMYMTlFQX4wgpxMpSo7ucVWErGHk6Rj3UgZywxWcpW4zGUWPWnL
FtYyjLx0YQyDSUVU6vKYyERiMIn5S1o68pCG/CMiTznDZFrzmjZc5v6a6cxQdjOaGRviNLFJec5yTk+b
guQmJdUpTXy1s4WFNJw550lP8qHzmeyUYR1hWTi38POS9QyoQF13zyfmM57GVGA/j6JQgA70oRDlW0Ez
edBi7vOfCwWK2Bwa0Y56FGt+tCRHP3nLho7zmxltzEYv+tGWupRoxHzkK2XK0vTNFJop5YlNa/pz0p76
9GMx3aY3G1lRmubUJhvk6U+XytR9BTWdQxXnHdd51MnsNJpNzapW0/VUfEZVmEWtqkaTitWtmvWsxeqq
Qb+K05NSVawyQd5N0UrXujpKrRRlKzCf2Va4rkRwJbWrYAebKLzCs6giVapU/fpXwI6UsHeQjWyZQprY
slZWnoHUq0UZO5TMBlayoA2tAQ27Qr4SVbPU5Cy93Cra1rrWRJR9Z0I3i1nHzhWlnF2ObS372t76tlak
vSliSXrbt+a2s6v97G+Xy9wFxZa40xxuL1mrz6r2barNza52xfPc6SpXukZ9LFiPmxTUbnD3vOglTnfD
q1jvzvaq4u3rUZdi3vTa976niSl7eStbd+qvvtDN6aOwi98CG3g0+gUjePdbzewVDioAPrCEJ0yeBJt2
wabdq4ClEmEKe/jDYVkvg2tr3PaKEp7jpdtVOgziFrt4xRaOJIYRu2GqsPjFdDjO8YBN6d730ta/yaVu
de9VlRvr+MhIDjKKe9xgDRc3xUJGKJFtvOQkW/nKSBHxiIHs5CiX2MTy/RmVCYzlMpt5pbe9MHgzjFsV
c7jKZ46znE87STUbectS82xG30zmOfv5z/318Y+53Gb+sjC+YR5bVO4MaehG65h2g84zlJVLZy+nVtFP
YbSjN91iSF96lpNG9GJFXegHZxrOnE41lo/Lauf8t8+RbtmpYa3qWr+41biejpJJ/eU979jStg62h3NN
bNPR+rKmpi+qZSvsZjOX2Lk29pNlmVKmUO0szlvOtm+hjWtpAzvQbp6SdbVNbtFyu9XepnSX/arscZf7
3ZA9N6vTzWtq1/i684W3vu0q73nT29Cjhmt5xbrvgqO13+T9d5Md7G6FY9rgEG8qwnPbJlDvlrH4rnbE
dTe+1Imr1uEWl6u/QS5rjpv8pR7/+K4FfeJuk3xjJ4/5R1OO8Vere92FGmXAHy7znguU5uy2eb3tHRc8
h1zkC/W50gMKdIELHcyJLrrRCU3WqC396uZsutNXvvCq+1e/OA+3c1HSF1ffleylMbsUv/c2WxY5Jf9Y
F5XWG65nqIfdcGAvdckZBPdt9f3suSGN2nvJ9k+6fcyBT+Lg9fJ3sDQewWjX2uPX3qi50/3iXYcvkPNO
9IQ5aPJ3WbyiQP+ZxTe2i21/5Nsjv5nX7IX0W4G94hMPmtPDEPCW9zXXSax5STMZ4He3eoNk/xXRF5b1
kkc+TduXeuKLm/aFUUxenA9j6GdZ+QO3fmdsT3lG5f7edQd+qGvL+Vj76vPYZxv17bR+w0ye+6pvfvp/
rVv+XAYv7Ud8/a+v/YwjNzSs0X1y931J93TiF3VkA268J0nJxnfz53j5ZyYRqEWPx32Dh3YTqGStp1P4
94BZkYFiM2u6BoDwF38i3keABbh7R+d1vhdgN2d+mPIgILh6/acnM1hhrBeAMlV2N/+4RlYVeh6IFT3Y
cv/XbiNYezpoggOIgmIXfizHgAlVfgq4KoLRdxUYhDvYIodnPBlEhEdIXFTETyR1Pcy3hTVIMXfHLFw4
hkooMLnShTrUUNIkgH/UZmFnMltoXPo3gkmoIEPIgBYEf384WkzYhJi3gCbFe1r2aeRShUhlVNSmhkkI
dxEYV3HIbIA4icpndpSIhe8kZWsogPdnUZKYg7WxPXPIhph4afrEiPvnggAigl9Ygqp4Wkb4imqoUEqD
U29lJK8GZZqDUbole8a3TjgDjES4gYXIc06YeWi2gr93gMjWiIHRFqA4jcNoiQgYi1kYjdwYfBe4iX/n
euA4i4//WIt5+IPI9mmwiItv6IJ0eI7tuH/k6I1fOGKLBnqiBxOleIq314aw2Gti2Ie/11+HVoS12InF
yF79mIGQgY4FeXunR4vwSIYE6RfLaIhIZ3d6J3VS9oQfeX6OqBauiI1FWI+91nicKH3byIfiGHko2Xkn
yZLvZ4osOY/Z+JA3iXMV2Y1Gp4DYOIXfuJPP54mXBYMziYEvyY8/5oVMOY04CYU1mXjquIpTKJUuCX3y
+JP+uI4m+Y04mJF7x0ccmZIt+JXQWI5TVo3WCJRCaZBqSZXjSJQymZXmCJPaaJZ4SZNLuRwciJM5yY+j
iIxkF3hXKI+j+IMqZY8ImX0XyYiubkh7cymZW4lnWKmDlxGTehmYflmVWxaZYKmX6JiYbQluaGl/YjmW
ZOmMz0h1QnmW46eaGFmay0d4gGmXXemGCTmZuNmYddmZWsmbuXkl3XeYvTmUNsmXwgmci7mQuViYuaGS
0rmXx3mVjMmcuuac/y8XmoyJlkmZncg3mIPZkcnpepo5ZJz5f3/ZnW+5c7wxnYhJm+x5ndz5eqkpm4cI
myzokejJmr8ZgyNpmCtZnggJn8cZi6fom6GYjsvJjUY5XWAIkQPqagp6iWYYngSKnHKZocg1lQfaE4L4
oIcHndNhoAVKnekZoapoexN6hNqpgn1Zomo3VraphOr4VxQZktj5nlaYl7hVmwxKmj1qoj5KnkEqoBxK
FtAFpFNXn/Z5n2sJownYjK7pnfwZmzAXoOmpnhm6oOG4oSKKjDWao4v1j3k4pi8ahnIooRxqoR66o/X3
phX6nLKhlGfoptr5pdFpnOBpfYN4mXp6oK/Zof9dqqJZGKjuiD9LeqZy6qR4KIpJuqg+OaMUmqZjOKTV
CamYaqcouqUAMpF/ahVQ6nnbSZJSKp86ioipSigUSJmu2qeKGaMI+qcPiaZPCYhmCpAtmqidV450aKPY
t6nSZ3qLmWJdSKL3uIpFCpC6WZzrSX+1qquRGopEaqiHGqwPiqhz+qsOKauf2qaod6bACq7A6Bz5R6Sz
Sq762KnfyavTN6rUaICqKoxpaaVXSp4iqaXtuq/f+peN+quACqawGq3Q5KXeaq2VVoLKeZeZ+o80uq7P
6qsOxKyWaY8AS5xmWqyyqJMQO7Cv2KDOKqviSrGPirAitaBiGrKCGq77yK64KPtN0Vho4VqjF+qnLpur
+gqvmVNx98pwPbuqVYqUO5uzONug5PivEJmwAUip56mFudqo/Xqnm+mgCxunheqwzYmtEat37Qiapjmy
GKuydAmtjfWw82euGIqkyQq0UlWGgfay+Hqz4lqp/iqybRuRUDmafEqosRqcUvuuOsuqPDul+fmzQmu4
h2slRBuP7Hq0dgu2Lcml3mqp0iqwJ9q4vcejVXu5DUt5ZmuzW2uWAXmaeXuuSNukjv9KtnWatTWokC4q
t3GZrQd7mxq6tv2ptnBahp/LsO4qtha4uVSbth7ruH5ruzwYuENbqth2qqYaufNKu4K7uHqLu8P6uCSb
huPafwTbi087uz7ZmuiRoFe7m6Aro3VbvuMJjqNbh5DLsejbWcRKvU37dGG4u+7ouluatLfbu3NrtMM5
gfYrubwLoqw7wKmrqUsrpK8rvJp7f6cbfciruIOLqj5LuHHrn9ALJ9aGrjPbhnsbtcb7stXKQt2LhWSK
s9m7wPJ7wEqLFtrKreNrm5TLrDPsnutrrdRXtrMbv8Mbe7CHtudru0UKslh6wjDcuDjxwM7bwLl7iQFc
u/x7pCz/OhMjjMNI/JRKjJoUh7pROsHNS6X6ub/Pq3tFCafparnBq8JNnLHWO4MvHKFZ/I4I/KEmW7Co
98BMi8Zp3MPUmn4dG8U96V4WKsN2q63he7o8DMg7hYczTHzba7RrGKr9y6loDLcwe7eTvKciGsdy3GOS
msL8usd8G8IozMFWHKYbmW/0Ga/894IX7E/uOUwpWMYCvLKMysC1nL9sWskkPMcEjMssXLkf6sKgisq3
jKyeWkaQKKl5rMa5HJpv7JShzLnODL8fDKG2WrxMnMwb/MfmS8ogPKePjLksa8KYDMfXjMLrFkbka8Dh
nLrvbMlOu77R7MHpfL3Kssu2/L01tly4zMjFAErLINnC9SrGQbvKMkK2HdzM/FrCwGuwf1t4TLqr1my6
2vzM2tjP2Ey3K3zG8anAH52soYu9Aaao2Hyt/ssaiYzRtyrQvwzJvuykLS3F2/zSBnzOhHzRULytEp3N
a6yi9czJ89yTeAzMovzOOx3PDr3P3+sUQQeaAX2LZTm1XxzLDkXGjrnPDH3URXuTRR3RUD2z6dvJx1y9
xsyez3qj4ymeZzu2JO1dMEi7bkmzNL29/1ntwBzNy7JEhtCrzEx6yeVMroH8ZTRbxUCd150LubloSYa6
1YMMyjbNxzHt0dw8FQQHtBKsus8rzZsN1fWK1a2s1YZtzzqNmW181k3a2JXJvYyL16gNvC2t1kTp1Q/o
1nbo12F9m3mLsB/8mP4X0vXofMNJ2sE91kOd0zs53Psb0247dUdMygCr0rJdzVzd1/psxh3c1Pk4y5it
c6vZ2QR90P+5gKD925SN0a1dzU1ZyjEc3hR91DWcxbUB0/RK3bEN2xcZk468rAnb01/plUf52MKs3FI9
xFsp3LTY2yE6v4t92GxtxF/bzlZr1L+r05XmNe1J3Ood4ZmM3acM1t8uzcrjzWbyWtD1HcaxC0795NSm
XNjArM6CzNfMvVI1W9rQLcJaS8mjfOOR+EFNjaNdesLKncO+PWn+zdhQa7zDvdLQXOQhbnz6bcJQPrl+
zN+s7eDJDeFwOePZjY/sDeKkN8WuTd1fPtNfrccCLoSubNngrdkmfpBvbtCuyd3cxeNqztOW84F4ntV2
NDWGIkfRAbgdQ1QQpsih7dszrdiffLGJ3k6oOMjzneMgzmQyPuD0OOTWu84lK8hE/OEfu+SnLdjaHXek
jkuNjNosDtaSDEvBqIvVZ+chNum0XOq0I17rtn7ruJ7rur7rvN7rvv7rwB7swj7sxF7sxn7syJ7syr7s
H8ze7M7+7NAe7dI+7dRe7dZ+7die7dq+7dze7d7+7eAeHu7iPu7kXu7mfu7onu7qvu7s3u7u/u7wHu/y
Pu/0UV7v9n7v+J7v26fR+t7v/o5+/P7vAj/w9UHg6qflwTciTp7KwTw0Bm/ehk7wEr9zgPHwBB0ijc51
eWPxJd7wE//x8hWWAX+yGL/wXgc6HL97IIO/8hUc8ds98o4OIhn/3R5PMylP8zXP8jpvnbFu8jJb8gjf
mscC6w5W6D6/80hPn0AY9D0uITPfjGkF8+Ft9Eyf9Ds/0np+9HsN9FIfZtSj9Ym45/lp9WSf4i7v5gwv
9vbx9Jj39WAP5zmveWU/9+Pd81XfO4HY9eo7LGyf9nEf9mpP97Qrj/WvTqs3fx99nz1R//aASvV6L/jk
HvGe6cOMf0p5v+oytPh3f5mO//iQz+2bb9x3rveJjx+lD1/bIeuMV/k2vLGo/vngfvgVAtcQuPnFdPmv
j6Vd4fl3OHu5H/Ku//uwD/qsz74A1MuZz9kNWMeWj/f2ateJGzin3+Ukf/HNf/1bf9fTf+JWPvwcV1Lb
D4keKPvQH15wn2zlP9g3DNBuTapWKZqkOPXYv/7x31dm/9Yjjvn/3r9p4G/yAAFA4ECCBQcGQJhQoUKD
Bhc+ZNhQIkSJBCFejFhR40aOHT1+FBgAJEaRGy+azAhSZcOTK12+1PjQI8mEKmVypEkx5s2dC1HS/Al0
JkaXJD/mhOkw51KmTZ0+hRpV6lSqVa1exZpV61auXb1+BRtW7FiyZc2eRZtW7Vq2SYsuDUoUptC4LUfy
nJjSqFu+ff2ylFvRruCaf+/6NJw47tG9K1PWbUwYseTHgCPnDXwY79DNnHX6ZRta9GjSpU2fRp1a9WrW
rV2/hh07rGLInzEPnov7dmbNJXdSrkxb+PCCupV2Ll6YeE+Ey5dPxmn8cG7pB5Enh2758nHb2o6v103K
O7xs8uXNn0efXv169u3dv4e/1blFpsy/26yOPX905RP5958vwMS60y44/QTUDkHF7tMPwJcc7A3CBpuz
j8IKGQRgv44I/M9C6gx8MD4RRySxRBNPRDFFFVdksT4Bg5OQPgw9y+7CGD3ra0YFd+zQNxuD4lFGH4Mc
D0TuPCyyyBonHLJAJI/cT0Ma33oyxCWtbDFLLbfksksvvwQzzPRelPDG56S0jkP8qqSSTSLfBG5DNYWE
00g45bQzTTepVNLMDBmcU08NdZxyzSY/3NM7MRdltFFH/x+FNFJJRwwQRD+FE6+2HBON8E5PmaORUzTx
xPNSBKXTMc+QROX0Qsh6PFTITGWN9cO3BlSVsUl35bVXX38FNlhhs/qpJ9puHFXQWtc0DCkbSTu21VUB
pQu47Zy8Ulmydms110tNxRbWV2vLM1vsSCUXx8XIHbZdd9+FN15556UUVMlw3TNZPfFLsNlraTUNU0P9
dNbaWZksNy1ul01zKF0RTTTQae0sOE50gdT0YozZpbdjjz8GOWSRR26q2Hv9jVFf6wamc8GDtS3NUJQT
pohVaTFVa2H+ogUX4B7F5ZjhP6W9mWCJGy61VJKXZrppp5+GGkyUTAbNXEI3zSjXgVPNnRi1TqvGcFSu
z1QYW4Zv1gxioCuEdWytp2ub51Cjprtuu+/GO++2+EJbabZPrXbmsYdOTdee1zZY6JaD3BvKvsFWnFul
hZ4x8AKjnVvuyfXmvP9zzz8H/XO+3eyZ5m7/sjzpH9uG1m98VT1a1jfXMpjHwyecHPGFYb9dzsxdjpzw
0Icnvnjjjx929MQ3thfw2C+vfe6Y/8PZ27e7JrJxx3fsXXbXwWPd5uDvMrz73yJEPn3112e/fRGdi5Jo
xcff/PGulx0c5taZFzzy/AE2H5bQYi0FBRB73/sb69SFOrRdTWP1c18EJThBClZwgMQZ1Eg2BLzr0Ypq
5TvNzjDYQPsJT2slCxpYmjcfo4mQM4ZDX/AMeK6t+atNFsRhDnW4Qx7+i4EOzBHPSng/+oFwesb61A//
h8JnbetkLOzW/KC4NRkO8TgCLGJeINZDLnbRi18sHN4In4e64VjRhGbc3f6eqKgkElF+LmriWO6UvxnO
7n8Z+qFbOnjFPoHRj3//BGQgQyZGIIZHZlAsZPhC40LptfGMVYRj4soyHiymzZHMKuAehYg1QXbSk58E
paTK+DJcHRJ+Y4zhaD64st05UmUeOtoibVWpOl6SkFkUIi4lGUpe9tKXv3xP9VQWIsz0i2yJTGHZkEgf
ST5ImJrEXTK/orZjotGW13QlBIG5TW5205tHfB0qsWSZ3VAyXTbRZs74x65b8Ut3lZSmV7Bozehh056M
caX/vrlPfvbTn9Pk4DB7U0Mr1Q9u8XSixaTXt+t9C5naSqdYFPXQZ92Tnoyr5eiK9k+OdtSjHxVnRBn6
OyNOdH5j5B04y7lQEoJrcCHdniIlmkpd7pJ+DLVfCgdrCrmLblGkIAXQalCF2knfIXSByzPiTa2Wumja
VJ0EFKlBx7XLPiJLlSy9KFwKpToQHjQ64YQmJ400VLKW1ayetI9T43clppotirpholvdKpp3Om6t97lW
XJPKphDKFI1OqWtMFfiztPIUpnpM3VkVu1jG9hBhSMKK/qji11oVTCqPzVprzjlX40TSjdCZbEQlK0vO
wnQqNk2jVZlqOVL+lFUatWxjZTtb2tb2KakFmSIByEvXTsqkXbmhbYU7XOIWt3gINe6jkHsVyibXuc+F
bnTh1VzpVte61yXFbna1G9k4bte73wVveMVrXOqO17znRW961cvb7q7Xve/NbkAAADs=
</value>
</data>
<data name="buttonEdit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="buttonEdit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vgAADr4B6kKxwAAAAXZJREFUOE+1kj9LwlEUhjXc+rP0IYKCpsJoKaRBGqpBHKygLxA5aQ2C5FBgFLQL vQAADr0BR/uQrQAAAXZJREFUOE+1kj9LwlEUhjXc+rP0IYKCpsJoKaRBGqpBHKygLxA5aQ2C5FBgFLQL
SUQQQoZmiAVNUUGYFhURDYqlqf00vG/gcuL8KLGrpQQ94+V93nPgHo2mSQAYAESFAAHIALAD0Mq5ugAY SUQQQoZmiAVNUUGYFhURDYqlqf00vG/gcuL8KLGrpQQ94+V93nPgHo2mSQAYAESFAAHIALAD0Mq5ugAY
S2SUstEVIp3ZQ12zO3QcT3CRXc7W8CV3z/lo2BGgq4dncmydqSW8iZz/BsvJT5mFzplNOrlOqiUtJg8X S2SUstEVIp3ZQ12zO3QcT3CRXc7W8CV3z/lo2BGgq4dncmydqSW8iZz/BsvJT5mFzplNOrlOqiUtJg8X
kOxUYDmdK5b7bLs06jqgl6xCzu1ztYQ3GV8Kc0Fc9lSqZbM7QtmcQgWlqJbwJkOOAOUKbwDQL7s1cj5f kOxUYDmdK5b7bLs06jqgl6xCzu1ztYQ3GV8Kc0Fc9lSqZbM7QtmcQgWlqJbwJkOOAOUKbwDQL7s1cj5f

View File

@ -101,7 +101,6 @@ namespace Deckungsbeitrag
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.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxKunde_KeyDown); this.textBoxKunde.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxKunde_KeyDown);
this.textBoxKunde.Leave += new System.EventHandler(this.TextBoxKunde_Leave);
// //
// label1 // label1
// //

View File

@ -46,6 +46,7 @@ namespace Deckungsbeitrag
private readonly string kndService; private readonly string kndService;
private QwertzKeyboard keyboard; private QwertzKeyboard keyboard;
private ArtikelKategorie kategorie = 0; private ArtikelKategorie kategorie = 0;
private bool isFiltered = false;
#region Form-Konstruktor #region Form-Konstruktor
@ -366,7 +367,7 @@ namespace Deckungsbeitrag
private void TextBoxKunde_TextChanged(object sender, EventArgs e) private void TextBoxKunde_TextChanged(object sender, EventArgs e)
{ {
TextBox textbox = (TextBox)sender; TextBox textbox = (TextBox)sender;
if (!textbox.Text.StartsWith("SCAN") && textbox.Text.Length >= 4) if ((!textbox.Text.StartsWith("SCAN") && textbox.Text.Length >= 4) || textbox.Text.StartsWith("?"))
{ {
// TextChanged tritt nur ein wenn x Sekunden keine Eingabe erfolgt. Logik befindet sich in Timer_Tick // TextChanged tritt nur ein wenn x Sekunden keine Eingabe erfolgt. Logik befindet sich in Timer_Tick
timer.Stop(); // Alten Timer beenden timer.Stop(); // Alten Timer beenden
@ -376,10 +377,7 @@ namespace Deckungsbeitrag
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
TextBoxKunde_Leave(sender, e);
if (textBoxKunde.ForeColor != Color.Black & !this.textBoxKunde.Text.ToLower().StartsWith("https")) { return; }
else TextBoxKunde_Leave(textBoxKunde, e);
} }
private void ListViewKunde_MouseClick(object sender, MouseEventArgs e) private void ListViewKunde_MouseClick(object sender, MouseEventArgs e)
{ {
@ -455,7 +453,6 @@ namespace Deckungsbeitrag
} }
e.Handled = true; e.Handled = true;
TextBoxKunde_Leave(this, e);
this.DialogResult = DialogResult.OK; this.DialogResult = DialogResult.OK;
this.Close(); this.Close();
} }
@ -548,5 +545,6 @@ namespace Deckungsbeitrag
TextBoxKunde_Leave(txtScan, null); TextBoxKunde_Leave(txtScan, null);
} }
} }
} }
} }

View File

@ -29,6 +29,7 @@ namespace Deckungsbeitrag
public FormLogin() public FormLogin()
{ {
InitializeComponent(); InitializeComponent();
ControlBox = false;
this.Text += Assembly.GetExecutingAssembly().GetName().Version.ToString(); this.Text += Assembly.GetExecutingAssembly().GetName().Version.ToString();
} }

View File

@ -1429,8 +1429,9 @@ namespace Deckungsbeitrag
private async void buttonTest_Click(object sender, EventArgs e) private async void buttonTest_Click(object sender, EventArgs e)
{ {
FormGeschaeftMain geschaeft = new FormGeschaeftMain(); MessageBox.Show( $"{TranslationService.T("Text.Frage.AuswahlBestaetigen")}", $"{TranslationService.T("Titel.Auswahl")}");
geschaeft.Show(); //FormGeschaeftMain geschaeft = new FormGeschaeftMain();
//geschaeft.Show();
//FormAuftragAuswahl auswahl = new FormAuftragAuswahl(); //FormAuftragAuswahl auswahl = new FormAuftragAuswahl();
//if (auswahl.ShowDialog() == DialogResult.OK) //if (auswahl.ShowDialog() == DialogResult.OK)
//{ //{

View File

@ -19,6 +19,7 @@ namespace Deckungsbeitrag.AA_Forms
private Benutzer benutzer; private Benutzer benutzer;
private Auftrag auftrag; private Auftrag auftrag;
private UserControl uc; private UserControl uc;
private UCSprache ucs;
public List<Auftrag> auftragliste; public List<Auftrag> auftragliste;
private string gb; private string gb;
private bool toclose = false; private bool toclose = false;
@ -45,6 +46,11 @@ namespace Deckungsbeitrag.AA_Forms
{ {
InitializeComponent(); InitializeComponent();
} }
public FormShowUserControl(string usercontrol) : this()
{
this.gb = usercontrol;
this.Text = gb;
}
public FormShowUserControl(string groupBox, Benutzer user) : this() public FormShowUserControl(string groupBox, Benutzer user) : this()
{ {
this.gb = groupBox; this.gb = groupBox;
@ -104,10 +110,23 @@ namespace Deckungsbeitrag.AA_Forms
this.Controls.Add(uc); this.Controls.Add(uc);
} }
break; break;
case var t when t == "Sprache":
{
ucs = new UCSprache();
ucs.CloseFormFromUC += CLoseFormFromUC;
uc = ucs;
this.Controls.Add(uc);
ControlBox = false;
}
break;
default: default:
break; break;
} }
} }
private void CLoseFormFromUC(object sender, EventArgs e)
{
this.Close();
}
private void FormShowUserControl_Shown(object sender, EventArgs e) private void FormShowUserControl_Shown(object sender, EventArgs e)
{ {
this.ClientSize = new Size(uc.Width, uc.Height); this.ClientSize = new Size(uc.Width, uc.Height);

View File

@ -341,12 +341,14 @@ namespace Deckungsbeitrag.AA_Klassen
Priority = (Priority)SafeInt(reader, "priority"), Priority = (Priority)SafeInt(reader, "priority"),
Gedruckt = SafeDateTime(reader, "gedruckt"), Gedruckt = SafeDateTime(reader, "gedruckt"),
AufgabeBezeichnung = SafeString(reader, "aufgabe_bez"), AufgabeBezeichnung = SafeString(reader, "aufgabe_bez"),
AufgabeBeschreibung = SafeString(reader, "aufgabe_besch"),
KundeName = SafeString(reader, "suchtext"), KundeName = SafeString(reader, "suchtext"),
KundeAnmerkung = SafeString(reader, "anmerkung"),
Tour = SafeString(reader, "tour"), Tour = SafeString(reader, "tour"),
FrotteeStatus = SafeInt(reader, "frottee_status"), FrotteeStatus = SafeInt(reader, "frottee_status"),
KleinteileStatus = SafeInt(reader, "kleinteile_status"), KleinteileStatus = SafeInt(reader, "kleinteile_status"),
GrossteileStatus = SafeInt(reader, "grossteile_status"), GrossteileStatus = SafeInt(reader, "grossteile_status"),
SpannleintuchStatus = SafeInt(reader, "spannleintuch_status") SpannleintuchStatus = SafeInt(reader, "spannleintuch_status"),
}); });
} }
} }
@ -391,6 +393,8 @@ namespace Deckungsbeitrag.AA_Klassen
[OLVColumn("Aufgabe", DisplayIndex = 55, IsEditable = false)]public string AufgabeBezeichnung { get; set; } [OLVColumn("Aufgabe", DisplayIndex = 55, IsEditable = false)]public string AufgabeBezeichnung { get; set; }
[OLVColumn("Kunde", DisplayIndex = 0, IsEditable = false)]public string KundeName { get; set; } [OLVColumn("Kunde", DisplayIndex = 0, IsEditable = false)]public string KundeName { get; set; }
[OLVColumn("Tour", DisplayIndex = 70, IsEditable = false)]public string Tour { get; set; } [OLVColumn("Tour", DisplayIndex = 70, IsEditable = false)]public string Tour { get; set; }
[OLVIgnore]public string AufgabeBeschreibung { get; set; }
[OLVIgnore]public string KundeAnmerkung { get; set; }
// **3 Status-Spalten statt 12 Flags** // **3 Status-Spalten statt 12 Flags**
[OLVIgnore]public int FrotteeStatus { get; set; } [OLVIgnore]public int FrotteeStatus { get; set; }
@ -445,7 +449,7 @@ namespace Deckungsbeitrag.AA_Klassen
if (Status == AuftragStatus.Vorbereitet) if (Status == AuftragStatus.Vorbereitet)
return "✅"; return "✅";
if (FrotteeStatus < 2) if (FrotteeStatus < 2 && FrotteeStatus > 0)
return "✅"; return "✅";
// Gedruckt → Datum oder leer // Gedruckt → Datum oder leer

View File

@ -1,6 +1,7 @@
using AForge.Video.DirectShow; using AForge.Video.DirectShow;
using BrightIdeasSoftware; using BrightIdeasSoftware;
using DatenDB; using DatenDB;
using Deckungsbeitrag.AA_Forms;
using Deckungsbeitrag.AA_Klassen; using Deckungsbeitrag.AA_Klassen;
using Deckungsbeitrag.Properties; using Deckungsbeitrag.Properties;
using Deckungsbeitrag.UserControls; using Deckungsbeitrag.UserControls;
@ -55,6 +56,8 @@ namespace Deckungsbeitrag
private static readonly UserSettingsManager _settings = new UserSettingsManager(); private static readonly UserSettingsManager _settings = new UserSettingsManager();
private static List<TrelloCard> _cards; private static List<TrelloCard> _cards;
private static QwertzKeyboard keyboard; private static QwertzKeyboard keyboard;
private static bool seitenwechsel = false;
public Funktionen() public Funktionen()
@ -106,7 +109,7 @@ namespace Deckungsbeitrag
TextBox tb = sender as TextBox; TextBox tb = sender as TextBox;
// Kontrolle ob das Gerät Touch hat. Falls analoge Tastatur verwendet wird, wird durch den PrimaryScreen unterschieden. // Kontrolle ob das Gerät Touch hat. Falls analoge Tastatur verwendet wird, wird durch den PrimaryScreen unterschieden.
if (Program.istTouch && Screen.PrimaryScreen.WorkingArea.Width > 0 && Screen.PrimaryScreen.WorkingArea.Width < 2000) if (Program.istTouch) // && Screen.PrimaryScreen.WorkingArea.Width > 0 && Screen.PrimaryScreen.WorkingArea.Width < 2000)
{ {
if (keyboard == null || keyboard.IsDisposed) if (keyboard == null || keyboard.IsDisposed)
{ {
@ -126,7 +129,6 @@ namespace Deckungsbeitrag
public static HeaderFormatStyle GetHeader() public static HeaderFormatStyle GetHeader()
{ {
HeaderFormatStyle headerFormat = new HeaderFormatStyle(); HeaderFormatStyle headerFormat = new HeaderFormatStyle();
@ -1033,7 +1035,6 @@ namespace Deckungsbeitrag
int gesCont = 0; int gesCont = 0;
int kndanzahl = 0; int kndanzahl = 0;
int kndnichtfertig = 0; int kndnichtfertig = 0;
bool seitenwechsel = false;
foreach (Auftrag auftrag in auftragliste) foreach (Auftrag auftrag in auftragliste)
{ {
Kunde knd = Kunde.GetKunde(string.Empty, auftrag.KundeID, string.Empty); Kunde knd = Kunde.GetKunde(string.Empty, auftrag.KundeID, string.Empty);
@ -1184,7 +1185,7 @@ namespace Deckungsbeitrag
public static Image SonderEtikett_Entwurf(int KundeID, object dictionary, Auftrag auftrag) public static Image SonderEtikett_Entwurf(int KundeID, object dictionary, Auftrag auftrag)
{ {
Kunde kunde = Kunde.GetKunde(string.Empty, KundeID, string.Empty); Kunde kunde = Kunde.GetKunde(string.Empty, KundeID, string.Empty);
string auftragTyp = auftrag == null ? "Reklamation" : auftrag.Typ.ToString();
Bitmap bitmap = new Bitmap(300, 1200); Bitmap bitmap = new Bitmap(300, 1200);
Graphics g = Graphics.FromImage(bitmap); Graphics g = Graphics.FromImage(bitmap);
Font font0 = new Font("Arial", 10, FontStyle.Regular); Font font0 = new Font("Arial", 10, FontStyle.Regular);
@ -1199,13 +1200,22 @@ namespace Deckungsbeitrag
SizeF size_container = g.MeasureString($"Container/Pakete:", font3); SizeF size_container = g.MeasureString($"Container/Pakete:", font3);
SizeF size_Liefertag = new SizeF(g.MeasureString("Liefertag:", font3)); SizeF size_Liefertag = new SizeF(g.MeasureString("Liefertag:", font3));
float width_date_font1 = g.MeasureString("25.05.2023", font1).Width; float width_date_font1 = g.MeasureString("25.05.2023", font1).Width;
int nextposition = 40; int nextposition = 0;
int einzug = 20; int einzug = 20;
Point startpoint = new Point(20, 40); Point startpoint = new Point(20, 0);
int artikelHeight = startpoint.Y + (int)height_font3 + ((int)height_font2 * 2) + 10;
int bitmapHeight = 0;
if (dictionary is Dictionary<int, int> dic) bitmapHeight = artikelHeight * dic.Count();
else if (dictionary is Dictionary<int, int[]> dict) bitmapHeight = artikelHeight * dict.Count();
int totalHeight = 950 * Math.Max(1, (int)Math.Ceiling((double)bitmapHeight / 950));
bitmap = new Bitmap(320, totalHeight);
g = Graphics.FromImage(bitmap);
g.FillRectangle(Brushes.White, 0, 0, bitmap.Width, bitmap.Height); g.FillRectangle(Brushes.White, 0, 0, bitmap.Width, bitmap.Height);
//Etikett-Text //Etikett-Text
g.DrawString($"{auftrag.Typ.ToString()}", font2, Brushes.Black, startpoint); g.DrawString($"{auftragTyp}", font2, Brushes.Black, startpoint);
nextposition += (int)height_font2; nextposition += (int)height_font2;
g.DrawString($"{kunde.KundeNummer}", font2, Brushes.Black, einzug, nextposition); g.DrawString($"{kunde.KundeNummer}", font2, Brushes.Black, einzug, nextposition);
nextposition += (int)height_font2; nextposition += (int)height_font2;
@ -1230,6 +1240,18 @@ namespace Deckungsbeitrag
int reklAnzahl = kvp.Value; // z.B. [3, 0, 5] int reklAnzahl = kvp.Value; // z.B. [3, 0, 5]
string shortName = _artikel.Short; string shortName = _artikel.Short;
float bestandWidth = g.MeasureString($"{reklAnzahl}", font2).Width; float bestandWidth = g.MeasureString($"{reklAnzahl}", font2).Width;
if (nextposition > 1800 && seitenwechsel)
{
nextposition += 140;
seitenwechsel = false;
}
else if (nextposition > 900 && nextposition < 1000 && !seitenwechsel)
{
nextposition += 140;
seitenwechsel = true;
}
g.DrawString($"{_artikel.Nummer}", font3, Brushes.Black, einzug, nextposition); g.DrawString($"{_artikel.Nummer}", font3, Brushes.Black, einzug, nextposition);
nextposition += (int)height_font3; nextposition += (int)height_font3;
g.DrawString($"{shortName}", font2, Brushes.Black, einzug, nextposition); g.DrawString($"{shortName}", font2, Brushes.Black, einzug, nextposition);
@ -1276,6 +1298,7 @@ namespace Deckungsbeitrag
_auftrag = auftrag; _auftrag = auftrag;
KundeID = kundeID; KundeID = kundeID;
//int x = auftrag.ContainerClean; //int x = auftrag.ContainerClean;
currentPage = 0; // WICHTIG: reset vor jedem Druck
PrintDialog dialog = new PrintDialog(); PrintDialog dialog = new PrintDialog();
PrintPreviewDialog preview = new PrintPreviewDialog(); PrintPreviewDialog preview = new PrintPreviewDialog();
@ -1337,8 +1360,41 @@ namespace Deckungsbeitrag
if (sender.ToString().Contains("Etikett")) e.Graphics.DrawImage(Etikett_Entwurf(null, _auftrag, _nocont), e.PageBounds); if (sender.ToString().Contains("Etikett")) e.Graphics.DrawImage(Etikett_Entwurf(null, _auftrag, _nocont), e.PageBounds);
if (sender.ToString().Contains("Sonder")) if (sender.ToString().Contains("Sonder"))
{ {
if (!inPreview) printed = true; //if (!inPreview) printed = true;
e.Graphics.DrawImage(SonderEtikett_Entwurf(KundeID, _dictionary, _auftrag), e.PageBounds); if (pagesToPrint == currentPage) currentPage = 0;
int bottom = e.MarginBounds.Bottom - e.MarginBounds.Size.Height;
Image img = SonderEtikett_Entwurf(KundeID, _dictionary, _auftrag);
if (img == null) return;
pagesToPrint = Math.Max(1, (int)Math.Ceiling((double)img.Height / 950));
//pagesToPrint = img.Height / 1119;
Rectangle printArea = e.MarginBounds;
// Feste Höhe pro Seite (Pixel der Bitmap)
int pageHeight = printArea.Height;
int startY = currentPage * pageHeight; // Offset für diese Seite
// Ausschnitt: Originalgröße, nur vertikal verschoben
Rectangle sourceRect = new Rectangle(
0, // X=0 (kein horizontaler Ausschnitt)
startY, // Y dieser Seite
img.Width, // volle Breite
pageHeight // nur diese Seitenhöhe
);
// Ziel: Vollbild ohne Skalierung
Rectangle destRect = new Rectangle(
printArea.X, printArea.Y,
img.Width, pageHeight
);
// 1:1 ohne Skalierung zeichnen
e.Graphics.DrawImage(img, destRect, sourceRect, GraphicsUnit.Pixel);
// Nächste Seite?
currentPage++;
e.HasMorePages = (startY + pageHeight) < img.Height;
} }
if (sender.ToString().Contains("TourenListe")) if (sender.ToString().Contains("TourenListe"))
{ {

View File

@ -93,13 +93,17 @@ namespace DatenDB
return result; return result;
} }
public static List<KundeArtikel> GetFehlmengeList(string kundeid, int? artikelID) public static List<KundeArtikel> GetFehlmengeList(string kundeid, int? artikelID, bool hatNachwaesche)
{ {
DatenbankConnection.GetConnection().Open(); DatenbankConnection.GetConnection().Open();
List<KundeArtikel> resultList = new List<KundeArtikel>(); List<KundeArtikel> resultList = new List<KundeArtikel>();
NpgsqlCommand command = new NpgsqlCommand(); NpgsqlCommand command = new NpgsqlCommand();
command.Connection = DatenbankConnection.GetConnection(); command.Connection = DatenbankConnection.GetConnection();
if (!string.IsNullOrWhiteSpace(kundeid)) command.CommandText = $"select {COLUMNS} from {TABLE} where kunde_id = {kundeid} and SUBSTRING(artikel_nr::text, 1, 1) = '6' or kunde_id = {kundeid} and SUBSTRING(artikel_nr::text, 1, 1) = '1' order by reihung asc"; if (!string.IsNullOrWhiteSpace(kundeid))
{
if (hatNachwaesche) command.CommandText = $"select {COLUMNS} from {TABLE} where kunde_id = {kundeid} and SUBSTRING(artikel_nr::text, 1, 1) = '6' or kunde_id = {kundeid} and SUBSTRING(artikel_nr::text, 1, 1) = '1' order by reihung asc";
else command.CommandText = $"select {COLUMNS} from {TABLE} where kunde_id = {kundeid} and SUBSTRING(artikel_nr::text, 1, 1) = '6' order by reihung asc";
}
else command.CommandText = $"select {COLUMNS} from {TABLE} where artikel_id = {artikelID} order by artikel_nr"; else command.CommandText = $"select {COLUMNS} from {TABLE} where artikel_id = {artikelID} order by artikel_nr";
NpgsqlDataReader reader = command.ExecuteReader(); NpgsqlDataReader reader = command.ExecuteReader();
while (reader.Read()) resultList.Add(new KundeArtikel(reader)); while (reader.Read()) resultList.Add(new KundeArtikel(reader));

View File

@ -0,0 +1,117 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Globalization;
using System.IO;
using System.Text.Json;
using ClosedXML.Excel;
namespace Deckungsbeitrag.AA_Klassen
{
public class TranslationService
{
private static Dictionary<string, Dictionary<string, string>> _data = new Dictionary<string, Dictionary<string, string>>();
public static string CurrentLanguage { get; set; } = "de";
public static string FallbackLanguage { get; set; } = "de";
public static IReadOnlyList<string> AvailableLanguages =>
_data.Values
.SelectMany(d => d.Keys)
.Distinct(StringComparer.OrdinalIgnoreCase)
.OrderBy(x => x)
.ToList();
public static void Load(string filePath = @"N:\TECHNIK\Software\Wirl-Verwaltung\Test\translations.json")
{
var json = File.ReadAllText(filePath);
_data = JsonSerializer.Deserialize<Dictionary<string, Dictionary<string, string>>>(json)
?? new Dictionary<string, Dictionary<string, string>>();
}
public static void SetLanguage(string languageCode)
{
//CultureInfo.CurrentUICulture = new CultureInfo(languageCode);
//CultureInfo.CurrentCulture = new CultureInfo(languageCode);
CurrentLanguage = languageCode.Substring(0,2);
}
/// <summary>
/// Verwenden um die Strings zu erhalten.
/// </summary>
/// <param name="key"></param>
/// <param name="args"></param>
/// <returns>Einen String in der gewünschten Sprache</returns>
public static string T(string key, params object[] args)
{
if (_data.TryGetValue(key, out var translations))
{
if (translations.TryGetValue(CurrentLanguage, out var text))
return Format(text, args);
if (!string.IsNullOrWhiteSpace(FallbackLanguage) &&
translations.TryGetValue(FallbackLanguage, out text))
return Format(text, args);
}
int i = key.IndexOf('.');
return $"{key.Substring(i + 1)}";
}
private static string Format(string text, object[] args)
=> args != null && args.Length > 0 ? string.Format(text, args) : text;
public static void Convert(string excelFile, string jsonFile, string sheetName = "Translation01")
{
var result = new Dictionary<string, Dictionary<string, string>>();
var workbook = new XLWorkbook(excelFile);
var ws = workbook.Worksheet(sheetName);
var usedRange = ws.RangeUsed();
if (usedRange == null)
throw new InvalidOperationException("Excel sheet is empty.");
var headerRow = usedRange.FirstRow();
var headers = headerRow.Cells().Select(c => c.GetString().Trim()).ToList();
int keyCol = headers.FindIndex(h => h.Equals("Key", StringComparison.OrdinalIgnoreCase)) + 1;
if (keyCol <= 0)
throw new InvalidOperationException("No 'Key' column found.");
for (int row = 2; row <= usedRange.RowCount(); row++)
{
var excelRow = usedRange.Row(row);
var key = excelRow.Cell(keyCol).GetString().Trim();
if (string.IsNullOrWhiteSpace(key))
continue;
var translations = new Dictionary<string, string>();
for (int col = 1; col <= headers.Count; col++)
{
if (col == keyCol)
continue;
var lang = headers[col - 1];
if (string.IsNullOrWhiteSpace(lang))
continue;
var value = excelRow.Cell(col).GetString();
if (!string.IsNullOrWhiteSpace(value))
translations[lang] = value;
}
result[key] = translations;
}
var json = JsonSerializer.Serialize(result, new JsonSerializerOptions
{
WriteIndented = true
});
File.WriteAllText(jsonFile, json, new UTF8Encoding(false));
}
}
}

View File

@ -6,7 +6,7 @@
</sectionGroup> </sectionGroup>
</configSections> </configSections>
<appSettings> <appSettings>
<add key="ConnectionString" value="user id=msfrottee01;password=5KsA4BSf4P;host=10.10.10.1;port=5432;database=Test_Wirl;Timeout=15" /> <add key="ConnectionString" value="user id=expedit;password=yZNN4xnsWM;host=10.10.10.1;port=5432;database=Wirl_DB_17012023;Timeout=15" />
<add key="SortimentPfad" value="N:\\TECHNIK\\Software\\Wirl-Verwaltung\\Listen\\Kundensortiment.txt" /> <add key="SortimentPfad" value="N:\\TECHNIK\\Software\\Wirl-Verwaltung\\Listen\\Kundensortiment.txt" />
<add key="InventurPfad" value="N:\BÜRO\KUNDEN\INVENTUREN\Verwaltung" /> <add key="InventurPfad" value="N:\BÜRO\KUNDEN\INVENTUREN\Verwaltung" />
<add key="BildPfad" value="C:\\Users\\KilianWirl\\OneDrive - gehgassi GmbH\\Wäscherei Wirl\\Programme\\Deckungsbeitrag\\Deckungsbeitrag\\Star.png" /> <add key="BildPfad" value="C:\\Users\\KilianWirl\\OneDrive - gehgassi GmbH\\Wäscherei Wirl\\Programme\\Deckungsbeitrag\\Deckungsbeitrag\\Star.png" />

View File

@ -101,6 +101,7 @@ namespace Deckungsbeitrag
} }
static class Program static class Program
{ {
public static readonly UserSettingsManager _settings = new UserSettingsManager();
private static Mutex mutex; 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();
@ -117,6 +118,14 @@ namespace Deckungsbeitrag
public static bool istTouch = TouchHelper.IsTouchDeviceReady(); public static bool istTouch = TouchHelper.IsTouchDeviceReady();
public static int scrollBar = 25; public static int scrollBar = 25;
public static string title;
public static string caption;
public static string todo;
public static string[] buttons;
/// <summary> /// <summary>
/// Der Haupteinstiegspunkt für die Anwendung. /// Der Haupteinstiegspunkt für die Anwendung.
/// </summary> /// </summary>
@ -149,18 +158,23 @@ namespace Deckungsbeitrag
//FormLaden laden = new FormLaden(); //FormLaden laden = new FormLaden();
//laden.Show(); //laden.Show();
_settings.Load();
// Laden der Translation.json
ConvertTranslationJson();
// Check, Install und Update wenn Update vorhanden. // Check, Install und Update wenn Update vorhanden.
if (CheckAndInstallUpdate()) if (CheckAndInstallUpdate())
{ {
MessageBox.Show("Update wurde erfolgreich durchgeführt.\nStarte das Programm über den Desktop neu.", "UPDATE INFO", MessageBoxButtons.OK, MessageBoxIcon.Information);
CustomMessageBox.Show("Titel.Achtung", "Text.Achtung.UpdateFertig", "ToDo.UpdateFertig", new string[] { "Ok" });
Software_Updated = true; Software_Updated = true;
Settings.Default.LastSoftwareUpdate = DateTime.Now; Settings.Default.LastSoftwareUpdate = DateTime.Now;
Cursor.Current = Cursors.Default; Cursor.Current = Cursors.Default;
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.
ImageList_Laden(); ImageList_Laden();
@ -204,6 +218,9 @@ namespace Deckungsbeitrag
if (userid.StartsWith("ms") | userid.StartsWith("ps")) if (userid.StartsWith("ms") | userid.StartsWith("ps"))
{ {
FormShowUserControl showControl = new FormShowUserControl("Sprache");
showControl.ShowDialog();
Maschine maschine = Maschine.GetMaschine(null, userid); Maschine maschine = Maschine.GetMaschine(null, userid);
if (maschine == null) if (maschine == null)
{ {
@ -284,13 +301,19 @@ namespace Deckungsbeitrag
} }
} }
private static void ConvertTranslationJson()
{
//TODO: Pfad anpassen wenn LIVE.
TranslationService.Convert(@"N:\TECHNIK\Software\Wirl-Verwaltung\Test\TranslationExcel.xlsx", @"N:\TECHNIK\Software\Wirl-Verwaltung\Test\translations.json", "Sheet1");
if (_settings.Culture == null) { _settings.Culture = "de-AT"; }
TranslationService.Load();
TranslationService.SetLanguage(_settings.Culture);
}
#region private-Funktionen #region private-Funktionen
private static void TouchAppConfig()
{
// Globale Touch-Optimierungen
// z.B. größere Buttons, Auto-Tastatur, etc.
}
private static void Open_ReadMe() private static void Open_ReadMe()
{ {
string readmePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Verwaltung_ReadMe.txt"); string readmePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Verwaltung_ReadMe.txt");
@ -614,12 +637,7 @@ namespace Deckungsbeitrag
// Prüfen ob neue Version ist größer als aktuelle Version. // Prüfen ob neue Version ist größer als aktuelle Version.
if (new Version(newVersion).CompareTo(new Version(currentVersion)) > 0) if (new Version(newVersion).CompareTo(new Version(currentVersion)) > 0)
{ {
//DialogResult result = DialogResult.Yes; DialogResult result = CustomMessageBox.Show("Titel.Achtung", "Text.Achtung.Update", "ToDo.Update", new string[] { "Ok" });
DialogResult result = MessageBox.Show(
$"Ein Update wird durchgeführt. Schließe es ab um weiter zu kommen.",
"ACHTUNG UPDATE",
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
string msiPath = Path.Combine(updatePath, $"SetupVerwaltung{newVersion}.msi"); string msiPath = Path.Combine(updatePath, $"SetupVerwaltung{newVersion}.msi");
@ -640,20 +658,6 @@ namespace Deckungsbeitrag
UseShellExecute = true UseShellExecute = true
}; };
// Prozesse und Programm schließen.
// 1. SELBST schließen (wichtig!)
//Application.Exit();
//// 2. ALLE Prozesse killen
//foreach (Process p in Process.GetProcessesByName("Deckungsbeitrag"))
// if (p.Id != Process.GetCurrentProcess().Id)
// p.Kill();
//foreach (Process p in Process.GetProcessesByName("Wirl-Verwaltung"))
// p.Kill();
//foreach (Process p in Process.GetProcessesByName("SetupVerwaltung"))
// p.Kill();
// 3. 10 Sekunden warten (Restart Manager) // 3. 10 Sekunden warten (Restart Manager)
Thread.Sleep(10000); Thread.Sleep(10000);
@ -661,7 +665,13 @@ namespace Deckungsbeitrag
{ {
proc.WaitForExit(); // Blockiert bis Installation beendet proc.WaitForExit(); // Blockiert bis Installation beendet
} }
//Process.Start(psi)?.Dispose();
string csvPath = Path.Combine(updatePath, "Install_Historie.txt");
if (File.Exists(csvPath))
{
File.AppendAllText(csvPath, $"\n{DateTime.Now} {userid} hat Version: {newVersion} erfolgreich installiert.\n", Encoding.UTF8);
}
return true; return true;
} }
catch (Exception ex) catch (Exception ex)

View File

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// //
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, // 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.7.1")] [assembly: AssemblyVersion("1.1.8.8")]
[assembly: AssemblyFileVersion("1.1.7.1")] [assembly: AssemblyFileVersion("1.1.8.8")]

File diff suppressed because it is too large Load Diff

160
UserControls/UCSprache.Designer.cs generated Normal file
View File

@ -0,0 +1,160 @@
namespace Deckungsbeitrag.UserControls
{
partial class UCSprache
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Vom Komponenten-Designer generierter Code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
this.groupBoxSprache = new System.Windows.Forms.GroupBox();
this.comboBoxSprachen = new System.Windows.Forms.ComboBox();
this.buttonOK = new System.Windows.Forms.Button();
this.labelText = new System.Windows.Forms.Label();
this.tLPButtons = new System.Windows.Forms.TableLayoutPanel();
this.tLPSprache = new System.Windows.Forms.TableLayoutPanel();
this.tLPButtons.SuspendLayout();
this.tLPSprache.SuspendLayout();
this.SuspendLayout();
//
// groupBoxSprache
//
this.groupBoxSprache.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBoxSprache.AutoSize = true;
this.groupBoxSprache.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.groupBoxSprache.Location = new System.Drawing.Point(3, 97);
this.groupBoxSprache.Name = "groupBoxSprache";
this.groupBoxSprache.Size = new System.Drawing.Size(556, 107);
this.groupBoxSprache.TabIndex = 37;
this.groupBoxSprache.TabStop = false;
//
// comboBoxSprachen
//
this.comboBoxSprachen.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxSprachen.Font = new System.Drawing.Font("Microsoft Sans Serif", 16.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxSprachen.FormattingEnabled = true;
this.comboBoxSprachen.Location = new System.Drawing.Point(20, 142);
this.comboBoxSprachen.Margin = new System.Windows.Forms.Padding(20);
this.comboBoxSprachen.Name = "comboBoxSprachen";
this.comboBoxSprachen.Size = new System.Drawing.Size(522, 39);
this.comboBoxSprachen.TabIndex = 47;
this.comboBoxSprachen.SelectedIndexChanged += new System.EventHandler(this.ComboBoxSprachen_SelectedIndexChanged);
//
// buttonOK
//
this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
this.buttonOK.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.buttonOK.FlatAppearance.BorderSize = 0;
this.buttonOK.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonOK.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonOK.ForeColor = System.Drawing.Color.White;
this.buttonOK.Location = new System.Drawing.Point(178, 5);
this.buttonOK.Margin = new System.Windows.Forms.Padding(5);
this.buttonOK.Name = "buttonOK";
this.buttonOK.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.buttonOK.Size = new System.Drawing.Size(200, 50);
this.buttonOK.TabIndex = 38;
this.buttonOK.Text = "OK";
this.buttonOK.UseVisualStyleBackColor = false;
this.buttonOK.Click += new System.EventHandler(this.ButtonOK_Click);
//
// labelText
//
this.labelText.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelText.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelText.ForeColor = System.Drawing.Color.White;
this.labelText.Location = new System.Drawing.Point(3, 3);
this.labelText.Margin = new System.Windows.Forms.Padding(3);
this.labelText.Name = "labelText";
this.labelText.Size = new System.Drawing.Size(556, 116);
this.labelText.TabIndex = 39;
//
// tLPButtons
//
this.tLPButtons.AutoSize = true;
this.tLPButtons.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.tLPButtons.ColumnCount = 3;
this.tLPButtons.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tLPButtons.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tLPButtons.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tLPButtons.Controls.Add(this.buttonOK, 1, 0);
this.tLPButtons.Dock = System.Windows.Forms.DockStyle.Fill;
this.tLPButtons.Location = new System.Drawing.Point(3, 204);
this.tLPButtons.Name = "tLPButtons";
this.tLPButtons.RowCount = 1;
this.tLPButtons.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tLPButtons.Size = new System.Drawing.Size(556, 60);
this.tLPButtons.TabIndex = 40;
//
// tLPSprache
//
this.tLPSprache.AutoSize = true;
this.tLPSprache.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.tLPSprache.ColumnCount = 1;
this.tLPSprache.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tLPSprache.Controls.Add(this.comboBoxSprachen, 0, 1);
this.tLPSprache.Controls.Add(this.tLPButtons, 0, 2);
this.tLPSprache.Controls.Add(this.labelText, 0, 0);
this.tLPSprache.Dock = System.Windows.Forms.DockStyle.Fill;
this.tLPSprache.Location = new System.Drawing.Point(0, 0);
this.tLPSprache.Name = "tLPSprache";
this.tLPSprache.RowCount = 3;
this.tLPSprache.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tLPSprache.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tLPSprache.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tLPSprache.Size = new System.Drawing.Size(562, 267);
this.tLPSprache.TabIndex = 41;
//
// UCSprache
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AutoSize = true;
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.Controls.Add(this.tLPSprache);
this.Controls.Add(this.groupBoxSprache);
this.Name = "UCSprache";
this.Size = new System.Drawing.Size(562, 267);
this.Load += new System.EventHandler(this.UCSprache_Load);
this.tLPButtons.ResumeLayout(false);
this.tLPSprache.ResumeLayout(false);
this.tLPSprache.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.GroupBox groupBoxSprache;
private System.Windows.Forms.ComboBox comboBoxSprachen;
private System.Windows.Forms.Button buttonOK;
private System.Windows.Forms.Label labelText;
private System.Windows.Forms.TableLayoutPanel tLPButtons;
private System.Windows.Forms.TableLayoutPanel tLPSprache;
}
}

68
UserControls/UCSprache.cs Normal file
View File

@ -0,0 +1,68 @@
using Deckungsbeitrag.AA_Forms;
using Deckungsbeitrag.AA_Klassen;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Deckungsbeitrag.UserControls
{
public partial class UCSprache : UserControl
{
private List<string> GbText = new List<string>();
public event EventHandler CloseFormFromUC;
public UCSprache()
{
InitializeComponent();
}
private void UCSprache_Load(object sender, EventArgs e)
{
this.comboBoxSprachen.SelectedIndexChanged -= ComboBoxSprachen_SelectedIndexChanged;
LoadCultures();
this.comboBoxSprachen.SelectedIndexChanged += ComboBoxSprachen_SelectedIndexChanged;
foreach (string s in GbText) { this.labelText.Text += s + " / "; }
}
private void LoadCultures()
{
var cultures = new[]
{
new { Code = "de-DE", Name = "Deutsch" },
new { Code = "en-US", Name = "English (United States) -> Englisch" },
new { Code = "bs-BA", Name = "Bosanski (Bosna) -> Bosnisch" },
new { Code = "bg-BG", Name = "български (България) -> Bulgarisch" },
new { Code = "tr-TR", Name = "Türkçe (Türkiye) -> Türkisch" }
};
foreach (var c in cultures)
{
TranslationService.CurrentLanguage = c.Code.Substring(0, 2);
GbText.Add(TranslationService.T("SpracheWaehlen"));
}
comboBoxSprachen.DataSource = cultures;
comboBoxSprachen.DisplayMember = "Name";
comboBoxSprachen.ValueMember = "Code";
this.comboBoxSprachen.SelectedValue = Program._settings.Culture;
}
private void ComboBoxSprachen_SelectedIndexChanged(object sender, EventArgs e)
{
TranslationService.SetLanguage(this.comboBoxSprachen.SelectedValue.ToString());
}
private void ButtonOK_Click(object sender, EventArgs e)
{
Program._settings.Culture = this.comboBoxSprachen.SelectedValue.ToString();
Program._settings.Save();
CloseFormFromUC?.Invoke(this, EventArgs.Empty);
}
}
}

120
UserControls/UCSprache.resx Normal file
View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Drawing; using System.Drawing;
using System.Globalization;
using System.IO; using System.IO;
using System.Text.Json; using System.Text.Json;
@ -31,6 +32,7 @@ public class UserSettingsManager
public Byte[] OLV_Vorbereitet_State { get; set; } public Byte[] OLV_Vorbereitet_State { get; set; }
public Byte[] OLV_Sonder_State { get; set; } public Byte[] OLV_Sonder_State { get; set; }
public Byte[] OLV_Geschaeft_State { get; set; } public Byte[] OLV_Geschaeft_State { get; set; }
public string Culture { get; set; }
@ -84,6 +86,8 @@ public class UserSettingsManager
OLV_Rampe_State = loadedSettings.OLV_Rampe_State; OLV_Rampe_State = loadedSettings.OLV_Rampe_State;
OLV_Sonder_State = loadedSettings.OLV_Sonder_State; OLV_Sonder_State = loadedSettings.OLV_Sonder_State;
OLV_Vorbereitet_State = loadedSettings.OLV_Vorbereitet_State; OLV_Vorbereitet_State = loadedSettings.OLV_Vorbereitet_State;
Culture = loadedSettings.Culture;
// Weitere Properties hier zuweisen // Weitere Properties hier zuweisen
//TODO: Weitere Properties von oben hier zuweisen //TODO: Weitere Properties von oben hier zuweisen
} }

View File

@ -66,6 +66,21 @@
<Reference Include="AForge.Video.DirectShow, Version=2.2.5.0, Culture=neutral, PublicKeyToken=61ea4348d43881b7, processorArchitecture=MSIL"> <Reference Include="AForge.Video.DirectShow, Version=2.2.5.0, Culture=neutral, PublicKeyToken=61ea4348d43881b7, processorArchitecture=MSIL">
<HintPath>packages\AForge.Video.DirectShow.2.2.5\lib\AForge.Video.DirectShow.dll</HintPath> <HintPath>packages\AForge.Video.DirectShow.2.2.5\lib\AForge.Video.DirectShow.dll</HintPath>
</Reference> </Reference>
<Reference Include="ClosedXML, Version=0.105.0.0, Culture=neutral, PublicKeyToken=fd1eb21b62ae805b, processorArchitecture=MSIL">
<HintPath>packages\ClosedXML.0.105.0\lib\netstandard2.0\ClosedXML.dll</HintPath>
</Reference>
<Reference Include="ClosedXML.Parser, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1d5f7376574c51ec, processorArchitecture=MSIL">
<HintPath>packages\ClosedXML.Parser.2.0.0\lib\netstandard2.0\ClosedXML.Parser.dll</HintPath>
</Reference>
<Reference Include="DocumentFormat.OpenXml, Version=3.1.1.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
<HintPath>packages\DocumentFormat.OpenXml.3.1.1\lib\net46\DocumentFormat.OpenXml.dll</HintPath>
</Reference>
<Reference Include="DocumentFormat.OpenXml.Framework, Version=3.1.1.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
<HintPath>packages\DocumentFormat.OpenXml.Framework.3.1.1\lib\net46\DocumentFormat.OpenXml.Framework.dll</HintPath>
</Reference>
<Reference Include="ExcelNumberFormat, Version=1.1.0.0, Culture=neutral, PublicKeyToken=23c6f5d73be07eca, processorArchitecture=MSIL">
<HintPath>packages\ExcelNumberFormat.1.1.0\lib\net20\ExcelNumberFormat.dll</HintPath>
</Reference>
<Reference Include="HarfBuzzSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL"> <Reference Include="HarfBuzzSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
<HintPath>packages\HarfBuzzSharp.8.3.0.1\lib\net462\HarfBuzzSharp.dll</HintPath> <HintPath>packages\HarfBuzzSharp.8.3.0.1\lib\net462\HarfBuzzSharp.dll</HintPath>
</Reference> </Reference>
@ -86,6 +101,12 @@
<HintPath>packages\ObjectListView.Updated.2.9.3\lib\net40\ObjectListView.dll</HintPath> <HintPath>packages\ObjectListView.Updated.2.9.3\lib\net40\ObjectListView.dll</HintPath>
</Reference> </Reference>
<Reference Include="PresentationCore" /> <Reference Include="PresentationCore" />
<Reference Include="RBush, Version=4.0.0.0, Culture=neutral, PublicKeyToken=c77e27b81f4d0187, processorArchitecture=MSIL">
<HintPath>packages\RBush.Signed.4.0.0\lib\net47\RBush.dll</HintPath>
</Reference>
<Reference Include="SixLabors.Fonts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d998eea7b14cab13, processorArchitecture=MSIL">
<HintPath>packages\SixLabors.Fonts.1.0.0\lib\netstandard2.0\SixLabors.Fonts.dll</HintPath>
</Reference>
<Reference Include="Spire.Barcode, Version=7.4.1.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL"> <Reference Include="Spire.Barcode, Version=7.4.1.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL">
<HintPath>packages\Spire.Barcode.7.4.1\lib\net48\Spire.Barcode.dll</HintPath> <HintPath>packages\Spire.Barcode.7.4.1\lib\net48\Spire.Barcode.dll</HintPath>
</Reference> </Reference>
@ -163,6 +184,12 @@
<Compile Include="AA-Forms\CustomInputBox.Designer.cs"> <Compile Include="AA-Forms\CustomInputBox.Designer.cs">
<DependentUpon>CustomInputBox.cs</DependentUpon> <DependentUpon>CustomInputBox.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="AA-Forms\CustomMessageBox.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="AA-Forms\CustomMessageBox.Designer.cs">
<DependentUpon>CustomMessageBox.cs</DependentUpon>
</Compile>
<Compile Include="AA-Forms\FehlmengeChart.cs"> <Compile Include="AA-Forms\FehlmengeChart.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@ -368,6 +395,7 @@
<Compile Include="AA-Klassen\ListViewColumnSorter.cs" /> <Compile Include="AA-Klassen\ListViewColumnSorter.cs" />
<Compile Include="AA-Klassen\OLVBewertung.cs" /> <Compile Include="AA-Klassen\OLVBewertung.cs" />
<Compile Include="AA-Klassen\OLVKundenumsatz.cs" /> <Compile Include="AA-Klassen\OLVKundenumsatz.cs" />
<Compile Include="AA-Klassen\TranslationService.cs" />
<Compile Include="AA-Klassen\Saison.cs" /> <Compile Include="AA-Klassen\Saison.cs" />
<Compile Include="AA-Klassen\TouchScroll.cs" /> <Compile Include="AA-Klassen\TouchScroll.cs" />
<Compile Include="AA-Klassen\Tour.cs" /> <Compile Include="AA-Klassen\Tour.cs" />
@ -440,6 +468,12 @@
<Compile Include="UserControls\UCFach.Designer.cs"> <Compile Include="UserControls\UCFach.Designer.cs">
<DependentUpon>UCFach.cs</DependentUpon> <DependentUpon>UCFach.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="UserControls\UCSprache.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="UserControls\UCSprache.Designer.cs">
<DependentUpon>UCSprache.cs</DependentUpon>
</Compile>
<Compile Include="UserControls\UCStatistik.cs"> <Compile Include="UserControls\UCStatistik.cs">
<SubType>UserControl</SubType> <SubType>UserControl</SubType>
</Compile> </Compile>
@ -462,6 +496,9 @@
<EmbeddedResource Include="AA-Forms\CustomInputBox.resx"> <EmbeddedResource Include="AA-Forms\CustomInputBox.resx">
<DependentUpon>CustomInputBox.cs</DependentUpon> <DependentUpon>CustomInputBox.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="AA-Forms\CustomMessageBox.resx">
<DependentUpon>CustomMessageBox.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="AA-Forms\FehlmengeChart.resx"> <EmbeddedResource Include="AA-Forms\FehlmengeChart.resx">
<DependentUpon>FehlmengeChart.cs</DependentUpon> <DependentUpon>FehlmengeChart.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
@ -584,6 +621,9 @@
<EmbeddedResource Include="UserControls\UCFach.resx"> <EmbeddedResource Include="UserControls\UCFach.resx">
<DependentUpon>UCFach.cs</DependentUpon> <DependentUpon>UCFach.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="UserControls\UCSprache.resx">
<DependentUpon>UCSprache.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UserControls\UCStatistik.resx"> <EmbeddedResource Include="UserControls\UCStatistik.resx">
<DependentUpon>UCStatistik.cs</DependentUpon> <DependentUpon>UCStatistik.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>

View File

@ -1,11 +1,11 @@
===================================== =====================================
NEUIGKEITEN - Version 1.1.7.1 NEUIGKEITEN - Version 1.1.8.8
===================================== =====================================
Build-Info: Build-Info:
- Build-Typ: Release Build - Build-Typ: Release Build
- Erledigte TODOs: 10 - Erledigte TODOs: 10
- Offene TODOs: 26 - Offene TODOs: 28
- Install-Reminders: 0 - Install-Reminders: 0
- Changes: 33 - Changes: 33
@ -73,5 +73,5 @@ Build-Info:
Keine Install-Reminder vorhanden ✅ Keine Install-Reminder vorhanden ✅
Installation: 23.06.2026 14:01 Installation: 02.07.2026 13:56
===================================== =====================================

View File

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Buildnummer // Buildnummer
// Revision // Revision
// //
[assembly: AssemblyVersion("1.0.2.5")] [assembly: AssemblyVersion("1.0.2.7")]
[assembly: AssemblyFileVersion("1.0.2.5")] [assembly: AssemblyFileVersion("1.0.2.7")]

View File

@ -220,6 +220,8 @@ namespace VirtualKeyboard
Button btn = sender as Button; Button btn = sender as Button;
char ch = (char)btn.Tag; char ch = (char)btn.Tag;
if (!string.IsNullOrWhiteSpace(targetTextBox.SelectedText)) targetTextBox.Clear();
switch (btn.Text) switch (btn.Text)
{ {
case var t when t == "Shift": Shift_Click(btn, null); case var t when t == "Shift": Shift_Click(btn, null);

View File

@ -3,6 +3,11 @@
<package id="AForge" version="2.2.5" targetFramework="net48" /> <package id="AForge" version="2.2.5" targetFramework="net48" />
<package id="AForge.Video" version="2.2.5" targetFramework="net48" /> <package id="AForge.Video" version="2.2.5" targetFramework="net48" />
<package id="AForge.Video.DirectShow" version="2.2.5" targetFramework="net48" /> <package id="AForge.Video.DirectShow" version="2.2.5" targetFramework="net48" />
<package id="ClosedXML" version="0.105.0" targetFramework="net48" />
<package id="ClosedXML.Parser" version="2.0.0" targetFramework="net48" />
<package id="DocumentFormat.OpenXml" version="3.1.1" targetFramework="net48" />
<package id="DocumentFormat.OpenXml.Framework" version="3.1.1" targetFramework="net48" />
<package id="ExcelNumberFormat" version="1.1.0" targetFramework="net48" />
<package id="HarfBuzzSharp" version="8.3.0.1" targetFramework="net48" /> <package id="HarfBuzzSharp" version="8.3.0.1" targetFramework="net48" />
<package id="HarfBuzzSharp.NativeAssets.macOS" version="8.3.1.3-preview.1" targetFramework="net48" /> <package id="HarfBuzzSharp.NativeAssets.macOS" version="8.3.1.3-preview.1" targetFramework="net48" />
<package id="HarfBuzzSharp.NativeAssets.Win32" version="8.3.0.1" targetFramework="net48" /> <package id="HarfBuzzSharp.NativeAssets.Win32" version="8.3.0.1" targetFramework="net48" />
@ -11,6 +16,8 @@
<package id="Microsoft.Extensions.Logging.Abstractions" version="6.0.0" targetFramework="net48" /> <package id="Microsoft.Extensions.Logging.Abstractions" version="6.0.0" targetFramework="net48" />
<package id="Npgsql" version="4.1.14" targetFramework="net48" /> <package id="Npgsql" version="4.1.14" targetFramework="net48" />
<package id="ObjectListView.Updated" version="2.9.3" targetFramework="net48" /> <package id="ObjectListView.Updated" version="2.9.3" targetFramework="net48" />
<package id="RBush.Signed" version="4.0.0" targetFramework="net48" />
<package id="SixLabors.Fonts" version="1.0.0" targetFramework="net48" />
<package id="Spire.Barcode" version="7.4.1" targetFramework="net48" /> <package id="Spire.Barcode" version="7.4.1" targetFramework="net48" />
<package id="System.Buffers" version="4.6.1" targetFramework="net48" /> <package id="System.Buffers" version="4.6.1" targetFramework="net48" />
<package id="System.Collections.Immutable" version="9.0.0" targetFramework="net48" /> <package id="System.Collections.Immutable" version="9.0.0" targetFramework="net48" />