Programm_Wirl/AA-Forms/FormShowUserControl.cs

150 lines
3.8 KiB
C#

using DatenDB;
using Deckungsbeitrag.AA_Klassen;
using Deckungsbeitrag.UserControls;
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.AA_Forms
{
public partial class FormShowUserControl : Form
{
private Benutzer benutzer;
private Auftrag auftrag;
private UserControl uc;
private UCSprache ucs;
public List<Auftrag> auftragliste;
private string gb;
private bool toclose = false;
public (DateTime datum, string text, string[] touren) lieferDaten;
private Screen screen = Screen.PrimaryScreen;
public Tour tour;
public bool _toclose
{
get { return toclose; }
set
{
if (toclose != value)
{
toclose = value;
if (toclose == true)
{
this.Close();
}
}
}
}
public FormShowUserControl()
{
InitializeComponent();
}
public FormShowUserControl(string usercontrol) : this()
{
this.gb = usercontrol;
this.Text = gb;
}
public FormShowUserControl(string groupBox, Benutzer user) : this()
{
this.gb = groupBox;
this.benutzer = user;
this.Text = gb;
}
public FormShowUserControl(string groupBox, Benutzer user, Auftrag _auftrag) : this(groupBox, user)
{
this.auftrag = _auftrag;
this.Text += " ID: " + this.auftrag.AuftragID.ToString();
}
public FormShowUserControl(string groupBox, Benutzer user, Kunde kunde) : this(groupBox, user)
{
if (kunde != null)
{
this.Text = string.IsNullOrWhiteSpace(kunde.Suchtext) ? kunde.KundeName : kunde.Suchtext;
this.Text += " " + kunde.Ort;
}
else
{
this.Text = "HEUTIGE TOUR WÄHLEN";
}
}
private void FormShowUserControl_Load(object sender, EventArgs e)
{
switch (this.gb)
{
case var t when t == "Auftrag Suchen":
{
uc = new UCAuftragSuchen(this.benutzer, this);
this.Controls.Add(uc);
}
break;
case var t when t == "Statistik":
{
uc = new UCStatistik();
this.Controls.Add(uc);
}
break;
case var t when t == "Auftragliste":
{
uc = new UCAuftragListe(this.benutzer, this.auftragliste);
this.Controls.Add(uc);
}
break;
case var t when t == "Tourenplan":
{
uc = new UCTourenplan(this.benutzer);
this.Controls.Add(uc);
}
break;
case var t when t == "AuftragInfo":
{
uc = new UCAuftragInfo(this.auftrag);
this.Controls.Add(uc);
}
break;
case var t when t == "Sprache":
{
ucs = new UCSprache();
ucs.CloseFormFromUC += CLoseFormFromUC;
uc = ucs;
this.Controls.Add(uc);
ControlBox = false;
}
break;
default:
break;
}
}
private void CLoseFormFromUC(object sender, EventArgs e)
{
this.Close();
}
private void FormShowUserControl_Shown(object sender, EventArgs e)
{
this.ClientSize = new Size(uc.Width, uc.Height);
this.CenterToScreen();
this.Location = new Point((screen.WorkingArea.Width - this.Width) / 2, (screen.WorkingArea.Height - this.Height) / 2);
}
private void FormShowUserControl_FormClosing(object sender, FormClosingEventArgs e)
{
var form = sender as Form;
if (form.ActiveControl.Name == "UCTourenplan" & form.DialogResult == DialogResult.OK)
{
UCTourenplan uc = (UCTourenplan)form.Controls[0];
lieferDaten = uc.lieferDaten;
}
}
}
}