hola comunidada hace mucho ke no los visitaba ya han crecido bastante felicidades a toda la comunidad!!!!
Necesito de su ayuda bueno si me kieren ayudar y si pueden claro, porke miren tengo una duda con respecto a como "implementar un control de usuario (login) ke tiene en su funcion una variable ke tiene ke ser parametrizada y ke se debe enviar su valor desde la clase de la pagina donde se implementa el control".
Chequen eee, el reto es este, hice un control de usuario de login ke tiene 3 controles ya sabran:
textbox = TxtUsu
textbox = TxtPass
boton = btnLogin
Y ya se komo recuperar lo ke kapturo el usuario en los texbox y como llamar el boton del login del control, bueno todo eso esta leve porke se hace en el vb del control y es relativamente sencillo:
Código:
Private _usuario As String
Private _contraseña As String
Public ReadOnly Property Usuario() As String
Get
Return Me.TxtUsu.Text
End Get
End Property
Public ReadOnly Property Contraseña() As String
Get
Return Me.TxtPass.Text
End Get
End Property
'Funcion ke retorna un objeto
Public Function Login() As Object
Dim oRes As Object = Nothing
Dim CLusuario As New CLUsuarios
Dim sRes, sUsu, sPass As String
sUsu = Me.usuario
sPass = Me.contraseña
dim variabletiposistema as integer= 2
sRes = CLusuario.GetLogUsu(variabletiposistema, sUsu, sPass)
If sRes <> "" Then
LblErr.Text = sRes
oRes = Nothing
Else
LblErr.Text = "ok"
oRes = usuario
End If
Return oRes
End Function
Public Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Login()
End Sub
Ok todo eso va en el vb del control y furula chido ya ke recupera el valor de los txt y puede hacer el logeo chido y asi lo implemente en la pagina:
Código:
Dim oUsu As Object = Me.WebLogin1.Login()
If Not oUsu Is Nothing Then
Response.Write("si existe el usuario")
Else
Response.Write("mojojojo")
End If
Ok hasta aki todo chido chido chido chidooo. Pero yo necesito saber a ke sistema se kiere logear (sin tener ke pedirle al usuario mediante un combo u otro control),
a ke sistema se kiere logear por lo tanto agrege una enumeracion, para ke el developer diga aaaaaaa a este sistema se va a logear, y lo ke hice fue agregar esto:
Código:
Enum sisMexico
SDSPM = 1
SICEEF = 2
SIEP = 3
SIP = 4
SISGESCOR = 5
End Enum
y entonces ahora creo otra funcion pero esta parametrizada, ya ke recibe un valor de la enumeracion como parametro y entonces dicha funcion keda asi!!
Código:
'login parametrizado con una variable tipo enumeracion
Public Function Login(ByVal Sistema As sisMexico) As Object
Dim oRes As Object = Nothing
If Sistema <> 0 Then
Dim CLusuario As New CLUsuarios
Dim sRes, sUsu, sPass As String
sUsu = Me.usuario
sPass = Me.contraseña
sRes = CLusuario.GetLogUsu(Sistema, sUsu, sPass)
If sRes <> "" Then
LblErr.Text = sRes
oRes = Nothing
Else
LblErr.Text = ""
oRes = usuario
End If
End If
Return oRes
End Function
y ok ahora asi es como la implemento (la hice de 2 formas, y ninguna de las 2 keda chalessss).
1.- por medio de funcion parametrizada con una enumeracion, no furula porke en el vb del control de usuario recibe un cero y eso no debe de ser.
Código:
Protected Sub LoginButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim oUsu As Object = Me.WebLogin1.Login(sisMexico.sistemas.SICEEF)
If Not oUsu Is Nothing Then
Response.Write("no existe")
Else
Response.Write("mojojojo")
End If
End Sub
2.- y por medio de una propiedad ke agrege en el vb del control de usuario,
Private _sistema As Integer
Public Property Sistema() As Integer
Get
Return _sistema
End Get
Set(ByVal value As Integer)
_sistema = value
End Set
End Property
'login en base a una propiedad, sin parametros
Public Function Login() As Object
Dim oRes As Object = Nothing
If Sistema <> 0 Then
Dim CLusuario As New CLUsuarios
Dim sRes, sUsu, sPass As String
sUsu = Me.usuario
sPass = Me.contraseña
sRes = CLusuario.GetLogUsu(sistema, sUsu, sPass)
If sRes <> "" Then
LblErr.Text = sRes
oRes = Nothing
Else
LblErr.Text = ""
oRes = usuario
End If
End If
Return oRes
End Function
pero tampoco furula en la implementacion porke la propiedad dice ke es cero y eso no debe de ser.
Código:
WebLogin1.Sistema = sisMexico.sistemas.SICEEF
Dim oUsu As Object = Me.WebLogin1.Login()
If Not oUsu Is Nothing Then
Response.Write("no existe")
Else
Response.Write("mojojojo")
End If
Ahora la pregunta del millon es como carambas le paso ese valor a la funcion o la clase vb del control, porke siempre obtengo un 0 en la variabe sistema de aki abajo CLusuario.GetLogUsu(sistema, sUsu, sPass) !!!!!?
y pos no se me ocurre nadaaa, como ven alguna idea !!!!!?
gracias por leer el post, jejeje ,espero ke me haya dado a enteder !!!!!!
gracias por todo y adios