Hola comunidad, necesito de la ayuda de ustedes. Estoy recien comenzando a dar mis pasos en el desarrollo .NET y me encuentro trabajando en una estructura de capas. Capa de Datos, de Entidad, de Negocios y de Presentación. He visto muchos trabajos en
capas, pero no me sirve. Por otra parte he visto que trabajan mucho con procedimientos de almacenado. Tampoco me sirve. Mis consultas tienen que ser directas a través de las sentencias SQL.
Me encuentro realizando un login y no encuentro la forma de hacerlo correctamente. Tengo dudas sobre si debo de instanciar la clase entidad en la función de la capa de datos o usar un DataReader. A continuación les copio mi código y desde ya agradezco su
ayuda.
CAPA DATOS
Function IniciarSesion(ByVal Usuario As String, ByVal Contraseña As String) As CEPersonal
Dim Obj As New CEPersonal
cn = ObjConexion.Conectar
cm.Connection = cn
cm.CommandType = CommandType.Text
cm.CommandText = ("SELECT FROM PERSONAL WHERE Usuario = @Usuario and Contrasena = @Contrasena ")
cm.Parameters.Add("@Usuario", OdbcType.VarChar, 20).Value = Usuario
cm.Parameters.Add("@Contrasena", OdbcType.VarChar, 20).Value = Contraseña
cn.Open()
Return Obj
End Function
CAPA NEGOCIOS
Function Iniciar(ByVal Usuario As String, ByVal Contrasena As String) As CEPersonal
Return ObjCapaDatos.IniciarSesion(Usuario, Contrasena)
End Function
CAPA PRESENTCIÓN
Dim Obe As New CEPersonal
Dim Obn As New CNPersonal
Sub Acceso_Login(ByVal Usuario As String, ByVal Contrasena As String)
Obe = Obn.Iniciar(Usuario, Contrasena)
If Obe.Usuario Is Nothing Then
'Validamos que solo tenga 3 intentos, Luego se cierra el login'
intento = intento + 1
MsgBox("Usuario o Contraseña incorrectos....!" & Chr(13) & 3 - intento & " Intentos...!", MsgBoxStyle.Critical, "Error de Ingreso")
If intento = 3 Then
Me.Close()
End If
Else
Areadetrabajo.Hide()
Areadetrabajo.Show()
End If
End Sub