474 lines
18 KiB
VB.net
474 lines
18 KiB
VB.net
Imports System.IO
|
|
Imports System.Windows.Forms
|
|
Imports VERAG_PROG_ALLGEMEIN
|
|
|
|
Imports System.Reflection
|
|
Imports System.DirectoryServices
|
|
|
|
Public Class frmLogin
|
|
|
|
Public AnmeldungOK As Boolean = False
|
|
' Public USRBER As String
|
|
'Public USRNAME As String
|
|
' Public USRID As String
|
|
Private ADMIN As New cADMIN
|
|
Public firma As String = "VERAG"
|
|
|
|
|
|
Public Sub New()
|
|
InitializeComponent()
|
|
Icon = cMeineFunktionenAVISO.GetProgrammIcon
|
|
End Sub
|
|
|
|
Dim TESTSYSTEM As Boolean = False
|
|
|
|
Private Sub frmLogin_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
|
|
If e.Modifiers = Keys.Control And e.KeyCode = Keys.T Then
|
|
TESTSYSTEM = Not TESTSYSTEM
|
|
initstart()
|
|
If Environment.MachineName = "YLPS023046" Then
|
|
txtSachbear.Text = "ADMIN"
|
|
txtKennwort.Text = "verag#2"
|
|
End If
|
|
End If
|
|
If e.Modifiers = Keys.Control And e.KeyCode = Keys.A Then
|
|
firma = If(firma = "VERAG", "ATILLA", If(firma = "ATILLA", "IMEX", "VERAG"))
|
|
initstart()
|
|
If Environment.MachineName = "YLPS023046" Then
|
|
txtSachbear.Text = "ADMIN"
|
|
txtKennwort.Text = "verag#2"
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Private Sub frmAnmeldung_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
|
|
lblVersion.Text = "Version " & Application.ProductVersion
|
|
lblVersion.ContextMenuStrip = ctxUpdate
|
|
If Application.ProductVersion.StartsWith("0") Then lblVersion.Text += " BETA"
|
|
|
|
Dim pfadDatei As String = Application.StartupPath & "\Standort.txt"
|
|
firma = "VERAG"
|
|
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.PROGNAME = "AVISO_NEW"
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID = 16
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.PROGVERSION = Application.ProductVersion
|
|
|
|
If File.Exists(pfadDatei) Then
|
|
Dim fs As New FileStream(pfadDatei, FileMode.Open, FileAccess.Read)
|
|
Dim strmReader As New StreamReader(fs)
|
|
firma = strmReader.ReadLine
|
|
If firma = "SBG" Then firma = "VERAG"
|
|
If firma = "WAI" Then firma = "VERAG"
|
|
If firma = "NKD" Then firma = "VERAG"
|
|
If firma = "NEU" Then firma = "VERAG"
|
|
If firma = "SUB" Then firma = "VERAG"
|
|
End If
|
|
|
|
|
|
' Me.Visible = False
|
|
' Me.Hide()
|
|
|
|
'STARTPARAMETER - DP
|
|
Dim PARAM = ""
|
|
Dim parameter() As String = Environment.GetCommandLineArgs().ToArray
|
|
If (parameter.Count - 1) >= 1 Then 'Höher als 1 weil der index 0 der Pfad zum programm ist
|
|
PARAM = parameter(1)
|
|
End If
|
|
|
|
If PARAM = "DIENSTPLAN" Then
|
|
Me.ShowInTaskbar = False
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG"
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "SUB"
|
|
Dim fdp As New SDL.frmDienstplan
|
|
AddHandler fdp.FormClosed, Sub()
|
|
Application.Exit()
|
|
End Sub
|
|
fdp.Show()
|
|
Me.Visible = False
|
|
Me.Hide()
|
|
Me.WindowState = FormWindowState.Minimized
|
|
Exit Sub
|
|
ElseIf PARAM = "FORMULARMANAGER" Then
|
|
Me.ShowInTaskbar = False
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX"
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "SUB"
|
|
Dim fdp As New SDL.frmFormulare
|
|
AddHandler fdp.FormClosed, Sub()
|
|
Application.Exit()
|
|
End Sub
|
|
fdp.Show()
|
|
Me.Visible = False
|
|
Me.Hide()
|
|
Me.WindowState = FormWindowState.Minimized
|
|
Exit Sub
|
|
End If
|
|
|
|
|
|
|
|
initstart()
|
|
|
|
|
|
|
|
Try
|
|
Using myGraphics As Graphics = Me.CreateGraphics()
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.dpi = myGraphics.DpiX
|
|
|
|
End Using
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
Sub initstart()
|
|
|
|
Select Case firma
|
|
Case "VERAG"
|
|
' cGlobal.ConnStrFMZOLL = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.FMZOLL_PRODConnectionString
|
|
' cGlobal.ConnStr = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.AVISOConnectionString
|
|
' cGlobal.ConnStrADMIN = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.ADMINConnectionString
|
|
picLogin.Image = My.Resources.Verag_AG_Logopng
|
|
' If TESTSYSTEM Then cGlobal.ConnStr = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.AVISOConnectionStringTEST
|
|
Case "ATILLA"
|
|
' cGlobal.ConnStrFMZOLL = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.FMZOLL_PRODConnectionString
|
|
' cGlobal.ConnStr = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.AVISO_ATILLAConnectionString
|
|
' cGlobal.ConnStrADMIN = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.ADMINConnectionString
|
|
picLogin.Image = My.Resources.Atilla
|
|
' If TESTSYSTEM Then cGlobal.ConnStr = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.AVISOConnectionStringTEST
|
|
Case "IMEX"
|
|
' cGlobal.ConnStrFMZOLL = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.FMZOLL_PRODConnectionString
|
|
' cGlobal.ConnStr = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.AVISO_ATILLAConnectionString
|
|
' cGlobal.ConnStrADMIN = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.ADMINConnectionString
|
|
picLogin.Image = My.Resources.IMEX_LOGO_simple
|
|
' If TESTSYSTEM Then cGlobal.ConnStr = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.AVISOConnectionStringTEST
|
|
End Select
|
|
|
|
'DEV FMZOLL
|
|
If TESTSYSTEM Then
|
|
' cGlobal.ConnStrFMZOLL = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.FMZOLLConnectionString
|
|
lblTESTSYSTEM.Visible = True
|
|
Else
|
|
lblTESTSYSTEM.Visible = False
|
|
End If
|
|
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = firma
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = TESTSYSTEM
|
|
|
|
|
|
' txtSachbear.Text = ""
|
|
'txtKennwort.Text = ""
|
|
|
|
txtSachbear.Text = SystemInformation.UserName
|
|
txtSachbear.Focus()
|
|
|
|
Try
|
|
Dim WI = System.Security.Principal.WindowsIdentity.GetCurrent().Name
|
|
If WI.Contains("\") Then
|
|
Dim Split() = WI.Split("\")
|
|
Dim UsernameTMP = ADMIN.getUstName_ByAD(Split(0), Split(1))
|
|
If UsernameTMP <> "" Then
|
|
txtSachbear.Text = UsernameTMP
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
'MsgBox(ex.Message)
|
|
End Try
|
|
|
|
|
|
End Sub
|
|
Private Sub btnOK_Click(sender As System.Object, e As System.EventArgs) Handles btnOK.Click
|
|
|
|
|
|
If firma = "ATILLA" Then
|
|
Dim büroDatei As String = "C:\VERAG\büro.txt"
|
|
If File.Exists(büroDatei) Then
|
|
Dim l = IO.File.ReadAllLines(büroDatei, System.Text.Encoding.Default)
|
|
If l.Count > 0 Then
|
|
If l(0) <> "" Then VERAG_PROG_ALLGEMEIN.cAllgemein.BÜRO = l(0)
|
|
End If
|
|
End If
|
|
|
|
Dim büroDatei2 As String = "C:\VERAG\büro"
|
|
If File.Exists(büroDatei2) Then
|
|
Dim l = IO.File.ReadAllLines(büroDatei2, System.Text.Encoding.Default)
|
|
If l.Count > 0 Then
|
|
If l(0) <> "" Then VERAG_PROG_ALLGEMEIN.cAllgemein.BÜRO = l(0)
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
|
|
''hier erfolgt die Anmelde-Prüfung
|
|
|
|
'ADMIN-Login
|
|
If txtSachbear.Text.Trim = "ADMIN" And txtKennwort.Text = My.Resources.ADMIN_pwd Then
|
|
AdminLoginOK()
|
|
Exit Sub
|
|
End If
|
|
|
|
' normaler Login
|
|
If CBool(ADMIN.checkLogin(txtSachbear.Text.Trim, txtKennwort.Text, firma)) Then
|
|
loginOK()
|
|
Else
|
|
' MsgBox("Benutzername oder Kennwort ist falsch!", MsgBoxStyle.Exclamation, "Fehler bei Anmeldung")
|
|
lblAlertTxt.Visible = True
|
|
End If
|
|
Exit Sub
|
|
|
|
'AUS
|
|
|
|
If txtSachbear.Text = "" Then
|
|
MsgBox("Bitte das Mitarbeiter-Kürzel eingeben.", MsgBoxStyle.Exclamation, "Fehler bei Anmeldung")
|
|
txtSachbear.Focus()
|
|
Exit Sub
|
|
End If
|
|
|
|
'Mitarbeiterdaten laden
|
|
'Dim myMitarbeiter As New cMitarbeiterDAL
|
|
' cGlobal.AktiverMitarbeiter = myMitarbeiter.LesenMitarbeiter(0, txtSachbear.Text.Trim)
|
|
If IsNothing(cGlobal.AktiverMitarbeiter) Then
|
|
MsgBox("Mitarbeiter unbekannt!", MsgBoxStyle.Exclamation, "Fehler bei Anmeldung")
|
|
txtSachbear.Focus()
|
|
Exit Sub
|
|
End If
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG = "" Then VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG = "???"
|
|
|
|
If txtKennwort.Text <> cGlobal.AktiverMitarbeiter.KW Then
|
|
MsgBox("Ungültiges Kennwort!", MsgBoxStyle.Exclamation, "Fehler bei Anmeldung")
|
|
txtKennwort.Text = ""
|
|
txtKennwort.Focus()
|
|
Exit Sub
|
|
End If
|
|
|
|
''jetzt noch Optionen laden
|
|
'Dim OptionenDAL As New cOptionenDAL
|
|
'cGlobal.Optionen = OptionenDAL.LesenOptionen()
|
|
'If IsNothing(cGlobal.Optionen) Then
|
|
' MsgBox("Fehler beim Laden der Optionen. Das Zeit-Programm kann nicht gestartet werden.", vbCritical)
|
|
' Me.Close()
|
|
'End If
|
|
|
|
'Hauptfenster starten, sobald Logon erfolgreich
|
|
cGlobal.AngemeldeterUser = txtSachbear.Text.Trim
|
|
cGlobal.AngemeldeterUserPwd = txtKennwort.Text.Trim
|
|
|
|
AnmeldungOK = True
|
|
|
|
'Anmeldefenster schließen
|
|
' Me.Close()
|
|
Me.Hide()
|
|
End Sub
|
|
|
|
Private Sub loginOK()
|
|
'Prüfen, ob Passwort erneuert werden muss
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_PasswortChanged Is Nothing Then
|
|
Dim f As New frmChangePWD(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER)
|
|
f.txtPwdOld.Text = txtKennwort.Text
|
|
f.txtPwdNew1.Focus()
|
|
If f.ShowDialog() <> Windows.Forms.DialogResult.OK Then
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.PROGNAME = "AVISO"
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.PROGVERSION = My.Resources.Version
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.SESSION.LOGIN()
|
|
frmHauptfenster.Show()
|
|
frmHauptfenster.Visible = True
|
|
frmHauptfenster.WindowState = FormWindowState.Maximized
|
|
cGlobal.AktiverMitarbeiter = ADMIN.cMitarbeiterAVISO
|
|
'Me.Close()
|
|
Me.Hide()
|
|
cGlobal.AngemeldeterUser = cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
AnmeldungOK = True
|
|
|
|
End Sub
|
|
|
|
Private Sub AdminLoginOK()
|
|
Dim cMitarbeiter As New cMitarbeiterAVISO
|
|
cMitarbeiter.MitarbeiterID = 0
|
|
' VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG = "SUB"
|
|
cMitarbeiter.Mitarbeiter = "PROGRAMM_ADMIN"
|
|
cMitarbeiter.Mitarbeitername = "Programm_administrator"
|
|
cMitarbeiter.KW = My.Resources.ADMIN_pwd
|
|
'cMitarbeiter.Sicherheitsstufe = 0
|
|
cMitarbeiter.Info = ""
|
|
cGlobal.AktiverMitarbeiter = cMitarbeiter
|
|
'Me.Close()
|
|
Me.Hide()
|
|
cGlobal.AngemeldeterUser = cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
AnmeldungOK = True
|
|
End Sub
|
|
Private Sub btnAbbruch_Click(sender As System.Object, e As System.EventArgs)
|
|
Me.Close()
|
|
Application.Exit()
|
|
End Sub
|
|
|
|
Private Sub frmAnmeldung_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
|
' UPDATEUpdater
|
|
If cProgramFunctions.updateUpdater() Then
|
|
MsgBox("Der Aviso-Updater wurde aktualisiert. Es muss ein Update durchgeführt werden.")
|
|
UpdateAVISO()
|
|
End If
|
|
|
|
Dim cUpdateUpdater As New cUpdateUpdater
|
|
If cUpdateUpdater.UpdateUpdater() = False Then
|
|
MsgBox("Probleme mit dem Updater")
|
|
End If
|
|
|
|
'auf UPDATES prüfen:
|
|
Dim DB As New cADMIN
|
|
|
|
If CInt(DB.getAktuelleVersion().Replace(".", "")) > CInt(My.Resources.Version.Replace(".", "")) Then
|
|
Me.Enabled = False
|
|
If vbYes = MsgBox("Es ist eine neue Programm-Version verfügbar. Das Programm muss aktualisiert werden, bevor Sie es weiter verwenden können. " & vbNewLine & vbNewLine & "Update jetzt durchführen?", CType(vbQuestion + vbYesNo, MsgBoxStyle), "Update verfügbar") Then
|
|
UpdateAVISO()
|
|
Else
|
|
Application.Exit()
|
|
'frmMain.Dispose()
|
|
'frmHauptfenster.Dispose()
|
|
End If
|
|
End If
|
|
txtSachbear.Focus()
|
|
If Environment.MachineName = "YLPS023046" Then
|
|
txtSachbear.Text = "ADMIN"
|
|
txtKennwort.Text = "verag#2"
|
|
' If MsgBox("AUTO-LOGIN?", vbYesNoCancel) = vbYes Then btnOK.PerformClick()
|
|
End If
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub lblVersion_OnClick(sender As Object, e As MouseEventArgs) Handles lblVersion.MouseClick
|
|
ctxUpdate.Show(lblVersion, e.Location)
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub UpdateToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles UpdateToolStripMenuItem.Click
|
|
UpdateAVISO()
|
|
End Sub
|
|
|
|
Public Sub UpdateAVISO()
|
|
'Zuerst den Updater Prüfen:
|
|
cProgramFunctions.updateUpdater()
|
|
|
|
If Not System.IO.File.Exists(AppDomain.CurrentDomain.BaseDirectory & "AVISOUPDATER.exe") Then
|
|
MsgBox("ERROR_UPDATE: Update konnte nicht fortgesetzt werden." & vbNewLine & vbNewLine & "Update-Datei existiert nicht.", vbCritical)
|
|
Else
|
|
Application.Exit()
|
|
Process.Start("AVISOUPDATER.exe")
|
|
End If
|
|
End Sub
|
|
|
|
' Private WithEvents T As New Timers.Timer With {.Interval = 500, .Enabled = True, .AutoReset = True}
|
|
Private FormCount As Integer = 1
|
|
Private Sub SomeForm_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
|
|
If e.KeyData = Keys.PrintScreen Then
|
|
Dim TheForm = DirectCast(DirectCast(sender, Control).TopLevelControl, Form)
|
|
If Not TheForm Is Nothing Then
|
|
Dim c As New cProgramFunctions
|
|
c.screenshot()
|
|
End If
|
|
End If
|
|
End Sub
|
|
Private Sub HookControls(ByVal f As Control)
|
|
For Each Control As Control In f.Controls
|
|
AddHandler Control.KeyUp, AddressOf SomeForm_KeyUp
|
|
If Control.Controls.Count <> 0 Then
|
|
HookControls(Control)
|
|
End If
|
|
Next
|
|
End Sub
|
|
Dim lastCheckedForm As String = ""
|
|
Private Sub T_Elapsed(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) 'Handles T.Elapsed
|
|
If False Then
|
|
|
|
Try
|
|
|
|
Dim F2 As Form = My.Application.OpenForms.Item(My.Application.OpenForms.Count - 1)
|
|
Dim app = F2.GetType.Module.Name.Replace(".exe", "")
|
|
|
|
' MsgBox(lastCheckedForm & " _ " & app & F2.Name)
|
|
' If lastCheckedForm <> (app & F2.Name) Then
|
|
'MsgBox("W1")
|
|
' MsgBox(app & F2.Name)
|
|
Dim ber As Integer = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG(app, F2.Name)
|
|
'MsgBox(ber)
|
|
If ber >= 99 Then
|
|
MsgBox("Zugriff verweigert. Sie haben keine Berechtigung. " & vbNewLine & F2.Name)
|
|
F2.Close()
|
|
F2.Dispose()
|
|
End If
|
|
lastCheckedForm = app & F2.Name
|
|
'End If
|
|
' AddHandler My.Application.
|
|
|
|
Catch ex As Exception
|
|
' MsgBox(ex.Message)
|
|
End Try
|
|
Exit Sub
|
|
End If
|
|
If FormCount = 0 Then FormCount = 1
|
|
Dim FormOpened As Integer = My.Application.OpenForms.Count
|
|
If FormCount <> FormOpened Then
|
|
If FormOpened > FormCount Then
|
|
For x As Integer = 1 To (FormOpened - FormCount)
|
|
Dim F As Form = My.Application.OpenForms.Item(FormOpened - x)
|
|
AddHandler F.KeyDown, AddressOf SomeForm_KeyUp
|
|
HookControls(F)
|
|
FormCount = My.Application.OpenForms.Count
|
|
|
|
Next
|
|
Else
|
|
FormCount = My.Application.OpenForms.Count
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles FlatButton1.Click
|
|
Me.Hide()
|
|
Application.Exit()
|
|
End Sub
|
|
|
|
Private Sub VERAGToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles VERAGToolStripMenuItem.Click
|
|
firma = "VERAG"
|
|
initstart()
|
|
End Sub
|
|
|
|
Private Sub ATILLAToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ATILLAToolStripMenuItem.Click
|
|
firma = "ATILLA"
|
|
initstart()
|
|
End Sub
|
|
|
|
Private Sub PRODUKTIVToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PRODUKTIVToolStripMenuItem.Click
|
|
TESTSYSTEM = False
|
|
initstart()
|
|
End Sub
|
|
|
|
Private Sub TESTSYSTEMToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles TESTSYSTEMToolStripMenuItem1.Click
|
|
TESTSYSTEM = True
|
|
initstart()
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub FlatButton2_MouseClick(sender As Object, e As MouseEventArgs) Handles FlatButton2.MouseClick
|
|
ContextMenuStrip2.Show(lblVersion, e.Location)
|
|
End Sub
|
|
|
|
Private Sub UpdateToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles UpdateToolStripMenuItem1.Click
|
|
UpdateAVISO()
|
|
End Sub
|
|
|
|
|
|
Private Sub IMEXToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles IMEXToolStripMenuItem.Click
|
|
firma = "IMEX"
|
|
initstart()
|
|
End Sub
|
|
|
|
Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint
|
|
|
|
End Sub
|
|
End Class |