Util Class with VB.Net





-9
Date Submitted Sun. Jul. 16th, 2006 9:11 AM
Revision 1 of 1
Helper eriveraa
Tags .Net | VB.NET
Comments 0 comments
Util Class with methods for executing datasets, nonquerys, sending mails, etc.

Imports System.Data.SqlClient
Imports System.Web.Mail
Imports System.Configuration

Public Class clsUtilitaria

    Public Function LoginUsuario(ByVal parStrUser As String, ByVal parStrPassword As String, ByVal parIntTipo As Integer, ByRef NombreUsuario As String) As Boolean
        Dim strSQL As String
        Dim objTabla As New DataTable

        Select Case parIntTipo
            Case 1
                strSQL = "SELECT IdAlumno,Nombres,ApellidoPaterno,ApellidoMaterno FROM BT_Alumno WHERE Usuario='" & parStrUser & "' AND Password='" & parStrPassword & "'"
            Case 2
                strSQL = "SELECT IdEmpresa,RazonSocial FROM BT_Empresa WHERE Usuario='" & parStrUser & "' AND Password='" & parStrPassword & "'"
            Case 3
                strSQL = "SELECT IdParametro FROM BT_Parametros WHERE IdConcepto=0 AND DescripcionItem='" & parStrPassword & "'"
        End Select

        'Ejecutar la consulta
        objTabla = Me.EjecutarConsulta(strSQL)

        'Verificar si existe o no el usuario indicado
        If objTabla.Rows.Count = 0 Then
            'No se encontro el usuario
            NombreUsuario = ""
            Return False
        Else
            'Obtener el nombre de usuario logueado
            Select Case parIntTipo
                Case 1
                    NombreUsuario = GetCampoStr("Nombres", objTabla.Rows(0)) & " " & GetCampoStr("ApellidoPaterno", objTabla.Rows(0)) & " " & GetCampoStr("ApellidoMaterno", objTabla.Rows(0))
                Case 2
                    NombreUsuario = "Srs. " & GetCampoStr("RazonSocial", objTabla.Rows(0))
                Case 3
                    NombreUsuario = "Administrador"
            End Select

            'Autorizar el ingreso
            Return True
        End If

    End Function

    Public Function EjecutarConsulta(ByVal parStrSQL As String) As DataTable
        Dim objConexion As New clsConexion
        Dim objComando As New SqlCommand
        Dim objAdapter As SqlDataAdapter
        Dim objTabla As New DataTable

        'Especifica el comando y sus parametros...
        With objComando
            .Connection = objConexion.Abrir
            .CommandText = parStrSQL
        End With

        'Crear el adaptador
        objAdapter = New SqlDataAdapter(objComando)

        'Llenar el objeto tabla
        objAdapter.Fill(objTabla)

        'Cerrar la bd
        objConexion.Cerrar()

        'Devolver lo requerido
        Return objTabla

    End Function

    Public Function EjecutarConsulta(ByVal parObjComando As SqlCommand) As DataTable
        Dim objConexion As New clsConexion
        Dim objComando As New SqlCommand
        Dim objAdapter As SqlDataAdapter
        Dim objTabla As New DataTable

        'Establecer la conexion del comando
        parObjComando.Connection = objConexion.Abrir

        'Crear el adaptador
        objAdapter = New SqlDataAdapter(parObjComando)

        'Llenar el objeto tabla
        objAdapter.Fill(objTabla)

        'Cerrar la bd
        objConexion.Cerrar()

        'Devolver lo requerido
        Return objTabla

    End Function

    Public Function EjecutarNonQuery(ByVal parStrCadenaSQL As String) As Boolean
        Dim objConexion As New clsConexion
        Dim objComando As New SqlCommand
        Dim strError As String

        'Crear el comando y establecer sus parametros
        With objComando
            .CommandType = CommandType.Text
            .CommandText = parStrCadenaSQL
            .Connection = objConexion.Abrir
        End With

        Try
            'Ejecutar la cadena SQL (no devuelve datos)
            objComando.ExecuteNonQuery()
            Return True
        Catch ex As Exception
            strError = ex.ToString()
            Return False
        Finally
            'Cerrar la bd
            objConexion.Cerrar()
        End Try

    End Function

    Public Function EjecutarNonQuery(ByVal parObjComando As SqlCommand) As Boolean
        Dim objConexion As New clsConexion
        Dim strError As String

        'Crear el comando y establecer sus parametros
        With parObjComando
            .CommandType = CommandType.Text
            .Connection = objConexion.Abrir
        End With

        Try
            'Ejecutar la cadena SQL (no devuelve datos)
            parObjComando.ExecuteNonQuery()
            Return True
        Catch ex As Exception
            strError = ex.ToString()
            Return False
        Finally
            'Cerrar la bd
            objConexion.Cerrar()
        End Try

    End Function

    Public Function ObtenerNuevoIDEntero(ByVal parStrTabla As String, ByVal parStrCampoID As String) As Integer
        Dim strSQL As String, objTabla As DataTable
        strSQL = "SELECT MAX(" & parStrCampoID & ")  as ID FROM " & parStrTabla

        objTabla = Me.EjecutarConsulta(strSQL)
        If objTabla.Rows.Count = 0 Then
            Return 1
        Else
            If IsDBNull(objTabla.Rows(0).Item(0)) Then
                Return 1
            Else
                Return CInt(objTabla.Rows(0).Item(0)) + 1
            End If
        End If

    End Function

    Public Function GetCampoStr(ByVal NombreCampo As String, ByVal FilaDeDatos As DataRow) As String
        If IsDBNull(FilaDeDatos.Item(NombreCampo)) Then
            Return ""
        Else
            Return CStr(FilaDeDatos.Item(NombreCampo))
        End If
    End Function

    Public Function GetCampoInt(ByVal NombreCampo As String, ByVal FilaDeDatos As DataRow) As Integer
        If IsDBNull(FilaDeDatos(NombreCampo)) Then
            Return -1
        Else
            Return CInt(FilaDeDatos.Item(NombreCampo))
        End If
    End Function

    Function EliminarTabla(ByVal NombreTabla As String) As Boolean
        Return Me.EjecutarNonQuery("DROP TABLE " & NombreTabla)
    End Function

    Public Sub EnviarEmail(ByVal Destinatarios As String, ByVal Asunto As String, ByVal CuerpoMensaje As String)
        'Destinatarios es una lista de correos separados por punto y coma, ejem : persona1@dominio.com;persona2@dominio.com
        Dim objMail As New MailMessage
        'Esta direccion debe ser la de Junior Achievement
        objMail.From = ConfigurationSettings.AppSettings("RemitenteEmail").ToString() 'Tiene q ser dado x sistemas
        objMail.To = Destinatarios
        'CC debe ser una casilla de correo especial, donde esten las copias de los envios para su posterior chekeo
        objMail.Cc = ConfigurationSettings.AppSettings("LACIACCEmail").ToString()
        objMail.Subject = Asunto
        objMail.Body = CuerpoMensaje & vbCrLf & "Enviado por el Sistema LACIA : " & Now.ToString
        'Direccion del Servidor SMTP
        SmtpMail.SmtpServer = ConfigurationSettings.AppSettings("SMTPServidor").ToString()
        'Enviar el mensaje
        SmtpMail.Send(objMail)
    End Sub

    Public Sub EnviarEmail(ByVal Remitente As String, ByVal Destinatarios As String, ByVal CC As String, ByVal Asunto As String, ByVal CuerpoMensaje As String)
        'Destinatarios es una lista de correos separados por punto y coma, ejem : persona1@dominio.com;persona2@dominio.com
        Dim objMail As New MailMessage
        'Esta direccion debe ser la de Junior Achievement
        objMail.From = Remitente
        objMail.To = Destinatarios
        objMail.Cc = CC
        objMail.Subject = Asunto
        objMail.Body = CuerpoMensaje

        'Direccion del Servidor SMTP
        SmtpMail.SmtpServer = ConfigurationSettings.AppSettings("SMTPServidor").ToString()

        'Enviar el mensaje
        SmtpMail.Send(objMail)
    End Sub

End Class
 

Lalo Rivera

Comments

There are currently no comments for this snippet.

Voting