client/Seguridad/UsuarioM.vb

422 lines
14 KiB
VB.net

Imports CLIENTE.clsComplejo 'permite conectarme a la base de datos y establer parametros
Imports System.Data.SqlClient 'para manejar objetos de datos SQL
Imports CLIENTE.Registro 'clase que me permite encriptar el password
Imports System.Data 'Para manejar objetos de estructuras de datos
Imports CLIENTE.clBusqueda 'para realizar busqueda en un registro
Imports CLIENTE.clOcultarColumna 'Permite ocultar columnas
Imports CLIENTE.ValidaTexto 'Permite validad las cajas de texto o combox
Public Class UsuarioM
Dim Guardar As Boolean
Dim Nuevo As Boolean
Dim clCmp As New clsComplejo()
Dim desh As New clsDeshabilita()
Dim dap As SqlDataAdapter = New SqlClient.SqlDataAdapter
Dim cmd As SqlCommand
Dim das As DataSet
Dim cnn As SqlConnection
Dim _Accion As String
Dim clcmj1 As New clsComplejo
Dim clsvariables As New clsVaribles
Dim blnuevo As Boolean = True
Dim blcarga As Boolean = True
Dim sql As String
Private Sub txtPassword_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPassword.DoubleClick
'MsgBox("pongo a true la bandera doble click")
txtPassword.ReadOnly = False
Nuevo = True
End Sub
Private Sub grdUsuario_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles grdUsuario.DoubleClick
Dim SQLBenef As String
Dim Fila As DataRow
Dim Classcom As New clsComplejo
Try
txtcomodin.Text = grdUsuario.Item(grdUsuario.CurrentRowIndex, 0).ToString()
SQLBenef = "SELECT * FROM USUARIO WHERE idUSUARIO = " & txtcomodin.Text '& " And Id_PropReal = " & ClsVariables.varidLigaCte"
Classcom.fdtDataSet(SQLBenef)
If Classcom.ds.Tables(0).Rows.Count <> 0 Then
'LLENA COMBOS
Fila = Classcom.ds.Tables(0).Rows(0)
'txtNombre.Text = Fila("Nombre")
'txtUsuario.Text = Fila("Usuario")
'txtAPaterno.Text = Fila("ApellidoPaterno")
'txtAMaterno.Text = Fila("ApellidoMaterno")
If Not IsDBNull(Fila("Nombre")) Then txtNombre.Text = Fila("Nombre")
If Not IsDBNull(Fila("Usuario")) Then txtUsuario.Text = Fila("Usuario")
If Not IsDBNull(Fila("ApellidoPaterno")) Then txtAPaterno.Text = Fila("ApellidoPaterno")
If Not IsDBNull(Fila("ApellidoMaterno")) Then txtAMaterno.Text = Fila("ApellidoMaterno")
If txtAMaterno.Text = "N/A" Then
txtAMaterno.Text = ""
End If
'txtPassword.Text = Registro.DesEncripta(Fila("PASSWORD"))
'txtPasswordConf.Text = Registro.DesEncripta(Fila("PASSWORD"))
cmbPerfil.SelectedValue = Fila("IdPerfil")
cmbPerfil.Tag = Fila("IdPerfil")
'cmbid_funcionario.SelectedValue = Fila("id_funcionario")
chkBloquear.Checked = Fila("ACTIVO")
chkBloquear.Tag = Fila("ACTIVO")
End If
Catch ex As System.ArgumentOutOfRangeException
MessageBox.Show("No existe Informacion", "MINDS Cliente", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Catch ex As System.IndexOutOfRangeException
MessageBox.Show("No existe Informacion", "MINDS Cliente", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Catch ex As Exception
MessageBox.Show("Error Busqueda; grdUsuario_DoubleClick: " & ex.Message, "MINDS Cliente", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
End Sub
Private Sub Exportar()
clcmj1 = New clsComplejo
Dim sqlgrid As String
Dim ClassAud As New ClassMyUtils
sqlgrid = "sp_ConsultarUsuarios"
clcmj1.fdtDataSetTabla(sqlgrid)
Try
If grdUsuario.VisibleRowCount = 0 Then
MessageBox.Show("Realiza una consulta ", "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
Dim clsExcel As aExcel = New aExcel
'Obtenemos el nombre o el titulo del form
clsExcel.Titulo = Me.Text
'Utilizo la funcion ExportDataset de la clase aExcel
clsExcel.ExportDataset(clcmj1.ds) 'Asigno el dataset a exportar
ClassAud.RT_Auditoria(clsVaribles.varUsuario, 44, 1, "EXPORTACION DE LISTADO DE USUARIOS")
'End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Sub UsuarioM_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim SQLGrid As String
Dim ds1 As DataSet
Dim OcultarCol As clOcultarColumna = New clOcultarColumna()
Try
'txtPassword.ReadOnly = True
clcmj1 = New clsComplejo
llenagrid1()
'SQLGrid = " spConUsuario 2 "
'clcmj1.fdtDataSetTabla(SQLGrid)
'grdUsuario.SetDataBinding(clcmj1.ds, "Tabla") 'Llena el grid
' clcmj1 = New clsComplejo
clcmj1 = New clsComplejo
SQLGrid = "select IDPERFIL AS clave,PERFIL as nombre from cat_perfil"
clcmj1.cm.CommandText = SQLGrid
clcmj1.ad.SelectCommand = clcmj1.cm
clcmj1.sbLlenaCombo(SQLGrid, cmbPerfil)
cmbPerfil.SelectedIndex = -1
txtcomodin.Text = 0
Catch ex As Exception
MessageBox.Show("Error Busqueda; sbBuscas: " & ex.Message, "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Sub Validar()
'Permite validar los cuadros de texto o combox
End Sub
Private Sub Limpiar()
'Limpia los controles del formulario, con la ayuda la instancia clCmp
clCmp.sbLimpiaControles(Me)
txtPassword.ReadOnly = False
cmbPerfil.SelectedIndex = -1
End Sub
Private Sub IniciaCargaForm()
'********************************************************
llenagrid1()
clCmp = New clsComplejo
sql = "spConTipoCon"
clCmp.sbLlenaCombo(sql, Me.cmbPerfil)
End Sub
Private Sub Llenocombo()
'limpio el combo
cmbPerfil.DataSource = Nothing
cmbPerfil.DataBindings.Clear()
'Lleno el combo de perfil a traves del procedimiento almacenado y la clase clCmp
Try
clCmp.sbLlenaCombo("spLlenaCombo", Me.cmbPerfil)
Catch er As Exception
MessageBox.Show(er.Message)
End Try
End Sub
Private Sub limpia()
txtNombre.Text = ""
txtUsuario.Text = ""
txtAPaterno.Text = ""
txtPassword.Text = ""
txtPasswordConf.Text = ""
txtAMaterno.Text = ""
'cmbPerfil.Text = ""
cmbPerfil.SelectedIndex = -1
'cmbid_funcionario.Text = ""
chkBloquear.Checked = False
End Sub
Private Sub txtPasswordConf_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtPasswordConf.Validated
'If txtPasswordConf.Text <> txtPassword.Text Then
' MessageBox.Show("La Confirmacion del Password no coincide, Intentelo Nuevamente!", "Confirmacion Password", MessageBoxButtons.OK, MessageBoxIcon.Information)
' txtPassword.SelectAll()
' txtPassword.Focus()
'End If
End Sub
Private Sub BtnAlta_Click(sender As System.Object, e As System.EventArgs) Handles BtnAlta.Click
Dim classcom As New clsComplejo
Dim strSQLComodin As String
Dim ClassAud As New ClassMyUtils
Dim varUser As Long
Dim ClassComodin As New clsComplejo
Dim _Idfuncionario As Integer
Dim _IdUsuario As Integer
Dim _Nombre As String
Dim _Apaterno As String
Dim _Amaterno As String
Dim _usuario As String
Dim _password As String
Dim _IdPerfil As Integer
Dim _Activo As Integer
Dim _FAlta As String
Dim _FUltimoAcceso As String
Dim _FCambioPassword As String
Dim cadSQL As String
Dim fFunc As clsComplejo
Dim Fila As DataRow
Dim STRTABLA As String
If clsVaribles.lbDemo = True Then Exit Sub
'VALIDACION DE CAMPOS
Try
'NOTA: El orden de definir el query deben ser igual al orden en que
'fueron declarados los paramatros (variables) en el procedimiento almacenado
Try
Dim x As ValidaTexto = New ValidaTexto()
'If txtPasswordConf.Text <> txtPassword.Text Then
' MessageBox.Show("La Confirmacion del Password no coincide, Intentelo Nuevamente!", "Confirmacion Password", MessageBoxButtons.OK, MessageBoxIcon.Information)
' txtPassword.SelectAll()
' txtPassword.Focus()
' Exit Sub
'End If
If x.ValidaCadenas(txtNombre) = False Then
Exit Sub
End If
If x.ValidaCadenas(txtAPaterno) = False Then
Exit Sub
End If
'If x.ValidaCadenas(txtAMaterno) = False Then
' Exit Sub
' End If
If x.ValidaCadenas(txtNombre) = False Then
Exit Sub
End If
If x.ValidaCadenas(txtUsuario) = False Then
Exit Sub
End If
'If x.ValidaCadenas(txtPasswordConf) = False Then
' Exit Sub
'End If
'If x.ValidaCadenas(txtPassword) = False Then
' Exit Sub
'End If
'Asignacion de los valores a modificar o a insertar
_Nombre = txtNombre.Text
_Apaterno = txtAPaterno.Text
_Amaterno = txtAMaterno.Text
_usuario = txtUsuario.Text
'txtPassword.Text = CInt(Int((495 * Rnd()) + 1234)).ToString() & CInt(Int((321 * Rnd()) + 1234)).ToString()
'If txtPassword.Text <> "" Then
' txtPassword.Text = CInt(Int((495 * Rnd()) + 1234)).ToString() & CInt(Int((321 * Rnd()) + 1234)).ToString()
'End If
''Encripto el password con la ayuda de la clase registro, que recibe como parametro un string
'If Nuevo = True Then
' 'Encripto el password
' _password = Registro.Encripta(txtPassword.Text)
'Else
' 'si es una modificacion
' Dim CadDes As String
' ' CadDes = Registro.DesEncripta(txtPassword.Text)
' 'MsgBox("modificacion; " & CadDes)
' _password = Registro.Encripta(txtPassword.Text)
'End If
_password = ""
fFunc = New clsComplejo
_IdPerfil = cmbPerfil.SelectedValue
_Activo = chkBloquear.CheckState
' MsgBox(_Activo)
_FAlta = fFunc.ObtenFecha(Now.ToShortDateString, "yyyymmdd")
_FUltimoAcceso = fFunc.ObtenFecha(Now.ToShortDateString, "yyyymmdd")
_FCambioPassword = fFunc.ObtenFecha(Now.ToShortDateString, "yyyymmdd")
'Se declara un parametro
_IdUsuario = txtcomodin.Text
Catch er As Exception
' MessageBox.Show("Error al asignar valores. " & er.Message)
End Try
'End If
Dim SQL As String
Dim lsusu As String = ""
ClassComodin = New clsComplejo
Dim LIACCION As Integer
SQL = "SELECT idusuario FROM usuario WHERE idusuario = " & _IdUsuario
_Accion = "A"
lsusu = ""
Dim liAud As Integer
clsVaribles.lsValAnt = ClassAud.FnObtenValAnterior("SpConValoresAnteriores 6," & _IdUsuario)
If Len(Trim(clsVaribles.lsValAnt)) = 0 Then
liAud = 42
Else
liAud = 44
End If
'Se define el Query (cadena que lleva los datos a actualizar)
cadSQL = "" 'Estable la cadena nula o vacia
'"spGrabaUsuario" es el nombre del procecidimiento almacenado
cadSQL = cadSQL & "spGrabaUsuario "
cadSQL = cadSQL & "'" & _Nombre & "', "
cadSQL = cadSQL & "'" & _Apaterno & "', "
cadSQL = cadSQL & "'" & _Amaterno & "', "
cadSQL = cadSQL & "'" & _usuario & "', "
cadSQL = cadSQL & "'" & _password & "', "
cadSQL = cadSQL & _IdPerfil & ", "
cadSQL = cadSQL & _Activo & ", "
cadSQL = cadSQL & _IdUsuario & ", "
cadSQL = cadSQL & "'" & _FAlta & "', "
cadSQL = cadSQL & "'" & _FUltimoAcceso & "', "
cadSQL = cadSQL & "'" & _FCambioPassword & "', "
cadSQL = cadSQL & "'" & _Accion & "'" '_Idfuncionario
'MsgBox(cadSQL)
Try
' ClassComodin.BuscaDatos(cadSQL)
ClassComodin.sbInserta(cadSQL)
ClassAud.RT_Auditoria(clsVaribles.varUsuario, liAud, 13, clsVaribles.lsValAnt & " | Valores Nuevos: Usuario = " & _usuario & " Nombre = " & _Nombre & " " & _Apaterno & " " & _Amaterno & " Activo = " & _Activo & ", Perfil. " & cmbPerfil.Text)
If _Activo = 0 Then
ClassAud.RT_Auditoria(clsVaribles.varUsuario, 43, 13, clsVaribles.lsValAnt & " | Valores Nuevos: Usuario = " & _usuario & " Nombre = " & _Nombre & " " & _Apaterno & " " & _Amaterno & " Activo = " & _Activo & ", Perfil. " & cmbPerfil.Text)
End If
'MsgBox("0k")
Catch er As SqlException
MessageBox.Show("usuario; ModificaAgrega: " & er.Message, "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Error)
'Finally
' cnn.Close()
End Try
Limpiar()
'auditoria
''''''ClassAud.RT_Auditoria(clsVaribles.varUsuario, 98, My.Computer.Name, "Minds Cliente", "ALTA DE PARAMETROGRUPO CLAVE = " & txtClave.Text & " NOMBRE = " & cboParamRango.Text)
'FIN AUDITORIA
txtcomodin.Text = 0
llenagrid1()
MessageBox.Show("Operacion Satisfactoria ", "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show("Error al grabar Datos" & ex.Message, "Minds", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End Try
End Sub
Private Sub llenagrid1()
Dim SQLGRID As String = ""
Try
clcmj1 = New clsComplejo
SQLGRID = "sp_ConsultarUsuarios "
clcmj1.fdtDataSetTabla(SQLGRID)
grdUsuario.SetDataBinding(clcmj1.ds, "Tabla") 'Llena el grid
Catch ex As Exception
MessageBox.Show("Error al cargar usuarios " & ex.Message, "Minds", MessageBoxButtons.OK, MessageBoxIcon.Information)
'Finally
' cnn.Close()
End Try
End Sub
Private Sub BtnBuscar_Click(sender As System.Object, e As System.EventArgs)
llenagrid1()
End Sub
Private Sub BtnLimpiar_Click(sender As System.Object, e As System.EventArgs) Handles BtnLimpiar.Click
Limpiar()
End Sub
Private Sub BntSalie_Click(sender As System.Object, e As System.EventArgs) Handles BntSalie.Click
Me.Close()
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Exportar()
End Sub
End Class