Public Class frmLog
Friend db As New NominaDataClassDataContext
Friend iCu As Short = 0, sIn As String = Nothing
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
TextosLlenos()
End Sub
Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
Me.Close()
End Sub
Private Sub frmLog_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
'Se usa para prevenir el cierre con ALT+F4 de la ventana
If bSale = False Then
Application.Exit()
End If
End Sub
Private Sub frmLog_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub UsernameTextBox_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles UsernameTextBox.GotFocus
UsernameTextBox.SelectAll()
End Sub
Private Sub UsernameTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UsernameTextBox.TextChanged
End Sub
Private Sub PasswordTextBox_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles PasswordTextBox.GotFocus
PasswordTextBox.SelectAll()
End Sub
Private Sub PasswordTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PasswordTextBox.TextChanged
End Sub
#Region "Logueo"
Private Sub TextosLlenos()
If UsernameTextBox.Text = Nothing Then
Intentos(1)
Exit Sub
End If
If PasswordTextBox.Text = Nothing Then
Intentos(2)
Exit Sub
End If
Validaciones()
End Sub
Private Sub Validaciones()
Dim bDes As Boolean = False 'Para verificar que no este deshabilitado el usuario
Dim bExi As Boolean = False 'Para Verificar que el login de usuario exista
Dim tUse As String = Nothing
Dim tPas As String = Nothing
Dim tNom As String = Nothing
Try
bExi = db.fnUsuarioExiste(UsernameTextBox.Text)
If bExi = False Then
Intentos(3)
Exit Sub
End If
Dim Query = From Datos In db.TablaUsuarios _
Select Datos _
Where Datos.Login = UsernameTextBox.Text
For Each Xt In Query
tUse = Xt.Login
tNom = Xt.NombreUser
tPas = Xt.Password
bDes = Xt.Deshabilitado
Next
If bDes = True Then
Intentos(4)
Exit Sub
End If
'Compara el password con sensibilidad de caracteres
If String.Compare(PasswordTextBox.Text, tPas, False) <> 0 Then
Intentos(5)
Exit Sub
End If
glbUsu = tUse
glbNom = tNom
glbPas = tPas
glbNiv = tRol
bSale = True
Me.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, "Error obteniendo datos de usuario", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End Sub
Private Sub Intentos(ByVal Indice As Short)
iCu += 1
If iCu >= 3 Then
MessageBox.Show("Intententos de inicio de sesion agotados", "Cerrando Aplicacion", MessageBoxButtons.OK, MessageBoxIcon.Error)
Application.Exit()
Exit Sub
End If
sIn = "Intento " & iCu & " de 3"
Select Case Indice
Case 1
MessageBox.Show("Debe ingresar su login de usuario" & _
vbCrLf & sIn, "Faltan Datos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
UsernameTextBox.Focus()
Case 2
MessageBox.Show("Debe ingresar su contraseña de usuario" & _
vbCrLf & sIn, "Faltan Datos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
UsernameTextBox.Focus()
Case 3
MessageBox.Show("El Usuario ingresado no existe" & _
vbCrLf & sIn, "Verifique Datos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
UsernameTextBox.Focus()
Case 4
MessageBox.Show("El usuario ingresado ha sido deshabilitado, consulte con el administrador" & _
vbCrLf & sIn, "Verifique Datos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
UsernameTextBox.Focus()
Case 5
MessageBox.Show("La contraseña ingresada es incorrecta" & _
vbCrLf & sIn, "Verifique Datos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
PasswordTextBox.Focus()
End Select
End Sub
#End Region
End Class