Programando en .NET (c#, VB.NET, ASP.NET)

Nuevo usuario | Conectarse

Programando en .NET

freelance web desarrollador programador autonomo .net framework microsoft aplicacion escritorio vb.net ASP.NET VB.NET C# DLL HTML JavaScript VBA VBScript CSS SQL Server sqlServer Access MySQL

Categorías

Top Mas Visitados

Comentarios Recientes

Mejores Posts

Archivo

Links

Compartir

Contacto

Sistema de gestión de login y usuarios en ASP.NET 2.0 y VB.net (4)

Por Alvaro
09/03/2009

Enviar esta pagina a un amigo.    

Y terminamos la coleccion de documentos sobre el registro en la web con este documento.

Y terminamos con el codigo de las paginas correspondientes. Recordaros que todas nuestras clases usan nuestra propia libreria de acceso a datos.

profile.vb:

 

Partial Class profile

Inherits System.Web.UI.Page

 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then

Dim User As New dllUser

Try

gvUsers.DataSource = User.GetUsers

gvUsers.DataBind()

 

Catch ex As Exception

lblMessages.Text = User.Errors

End Try

User = Nothing

End If

End Sub

 

Protected Sub btnAddUser_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddUser.Click

Response.Redirect("newuser.aspx")

End Sub

 

End Class

newuser.vb:

 

Partial Class newuser

Inherits System.Web.UI.Page

 

Protected Sub btnAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAdd.Click

Dim User As New dllUser()

 

User.UserName = txtUserName.Text

User.Password = txtPassword.Text

User.Comments = txtComments.Text

User.Active = chkActive.Checked

 

If User.UserAdd Then

 

lblTextReturn.Text = "Hecho"

 

txtUserName.Text = ""

txtPassword.Text = ""

txtComments.Text = ""

chkActive.Checked = False

 

Else

lblTextReturn.Text = User.ErrorsUser

End If

User = Nothing

 

End Sub

 

End Class

modify.vb:

 

Partial Class users_modify

Inherits System.Web.UI.Page

 

Sub ServerValidation(ByVal source As Object, ByVal arguments As ServerValidateEventArgs)

 

'Dim num As Integer = Integer.Parse(arguments.Value)

'arguments.IsValid = ((num Mod 2) = 0)

arguments.IsValid = IsDate(arguments.Value) AndAlso arguments.Value > Now

End Sub

 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then

If Request("ID").Trim.Length > 0 Then

Dim User As New dllUser

If User.UserRead(Request("ID")) Then

txtPassword.Text = User.Password

txtUserName.Text = User.UserName

chkActive.Checked = User.Active

If User.Date_Out <> #1/1/1900# Then

txtFechaBaja.Text = User.Date_Out

Else

txtFechaBaja.Text = ""

End If

txtComments.Text = User.Comments

Else

lblMessages.Text = User.ErrorsUser

End If

User = Nothing

Else

lblMessages.Text = "Debe especificar un usuario."

End If

End If

End Sub

 

Protected Sub btnModify_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnModify.Click

If Request("ID").Trim.Length > 0 Then

If Page.IsValid Then

Try

Dim User As New dllUser

User.UserName = txtUserName.Text

User.Password = txtPassword.Text

User.Comments = txtComments.Text

If txtFechaBaja.Text.Trim.Length > 0 Then

User.Date_Out = txtFechaBaja.Text

End If

User.Active = chkActive.Checked

 

If User.UserModify(Request("ID")) Then

lblMessages.Text = "Usuario modificado correctamente."

Else

lblMessages.Text = User.ErrorsUser

End If

User = Nothing

Catch ex As Exception

lblMessages.Text = ex.Message

End Try

Else

lblMessages.Text = "Hay elementos no validos en la pagina."

End If

Else

lblMessages.Text = "Debe especificar un usuario."

End If

End Sub

 

Protected Sub btnCal_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCal.Click

clDateOut.Visible = True

End Sub

 

Protected Sub clDateOut_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles clDateOut.SelectionChanged

txtFechaBaja.Text = clDateOut.SelectedDate

If clDateOut.SelectedDate < Now Then

chkActive.Checked = False

End If

End Sub

 

End Class

login.vb:

Partial Class users_login

Inherits System.Web.UI.Page

 

Private Function ValidateUser(ByVal User As String, ByVal Pass As String) As Boolean

Dim UserLogin As New dllUser()

If UserLogin.Login(User, Pass) Then

Return True

End If

UserLogin = Nothing

End Function

 

Protected Sub lgLogin_Authenticate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles lgLogin.Authenticate

If ValidateUser(lgLogin.UserName, lgLogin.Password) Then

e.Authenticated = True

End If

End Sub

 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

lgLogin.Focus()

End Sub

End Class

delete.vb:

Partial Class users_delete

Inherits System.Web.UI.Page

 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then

lblUserNumber.Text = " Desea borrar al usuario " & Request("ID") & "?"

End If

End Sub

 

Protected Sub btnDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDelete.Click

Dim User As New dllUser()

If User.UserDelete(Request("ID")) Then

lblUserNumber.Text = "Borrado"

btnDelete.Visible = False

Else

lblUserNumber.Text = User.ErrorsUser

End If

User = Nothing

End Sub

End Class

dlluser.vb:

Public Class dllUser

Inherits dllBase

 

Private _UserName As String

Private _Password As String

Private _Active As Boolean 'Desactivará momentáneamente la descarga para esa tienda.

Private _Date_In As Date

Private _Date_Out As Date 'Esto permitirá que el aplicativo ya no se pueda usar por una tienda.

Private _Comments As String

 

Private _Return_Value As Integer

Private _Errors As String

 

Public ReadOnly Property ErrorsUser() As String

Get

ErrorsUser = _Errors

End Get

End Property

 

Public Sub New()

MyBase.New()

End Sub

Protected Overrides Sub Finalize()

MyBase.Finalize()

End Sub

 

Public Property UserName() As String

Get

UserName = _UserName

End Get

Set(ByVal value As String)

_UserName = value

End Set

End Property

Public Property Password() As String

Get

Password = _Password

End Get

Set(ByVal value As String)

_Password = value

End Set

End Property

Public Property Active() As Boolean

Get

Active = _Active

End Get

Set(ByVal value As Boolean)

_Active = value

End Set

End Property

Public Property Date_New() As Date

Get

Date_New = _Date_In

End Get

Set(ByVal value As Date)

_Date_In = value

End Set

End Property

Public Property Date_Out() As Date

Get

Date_Out = _Date_Out

End Get

Set(ByVal value As Date)

_Date_Out = value

End Set

End Property

Public Property Comments() As String

Get

Comments = _Comments

End Get

Set(ByVal value As String)

_Comments = value

End Set

End Property

Public Property Return_Value() As Integer

Get

Return_Value = _Return_Value

End Get

Set(ByVal value As Integer)

_Return_Value = value

End Set

End Property

 

Public Function Login(ByVal UserName As String, ByVal Password As String) As Boolean

Dim Parameters(1) As String, ParametersValue(1) As String

 

Parameters(0) = "@UserName"

ParametersValue(0) = UserName

Parameters(1) = "@Password"

ParametersValue(1) = Password

 

Try

If cData.Connect() Then

cData.ErrorsClear()

If Not cData.ReadDataStoreProcPrepare("UserLogin", Parameters, ParametersValue) Then

_Errors = cData.Errors

Login = False

Else

cData.ReadDataStoreProcPrepareExecute()

If cData.ReadHaveData Then Login = True

End If

cData.ReadDataStoreProcClose()

cData.Disconnect()

Else

Login = False

_Errors = "No se pudo conectar con la base de datos."

End If

Catch ex As Exception

Login = False

_Errors = ex.Message

End Try

 

End Function

 

Public Function GetPassword() As String

Dim Parameters(0) As String, ParametersValue(0) As String

 

Parameters(0) = "@Email"

ParametersValue(0) = My.User.Name

 

If cData.Connect() Then

cData.ReadDataStoreProcPrepare("UserGetPassword", Parameters, ParametersValue)

Dim a As Data.DataSet = cData.ReadDataStoreProc

GetPassword = cData.ReadSP("Password")

'GetPassword = a.Tables(0).Rows(0).Item("Password")

cData.ReadDataStoreProcClose()

cData.Disconnect()

End If

End Function

 

Public Function ChangePassword(ByVal NewP As String) As Boolean

Dim Parameters(1) As String, ParametersValue(1) As String

 

Parameters(0) = "@Email"

ParametersValue(0) = My.User.Name

Parameters(1) = "@Password"

ParametersValue(1) = NewP

 

If cData.Connect() Then

If Not cData.ReadDataStoreProcExecute("UserChangePassword", Parameters, ParametersValue) Then

ChangePassword = False

Else

ChangePassword = True

End If

cData.ReadDataStoreProcClose()

cData.Disconnect()

End If

End Function

 

Public Function UserDelete(ByVal ID As Integer) As Boolean

Dim Parameters(0) As String, ParametersValue(0) As String

 

Parameters(0) = "@ID"

ParametersValue(0) = ID

 

Try

If cData.Connect() Then

cData.ErrorsClear()

If cData.ReadDataStoreProcExecute("UserDelete", Parameters, ParametersValue) Then

If cData.Return_Val = 0 Then

UserDelete = True

Else

_Errors = "Usuario no existia."

End If

Else

_Errors = cData.Errors

UserDelete = False

End If

cData.ReadDataStoreProcClose()

cData.Disconnect()

Else

_Errors = "No se pudo conectar con la base de datos."

UserDelete = False

End If

Catch ex As Exception

_Errors = ex.Message

End Try

End Function

 

Public Function UserAdd() As Boolean

 

Dim Parameters(3) As String, ParametersValue(3) As String

 

Parameters(0) = "@UserName"

Parameters(1) = "@Password"

Parameters(2) = "@Comments"

Parameters(3) = "@Active"

 

ParametersValue(0) = _UserName

ParametersValue(1) = _Password

ParametersValue(2) = _Comments

ParametersValue(3) = _Active

 

If cData.Connect() Then

cData.ErrorsClear()

If Not cData.ReadDataStoreProcExecute("UserAdd", Parameters, ParametersValue) Then

_Errors = cData.Errors

Else

If cData.Return_Val = "-1" Then

_Errors = "El nombre de usuario ya existe."

ElseIf cData.Return_Val = 0 Then

UserAdd = True

End If

End If

cData.ReadDataStoreProcClose()

cData.Disconnect()

Else

_Errors = "No se pudo conectar con la base de datos."

UserAdd = False

End If

 

End Function

 

Public Function UserModify(ByVal ID As Long) As Boolean

 

Dim Parameters(5) As String, ParametersValue(5) As String

 

Parameters(0) = "@ID"

Parameters(1) = "@UserName"

Parameters(2) = "@Password"

Parameters(3) = "@Comments"

Parameters(4) = "@Active"

Parameters(5) = "@Date_Out"

 

ParametersValue(0) = ID

ParametersValue(1) = _UserName

ParametersValue(2) = _Password

ParametersValue(3) = _Comments

ParametersValue(4) = _Active

ParametersValue(5) = _Date_Out

 

Try

If cData.Connect() Then

cData.ErrorsClear()

If Not cData.ReadDataStoreProcExecute("UserModify", Parameters, ParametersValue) Then

_Errors = cData.Errors

Else

If cData.Return_Val = 0 Then

UserModify = True

End If

End If

cData.ReadDataStoreProcClose()

cData.Disconnect()

Else

_Errors = "No se pudo conectar con la base de datos."

UserModify = False

End If

Catch ex As Exception

_Errors = ex.Message

End Try

 

End Function

 

Public Function GetMessages() As Data.DataSet

Dim Parameters(0) As String, ParametersValue(0) As String

 

Parameters(0) = "@Email"

ParametersValue(0) = My.User.Name

 

If cData.Connect() Then

If cData.ReadDataStoreProcPrepare("UserGetMessages", Parameters, ParametersValue) Then

GetMessages = cData.ReadDataStoreProc()

cData.ReadDataStoreProcClose()

cData.Disconnect()

Else

_Errors = "Can't read the messages."

End If

Else

_Errors = "Cant connect with the database."

End If

End Function

 

Public Function GetMessagesByMonth(ByVal Month As Integer) As Data.DataSet

Dim Parameters(1) As String, ParametersValue(1) As String

 

Parameters(0) = "@Email"

ParametersValue(0) = My.User.Name

Parameters(1) = "@Month"

ParametersValue(1) = Month

 

If cData.Connect() Then

If cData.ReadDataStoreProcPrepare("UserGetMessagesByMonth", Parameters, ParametersValue) Then

GetMessagesByMonth = cData.ReadDataStoreProc()

cData.ReadDataStoreProcClose()

cData.Disconnect()

Else

_Errors = "Can't read the messages."

End If

Else

_Errors = "Cant connect with the database."

End If

End Function

 

Public Function GetMessagesSearch(ByVal Str As String) As Data.DataSet

Dim Parameters(1) As String, ParametersValue(1) As String

 

Parameters(0) = "@Email"

ParametersValue(0) = My.User.Name

Parameters(1) = "@String"

ParametersValue(1) = Str

 

If cData.Connect() Then

If cData.ReadDataStoreProcPrepare("UserGetMessagesSearch", Parameters, ParametersValue) Then

GetMessagesSearch = cData.ReadDataStoreProc()

cData.ReadDataStoreProcClose()

cData.Disconnect()

Else

_Errors = "Can't read the messages."

End If

Else

_Errors = "Cant connect with the database."

End If

End Function

 

Public Function UserRead(ByVal ID As Long) As Boolean

Dim Parameters(0) As String, ParametersValue(0) As String

Dim DS As New Data.DataSet

 

If ID > 0 Then

Try

Parameters(0) = "@ID"

ParametersValue(0) = ID

 

If cData.Connect() Then

cData.ErrorsClear()

If cData.ReadDataStoreProcPrepare("UserRead", Parameters, ParametersValue) Then

DS = cData.ReadDataStoreProc()

'_Nombre_Tienda = cData.ReadSP("Nombre_Tienda")

With DS.Tables(0).Rows(0)

_Password = .Item("Password")

_UserName = .Item("UserName")

_Active = .Item("Active")

_Date_Out = IIf(.Item("Date_Out") Is DBNull.Value, "#12:00:00 AM#", .Item("Date_Out"))

_Date_In = .Item("Date_In")

_Comments = .Item("Comments")

End With

UserRead = True

Else

_Errors = cData.Errors

End If

cData.ReadDataStoreProcClose()

cData.Disconnect()

Else

_Errors = "Cant connect with the database."

End If

 

Catch ex As Exception

_Errors = ex.Message

End Try

Else

_Errors = "User not provided."

End If

End Function

 

Public Function GetUsers() As Data.DataSet

If cData.Connect() Then

cData.ErrorsClear()

If cData.ReadDataStoreProcPrepare("GetUsers") Then

GetUsers = cData.ReadDataStoreProc()

cData.ReadDataStoreProcClose()

cData.Disconnect()

Else

_Errors = cData.Errors

End If

Else

_Errors = "Cant connect with the database."

End If

End Function

 

End Class

dllbase.vb:

Imports System.Configuration.ConfigurationManager

Imports GBData

 

Public Class dllBase

 

Friend _ID As String

Private ConnectionPath As String = ConnectionStrings("DataBase").ConnectionString

 

Friend cData As dllData

 

Public Function Errors() As String

Errors = cData.Errors

End Function

 

Friend Sub New()

cData = New dllData

cData.OriginData = 2

cData.Path = ConnectionPath

End Sub

Protected Overrides Sub Finalize()

cData = Nothing

MyBase.Finalize()

End Sub

 

Public Property ID() As String

Get

ID = _ID

End Get

Set(ByVal value As String)

_ID = value

End Set

End Property

 

End Class

2 comentarios en total.

  1. muy interesante tu ejemplo pero por favor pudieras enviarme al correo diegoyamaa@yahoo.com la libreria de acceso a datos

    Por DIEGO YAMA en 28/07/2009 Tu comentario sera moderado.

  2. Estimado, muy bueno el ejemplo, pero el link a : libreria de acceso a datos no se encuentra disponible, hay algun modo de poder acceder a ella??? Saludos!

    Por carlos en 11/11/2009 Tu comentario sera moderado.

Pon un comentario:

Debes estar registrado para enviar comentarios.

Debes estar registrado para enviar comentarios. Hazlo, es un segundo! ;)
Deseas ir a la pagina de registro?. O, si ya estas registrado, a la de login?

Programando en .NET freelance web desarrollador programador autonomo .net framework microsoft aplicacion escritorio vb.net ASP.NET VB.NET C# DLL HTML JavaScript VBA VBScript CSS SQL Server sqlServer Access MySQL
Copyright: yoquierounblog