Programm_Wirl/Program.cs
2025-11-30 11:44:05 +01:00

77 lines
2.3 KiB
C#

using DatenDB;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Management;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Deckungsbeitrag
{
static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
string userid = ConfigurationManager.AppSettings["ConnectionString"].Split(';')[0];
userid = userid.Split('=')[1];
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Screen[] screens = Screen.AllScreens;
//TODO: Wenn mit Anmeldung dann if-Clause entfernen und Switch alleine verwenden.
if (userid.StartsWith("ms") | userid.StartsWith("ps"))
{
Application.Run(new FormFehlmengeCount(userid));
}
else
{
FormLogin loginForm = new FormLogin();
if (loginForm.ShowDialog() == DialogResult.OK)
{
// Switch on BenutzerRolle für Weiterleitung zum richtigen Screen
switch (loginForm.Person.Rolle)
{
case BenutzerRolle.Verwaltung:
Application.Run(new FormMain(loginForm.Person));
break;
case BenutzerRolle.Fahrer:
Application.Run(new FormMain(loginForm.Person));
break;
case BenutzerRolle.Admin:
Application.Run(new FormMain(loginForm.Person));
break;
case BenutzerRolle.Waschstrasse:
Application.Run(new FormNeuerAuftrag(loginForm.Person));
break;
case BenutzerRolle.Master:
Application.Run(new FormMain(loginForm.Person));
break;
case BenutzerRolle.Expedit:
Application.Run(new FormExpedit(loginForm.Person, screens));
break;
case BenutzerRolle.Frottee:
//TODO: Wenn alles ohne Anmeldung dann entfernen.
Application.Run(new FormFehlmengeCount(loginForm.Person));
break;
case BenutzerRolle.Flach:
//TODO: Wenn alles ohne Anmeldung dann entfernen.
Application.Run(new FormFehlmengeCount(loginForm.Person));
break;
default:
break;
}
}
}
}
}
}