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