Imports DevExpress.Utils
Public Class Principal
#Region "Declaraciones"
Private LABASE As String
Private SERVIDOR As String
Private mDtResultado As New DataTable
Private ConeccionExitosa As Boolean
Private ResuBoolean As Boolean = False
Private LogueoExitoso As Boolean
Private AvisarAlSalir As Boolean
Private FrmRenovarAcceso As New RenovarAcceso
Private FrmRenovarAccesoRemision As New RenovarAccesoRemision
Private FrmEditarPermisos As New EditarABMpermisos
Private FrmAgregarControl As New AgregarControl
Private FrmCajaDeEntrada As New CajaDeEntrada
Private FrmNuevoUsuario As New NuevoUsuario
Private FrmModulo As New FormModulos 'NUEVO
Private FrmABMAplicacion As New FormABMAplicaciones
Private FrmABMEditarPermiso As New FormABMEditarPermiso
#End Region
#Region "Eventos"
Private Sub BBI_AltaControles_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_AltaControles.ItemClick
Try
' If ValidarCotraseña() Then "al quitar el comentario, se activa esta pantalla para quitar el acceso por clave"
FrmAgregarControl = New AgregarControl
FrmAgregarControl.ShowDialog()
' End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir 'Agregar Control'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub BBI_PermisosPorPefil_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_PermisosPorPefil.ItemClick
Try
'If ValidarCotraseña() Then
FrmEditarPermisos = New EditarABMpermisos
FrmEditarPermisos.TipoIngreso = EditarABMpermisos.Tipo.Perfil
FrmEditarPermisos.ShowDialog()
'End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir 'Editar Permisos por Perfil'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub BBI_PermisosPorUsuario_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_PermisosPorUsuario.ItemClick
Try
'If ValidarCotraseña() Then
FrmEditarPermisos = New EditarABMpermisos
FrmEditarPermisos.TipoIngreso = EditarABMpermisos.Tipo.Usuario
FrmEditarPermisos.ShowDialog()
' End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir 'Editar Permisos por Usuario'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
'Private Sub BBI_RenovarAcceso_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_RenovarAcceso.ItemClick
' Try
' FrmRenovarAcceso = New RenovarAcceso
' FrmRenovarAcceso.ShowDialog()
' Catch ex As Exception
' GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir 'Renovar Acceso'." & vbCrLf & ex.Message.ToString).ShowDialog()
' End Try
'End Sub
Private Sub BBI_Ingresos_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_NvoUsuario.ItemClick
Try
FrmNuevoUsuario = New NuevoUsuario
FrmNuevoUsuario.ShowDialog()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir 'Gestión de Despachos'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
'-------------------------------
Private Sub EjecutarPermisos()
My.Application.DoEvents()
'ControlesPermisos.DesactivarControlesAplicacion(Me) 'Desactivo todos los controles del formulario
'ControlesPermisos.ActivarControlesPorPefil(Me, My.Application.IDAPLICACION, My.Application.IDPERFIL) 'Activo/Desactivo controles del formulario por perfil
'ControlesPermisos.ActivarControlesPorUsuario(Me, My.Application.IDAPLICACION, My.Application.IDUSUARIO) 'Activo/Desactivo controles del formulario por usuario
End Sub
Private Sub Principal_Invalidated(sender As Object, e As InvalidateEventArgs) Handles Me.Invalidated
End Sub
'-------------------------------
Private Sub Principal_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Try
IniciarAplicacion()
AgregarControlesAplicacion()
EjecutarPermisos()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir la aplicación. " & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Function AgregarControlesAplicacion()
Try
ControlesPermisos.RegistrarControles(Me)
Catch ex As Exception
End Try
End Function
Private Sub Principal_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
Try
If AvisarAlSalir Then
If Not GestorMensajes.MensajeConfirmacion(MensajeSistema.TipoDeMensaje.Adveretencia, "¿Está seguro que desea salir del sistema?. Todos los cambios no grabados se perderán.").DialogResult <> Windows.Forms.DialogResult.OK Then
e.Cancel = True
Else
If LogueoExitoso Then
DesConectarUsuarioAAplicacion(My.Application.IDUSUARIO, My.Application.IDAPLICACION)
End If
End If
Else 'si no avisa al salir
If LogueoExitoso Then
DesConectarUsuarioAAplicacion(My.Application.IDUSUARIO, My.Application.IDAPLICACION)
End If
End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al cerrar el formulario. " & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
#End Region
#Region "Funciones"
Private Function ValidarCotraseña() As Boolean
ResuBoolean = False
FrmCajaDeEntrada = New CajaDeEntrada
FrmCajaDeEntrada.Cargar(" Ingrese contraseña", True)
FrmCajaDeEntrada.ShowDialog()
If FrmCajaDeEntrada.Resultado = "desarrollo007" Then
ResuBoolean = True
End If
Return ResuBoolean
End Function
Private Sub IniciarAplicacion()
My.Application.DoEvents()
ValidarVersiones(My.Application.IDAPLICACION)
InfoBD()
InfoUsuario()
LogueoExitoso = False
AvisarAlSalir = True
If ConectarUsuarioAAplicacionSinSeguridad(My.Application.IDUSUARIO, My.Application.IDAPLICACION, My.Computer.Name.ToString, My.Application.Info.Version.ToString) = False Then
Me.Close()
Else
LogueoExitoso = True
End If
End Sub
Private Sub ValidarVersiones(ByVal unIdAplicacion As Integer)
'Try
' mDtResultado = New DataTable
' mDtResultado = ConexionSQL.EjecutarSP("SP_MAESTRO_VERSIONES_LEER", unIdAplicacion)
' If Not IsNothing(mDtResultado) Then
' If mDtResultado.Rows(0).Item("VERSIONACTUAL") = My.Application.Info.Version.ToString Then
' 'Ok tiene la version actual
' Else
' If mDtResultado.Rows(0).Item("VERSIONANTERIOR") = My.Application.Info.Version.ToString Then
' 'Tiene la versión anterior
' If mDtResultado.Rows(0).Item("URGENTE") = 0 Then
' 'No es urgente
' Else
' 'La actualización debe ser inmediatamente
' GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Adveretencia, "Su versión está desactualizada, por favor salga del Sigma y vuelva a ingresar.").ShowDialog()
' Application.ExitThread()
' End If
' Else
' 'Tiene una versión no registrada - mail a sistemas
' 'objRemRN = New RemisionRN
' 'EnviarMail("desarrollo@mimo.com.ar", "Sigma - Versión no registrada", "URGENTE. La computadora " & My.Computer.Name & " (usuario " & My.Application.IDUSUARIO & ") posee una versión no registrada de la aplicación: " & My.Application.Info.AssemblyName & " (" & VVidaplic & "). version: " & My.Application.Info.Version.ToString)
' GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Adveretencia, "Su versión no está registrada. Envío de email automático a Sistemas.").ShowDialog()
' Application.ExitThread()
' End If
' End If
' Else
' GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Adveretencia, "Ocurrio un error al validar la versión, se cerrará la aplicación. ").ShowDialog()
' Application.ExitThread()
' End If
'Catch ex As Exception
' GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Adveretencia, "Ocurrio un error al validar la versión, se cerrará la aplicación. " & vbCrLf & ex.Message.ToString).ShowDialog()
' Application.ExitThread()
'End Try
End Sub
Private Function ChequearUsuarioConectado() As Boolean
ResuBoolean = False
mDtResultado = New DataTable
mDtResultado = ConexionSQL.EjecutarSP("SP_PLUS_REMISION_CHEQUEAR_USUARIO_CONECTADO", My.Application.IDUSUARIO)
If Not IsNothing(mDtResultado) Then
If mDtResultado.Rows(0).Item(0) = 0 Then
ResuBoolean = False
Else
ResuBoolean = True
End If
End If
Return ResuBoolean
End Function
Private Function ConectarUsuarioAAplicacionSinSeguridad(ByVal unUsuario As Integer, ByVal unaAplicacion As Integer, ByVal unaPC As String,
ByVal unaVersion As String) As Boolean
mDtResultado = New DataTable
ResuBoolean = False
mDtResultado = ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_CONECTAR_USUARIO_A_APLICACION_SIN_BLOQUEO", unUsuario, unaAplicacion, unaPC, unaVersion)
If Not IsNothing(mDtResultado) Then
' 1 - INSERTO CORRECTAMENTE
'-1 - FALLO EL INSERT
' 2 - HIZO EL UPDATE DEL ESTADO CORRECTAMENTE
'-2 - FALLO EL UPDATE DEL ESTADO
Select Case mDtResultado.Rows(0).Item(0)
Case 1
ResuBoolean = True
Case -1
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "Falló el ingreso del dato en la tabla 'HERRAMIENTAS_SIGMA_USUARIOS_CONECTADOS'").ShowDialog()
Case 2
ResuBoolean = True
Case -2
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "Falló la actualización del dato en la tabla 'HERRAMIENTAS_SIGMA_USUARIOS_CONECTADOS'").ShowDialog()
End Select
Else
ResuBoolean = False
End If
Return ResuBoolean
End Function
Private Function DesConectarUsuarioAAplicacion(ByVal unUsuario As Integer, ByVal unaAplicacion As Integer) As Boolean
ResuBoolean = False
mDtResultado = New DataTable
mDtResultado = ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_DESCONECTAR_USUARIO_A_APLICACION", unUsuario, unaAplicacion)
If Not IsNothing(mDtResultado) Then
If mDtResultado.Rows(0).Item(0) = True Then
ResuBoolean = True
End If
End If
Return ResuBoolean
End Function
Public Sub InfoBD()
If UCase(ConexionSQL.ObtenerBase) <> "SIGMA" Then
LABASE = " | Base: " & UCase(ConexionSQL.ObtenerBase)
SERVIDOR = " | Servidor: " & IIf(UCase(ConexionSQL.ObtenerServidor) = "SR01SIG01", "PRODUCCIÓN", "TESTING")
Else
LABASE = ""
'SERVIDOR = " | Servidor: " & UCase(objRemRN.ppServidor)
SERVIDOR = " | Servidor: " & IIf(UCase(ConexionSQL.ObtenerServidor) = "SR01SIG01", "PRODUCCIÓN", "TESTING")
End If
BarStaticItem_BASE.Caption = SERVIDOR & LABASE & " | Versión " & My.Application.Info.Version.ToString
'Cargo la infro al supertip
Dim sTooltip2 As SuperToolTip = New SuperToolTip
Dim args As SuperToolTipSetupArgs = New SuperToolTipSetupArgs
args.Title.Text = "Mensaje del sistema"
args.Contents.Text = "Usted se encuentra en: " & vbCrLf & SERVIDOR & LABASE & vbCrLf & " | Versión " & My.Application.Info.Version.ToString
args.Contents.Image = My.Resources.database_32x32
'args.Footer.Text = "Equipo de sistemas"
sTooltip2.Setup(args)
' Assign the created SuperToolTip to a BarItem.
BarStaticItem_BASE.SuperTip = sTooltip2
End Sub
Private Sub InfoUsuario()
BSI_Usuario.Caption = ObtenerUsuarioLogueado(My.Application.IDUSUARIO)
'Cargo la infro al supertip
Dim sTooltip3 As SuperToolTip = New SuperToolTip
Dim args As SuperToolTipSetupArgs = New SuperToolTipSetupArgs
args.Title.Text = "Mensaje del sistema"
args.Contents.Text = "El usuario logueado es: " & BSI_Usuario.Caption
args.Contents.Image = My.Resources.customer_32x32
'args.Footer.Text = "Equipo de sistemas"
sTooltip3.Setup(args)
' Assign the created SuperToolTip to a BarItem.
BSI_Usuario.SuperTip = sTooltip3
End Sub
Private Function ObtenerUsuarioLogueado(ByVal idUsuario As Integer) As String
mDtResultado = New DataTable
mDtResultado = ConexionSQL.EjecutarSP("SP_PLUS_REMISION_OBTENER_USUARIO_LOGUEADO", idUsuario)
If Not IsNothing(mDtResultado) Then
Return mDtResultado.Rows(0).Item(0)
Else
Return Nothing
End If
End Function
#End Region
Private Sub BBI_Usuarios_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_Aplicaciones.ItemClick
Try
FrmRenovarAcceso = New RenovarAcceso
FrmRenovarAcceso.ShowDialog()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir 'Renovar Acceso'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub BBI_Usuarios_Remision_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_Usuarios_Remision.ItemClick
Try
FrmRenovarAccesoRemision = New RenovarAccesoRemision
FrmRenovarAccesoRemision.ShowDialog()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir 'Renovar Acceso'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_GeneradorHash.ItemClick
GeneradorSeed.ShowDialog()
End Sub
Private Sub BBI_Ajustes_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_Modulos.ItemClick
Try
FrmModulo = New FormModulos 'FormABModulos
FormModulos.ShowDialog()
Catch es As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al Intentar abrir 'Nuevo Modulo'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Function ex() As Object
Throw New NotImplementedException
End Function
Private Sub ABModulos_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_ABModulos.ItemClick
Try
FrmModulo = New FormModulos
FormModulos.ShowDialog()
Catch es As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al Intentar abrir 'Nuevo Modulo'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub ABMAplicacion_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_ABMAplicacion.ItemClick
Try
FrmABMAplicacion = New FormABMAplicaciones
FormABMAplicaciones.ShowDialog()
Catch es As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al Intentar abrir 'Nuevo Modulo'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub BBI_GestionPerfil_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_GestionPerfil.ItemClick
Try
FrmABMEditarPermiso = New FormABMEditarPermiso
FormABMEditarPermiso.ShowDialog()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir Modulo." & ex.ToString).ShowDialog()
End Try
End Sub
Private Sub RibbonControl_Click(sender As Object, e As EventArgs) Handles RibbonControl.Click
End Sub
End Class
viernes, 28 de febrero de 2020
clase editar permisos completa
Public Class EditarABMpermisos
#Region "Movimiento del Formulario"
'Declaraciones API Windows
Private Declare Function SendMessage _
Lib "user32" _
Alias "SendMessageA" ( _
ByVal hwnd As Integer, _
ByVal wMsg As Integer, _
ByVal wParam As Integer, _
ByRef lParam As Object) As Integer
Private Declare Function ReleaseCapture Lib "user32" () As Integer
' constantes / variables
Private Const WM_NCLBUTTONDOWN As Integer = &HA1
Private Const HTCAPTION As Integer = 2
Sub Mover_Formulario(ByVal frm As Form)
ReleaseCapture()
'cambiar el puntero
Me.Cursor = Cursors.SizeAll
If Me.WindowState = FormWindowState.Normal Then
Dim ret As Integer = SendMessage( _
frm.Handle.ToInt32, _
WM_NCLBUTTONDOWN, _
HTCAPTION, 0)
End If
'reestablecer el cursor al soltar
Me.Cursor = Cursors.Default
End Sub
'Evento del Formulario para soltar *************************************************************************
Private Sub MensajeSistema_KeyDown( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Escape Then Me.Close()
End Sub
'Muevo desde el Formulario *************************************************************************
Private Sub MensajeSistema_MouseDown( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
If e.Button = Windows.Forms.MouseButtons.Left Then
' pasar el formulario como parámetro
Mover_Formulario(Me)
End If
End Sub
'Muevo desde la barra *************************************************************************
Private Sub TSMenu_MouseDown(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles TSMenu.MouseDown
If e.Button = Windows.Forms.MouseButtons.Left Then
' pasar el formulario como parámetro
Mover_Formulario(Me)
End If
End Sub
#End Region
#Region "Declaraciones"
Public Enum Tipo
Perfil
Usuario
End Enum
Public TipoIngreso As Tipo
Private mDt As New DataTable
Private IdAplicacionSeleccionada As Integer
Private IdAplicacionSel As Integer
Private IdPerfilSel As Integer
Private IdUsuarioSel As Integer
Private IdControlSel As Integer
Private VisibleSel As Boolean
Private ActivoSel As Boolean
#End Region
#Region "Funciones"
Private Sub ListarPerfiles()
mDt = New DataTable
mDt = ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_PERFILES")
If Not IsNothing(mDt) Then
GLUE_Perfiles.Properties.DataSource = mDt
Else
GLUE_Perfiles.Properties.DataSource = Nothing
End If
End Sub
Private Sub ListarUsuarios()
mDt = New DataTable
mDt = ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_USUARIOS")
If Not IsNothing(mDt) Then
GLUE_Usuarios.Properties.DataSource = mDt
Else
GLUE_Usuarios.Properties.DataSource = Nothing
End If
End Sub
Private Sub ListarControlesPorPerfil()
If (Not IsNothing(GLUE_Aplicaciones.EditValue)) And (Not IsNothing(GLUE_Perfiles.EditValue)) Then
mDt = New DataTable
mDt = ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_DE_CONTROLES_POR_PERFIL", GLUE_Aplicaciones.EditValue, GLUE_Perfiles.EditValue)
If Not IsNothing(mDt) Then
GcPermisos.DataSource = mDt
Else
GcPermisos.DataSource = Nothing
End If
Else
GcPermisos.DataSource = Nothing
End If
End Sub
Private Sub GrabarPermisosPorPerfil()
IdAplicacionSel = GLUE_Aplicaciones.EditValue
IdPerfilSel = GLUE_Perfiles.EditValue
For i As Integer = 0 To GvPermisos.RowCount - 1
IdControlSel = GvPermisos.GetRowCellValue(i, "IDCONTROL")
VisibleSel = GvPermisos.GetRowCellValue(i, "VISIBLE")
ActivoSel = GvPermisos.GetRowCellValue(i, "ACTIVO")
ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_INGRESAR_PERMISO_POR_PERFIL", IdControlSel, IdAplicacionSel, IdPerfilSel, VisibleSel, ActivoSel)
Next
CargarControlesPerfil(IdAplicacionSel, IdPerfilSel)
End Sub
'----------------------------------------------
Private Sub CargarControlesPerfil(ByVal iAplicacion As Integer, ByVal iperfil As Integer)
'objInformesRN.SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_CONTROLES_POR_PERFIL(My.Application.IDAPLICACION, My.Application.IDPERFIL)
'mDtListadoControles = objInformesRN.Tabla
Dim aDtListaControlPerfil = New DataTable
aDtListaControlPerfil = ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_CONTROLES_POR_PERFIL", iAplicacion, iperfil)
CambiarControlPorSeguridad(aDtListaControlPerfil)
End Sub
Public Sub CambiarControlPorSeguridad(ByRef mdtListadocontroles1 As DataTable)
Dim Ncontrol As String
Dim Cactivo As Boolean
Dim Cvisible As Boolean
For i As Integer = 0 To mdtListadocontroles1.Rows.Count - 1
Ncontrol = mdtListadocontroles1.Rows(i).Item("NOMBRECONTROL")
Cvisible = mdtListadocontroles1.Rows(i).Item("VISIBLE")
Cactivo = mdtListadocontroles1.Rows(i).Item("ACTIVO")
If Cactivo = False Or Cvisible = False Then
ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_MODIFICAR_ESTADO_CONTROLES_POR_USUARIO", My.Application.IDAPLICACION, Ncontrol, Cactivo, Cvisible, My.Application.IDUSUARIO)
End If
Next
End Sub
'----------------------------------------
Private Sub ListadoDeControlesPorUsuario()
mDt = New DataTable
mDt = ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_DE_CONTROLES_POR_USUARIO", GLUE_Aplicaciones.EditValue, GLUE_Usuarios.EditValue)
If Not IsNothing(mDt) Then
GcPermisos.DataSource = mDt
Else
GcPermisos.DataSource = Nothing
End If
End Sub
Private Sub GrabarPermisosPorUsuario()
IdAplicacionSel = GLUE_Aplicaciones.EditValue
IdUsuarioSel = GLUE_Usuarios.EditValue
For i As Integer = 0 To GvPermisos.RowCount - 1
IdControlSel = GvPermisos.GetRowCellValue(i, "IDCONTROL")
VisibleSel = GvPermisos.GetRowCellValue(i, "VISIBLE")
ActivoSel = GvPermisos.GetRowCellValue(i, "ACTIVO")
ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_INGRESAR_PERMISO_POR_USUARIO", IdControlSel, IdAplicacionSel, IdUsuarioSel, VisibleSel, ActivoSel)
Next
ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LIMPIAR_LISTADO_CONTROLES_POR_USUARIO", IdAplicacionSel, IdUsuarioSel)
End Sub
Private Sub IniciarAplicacion()
ListarControles() 'carga listado de aplicaciones
If TipoIngreso = Tipo.Perfil Then
PanelUsuario.Enabled = False
PanelUsuario.Visible = False
ListarPerfiles()
ElseIf TipoIngreso = Tipo.Usuario Then
PanelPerfil.Enabled = False
PanelPerfil.Visible = False
ListarUsuarios()
End If
End Sub
Private Sub ListarControles()
mDt = New DataTable
mDt = ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_APLICACIONES")
If Not IsNothing(mDt) Then
GLUE_Aplicaciones.Properties.DataSource = mDt
Else
GLUE_Aplicaciones.Properties.DataSource = Nothing
End If
End Sub
#End Region
#Region "Eventos"
Private Sub BTCancelar_Click(sender As Object, e As EventArgs) Handles BTCancelar.Click
Me.Close()
End Sub
Private Sub TSB_Maximizar_Click(sender As Object, e As EventArgs) Handles TSB_Maximizar.Click
If Me.WindowState = FormWindowState.Maximized Then
Me.WindowState = FormWindowState.Normal
Else
Me.WindowState = FormWindowState.Maximized
End If
End Sub
Private Sub EditarPermisos_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
IniciarAplicacion()
validarChebox()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al listar controles por perfil." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub GLUE_Aplicaciones_EditValueChanged(sender As Object, e As EventArgs) Handles GLUE_Aplicaciones.EditValueChanged
Try
ListarControlesPorPerfil()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al listar controles por perfil." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub GLUE_Perfiles_EditValueChanged(sender As Object, e As EventArgs) Handles GLUE_Perfiles.EditValueChanged
Try
ListarControlesPorPerfil()
validarChebox()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al listar controles por perfil." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub BtnGrabar_Click(sender As Object, e As EventArgs) Handles BtnGrabar.Click
Try
If GvPermisos.RowCount > 0 Then
If IsNothing(GLUE_Aplicaciones.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado una aplicación válida.").ShowDialog()
Exit Sub
End If
If TipoIngreso = Tipo.Perfil Then
If IsNothing(GLUE_Perfiles.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado un perfil válido.").ShowDialog()
Exit Sub
End If
GrabarPermisosPorPerfil()
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Correcto, "Se grabó correctamente.").ShowDialog()
Me.Close()
ElseIf TipoIngreso = Tipo.Usuario Then
If IsNothing(GLUE_Usuarios.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado un usuario válido.").ShowDialog()
Exit Sub
End If
GrabarPermisosPorUsuario()
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Correcto, "Se grabó correctamente").ShowDialog()
Me.Close()
End If
Else
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: selección no válida.").ShowDialog()
End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar grabar." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub GLUE_Usuarios_EditValueChanged(sender As Object, e As EventArgs) Handles GLUE_Usuarios.EditValueChanged
Try
ListadoDeControlesPorUsuario()
validarChebox()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar listar controles por usuario." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
#End Region
Private Sub CB_ActivarTodos_CheckedChanged(sender As Object, e As EventArgs) Handles CHB_ActivarTodos.CheckedChanged
Try
If IsNothing(GLUE_Aplicaciones.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado una aplicación válida.").ShowDialog()
Exit Sub
End If
If TipoIngreso = Tipo.Perfil Then
If IsNothing(GLUE_Perfiles.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado un perfil válido.").ShowDialog()
Exit Sub
End If
ElseIf TipoIngreso = Tipo.Usuario Then
If IsNothing(GLUE_Usuarios.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado un Usuario válido.").ShowDialog()
Exit Sub
End If
End If
IdAplicacionSel = GLUE_Aplicaciones.EditValue
IdPerfilSel = GLUE_Perfiles.EditValue
If CHB_ActivarTodos.Checked = False Then
For i As Integer = 0 To GvPermisos.RowCount - 1
GvPermisos.SetRowCellValue(i, "ACTIVO", False)
Next
Else
For i As Integer = 0 To GvPermisos.RowCount - 1
GvPermisos.SetRowCellValue(i, "ACTIVO", True)
Next
End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR RB001: al intentar Seleccionar todo los registros visibles." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Sub validarChebox()
Try
If Not IsNothing(GLUE_Perfiles.EditValue) Or Not IsNothing(GLUE_Usuarios.EditValue) Then
CHB_VisibleTodos.Enabled = True
CHB_ActivarTodos.Enabled = True
Else
CHB_VisibleTodos.Enabled = False
CHB_ActivarTodos.Enabled = False
End If
' CHB_VisibleTodos.Checked = False
' CHB_ActivarTodos.Checked = False
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR CH0024: " & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub CHB_VisibleTodos_CheckedChanged(sender As Object, e As EventArgs) Handles CHB_VisibleTodos.CheckedChanged
Try
If IsNothing(GLUE_Aplicaciones.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado una aplicación válida.").ShowDialog()
Exit Sub
End If
If TipoIngreso = Tipo.Perfil Then
If IsNothing(GLUE_Perfiles.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado un perfil válido.").ShowDialog()
Exit Sub
End If
ElseIf TipoIngreso = Tipo.Usuario Then
If IsNothing(GLUE_Usuarios.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado un Usuario válido.").ShowDialog()
Exit Sub
End If
End If
IdAplicacionSel = GLUE_Aplicaciones.EditValue
IdPerfilSel = GLUE_Perfiles.EditValue
If CHB_VisibleTodos.Checked = False Then
For i As Integer = 0 To GvPermisos.RowCount - 1
GvPermisos.SetRowCellValue(i, "VISIBLE", False)
Next
Else
For i As Integer = 0 To GvPermisos.RowCount - 1
GvPermisos.SetRowCellValue(i, "VISIBLE", True)
Next
End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR RB001: al intentar Seleccionar todo los registros visibles." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
End Class
#Region "Movimiento del Formulario"
'Declaraciones API Windows
Private Declare Function SendMessage _
Lib "user32" _
Alias "SendMessageA" ( _
ByVal hwnd As Integer, _
ByVal wMsg As Integer, _
ByVal wParam As Integer, _
ByRef lParam As Object) As Integer
Private Declare Function ReleaseCapture Lib "user32" () As Integer
' constantes / variables
Private Const WM_NCLBUTTONDOWN As Integer = &HA1
Private Const HTCAPTION As Integer = 2
Sub Mover_Formulario(ByVal frm As Form)
ReleaseCapture()
'cambiar el puntero
Me.Cursor = Cursors.SizeAll
If Me.WindowState = FormWindowState.Normal Then
Dim ret As Integer = SendMessage( _
frm.Handle.ToInt32, _
WM_NCLBUTTONDOWN, _
HTCAPTION, 0)
End If
'reestablecer el cursor al soltar
Me.Cursor = Cursors.Default
End Sub
'Evento del Formulario para soltar *************************************************************************
Private Sub MensajeSistema_KeyDown( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Escape Then Me.Close()
End Sub
'Muevo desde el Formulario *************************************************************************
Private Sub MensajeSistema_MouseDown( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
If e.Button = Windows.Forms.MouseButtons.Left Then
' pasar el formulario como parámetro
Mover_Formulario(Me)
End If
End Sub
'Muevo desde la barra *************************************************************************
Private Sub TSMenu_MouseDown(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles TSMenu.MouseDown
If e.Button = Windows.Forms.MouseButtons.Left Then
' pasar el formulario como parámetro
Mover_Formulario(Me)
End If
End Sub
#End Region
#Region "Declaraciones"
Public Enum Tipo
Perfil
Usuario
End Enum
Public TipoIngreso As Tipo
Private mDt As New DataTable
Private IdAplicacionSeleccionada As Integer
Private IdAplicacionSel As Integer
Private IdPerfilSel As Integer
Private IdUsuarioSel As Integer
Private IdControlSel As Integer
Private VisibleSel As Boolean
Private ActivoSel As Boolean
#End Region
#Region "Funciones"
Private Sub ListarPerfiles()
mDt = New DataTable
mDt = ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_PERFILES")
If Not IsNothing(mDt) Then
GLUE_Perfiles.Properties.DataSource = mDt
Else
GLUE_Perfiles.Properties.DataSource = Nothing
End If
End Sub
Private Sub ListarUsuarios()
mDt = New DataTable
mDt = ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_USUARIOS")
If Not IsNothing(mDt) Then
GLUE_Usuarios.Properties.DataSource = mDt
Else
GLUE_Usuarios.Properties.DataSource = Nothing
End If
End Sub
Private Sub ListarControlesPorPerfil()
If (Not IsNothing(GLUE_Aplicaciones.EditValue)) And (Not IsNothing(GLUE_Perfiles.EditValue)) Then
mDt = New DataTable
mDt = ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_DE_CONTROLES_POR_PERFIL", GLUE_Aplicaciones.EditValue, GLUE_Perfiles.EditValue)
If Not IsNothing(mDt) Then
GcPermisos.DataSource = mDt
Else
GcPermisos.DataSource = Nothing
End If
Else
GcPermisos.DataSource = Nothing
End If
End Sub
Private Sub GrabarPermisosPorPerfil()
IdAplicacionSel = GLUE_Aplicaciones.EditValue
IdPerfilSel = GLUE_Perfiles.EditValue
For i As Integer = 0 To GvPermisos.RowCount - 1
IdControlSel = GvPermisos.GetRowCellValue(i, "IDCONTROL")
VisibleSel = GvPermisos.GetRowCellValue(i, "VISIBLE")
ActivoSel = GvPermisos.GetRowCellValue(i, "ACTIVO")
ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_INGRESAR_PERMISO_POR_PERFIL", IdControlSel, IdAplicacionSel, IdPerfilSel, VisibleSel, ActivoSel)
Next
CargarControlesPerfil(IdAplicacionSel, IdPerfilSel)
End Sub
'----------------------------------------------
Private Sub CargarControlesPerfil(ByVal iAplicacion As Integer, ByVal iperfil As Integer)
'objInformesRN.SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_CONTROLES_POR_PERFIL(My.Application.IDAPLICACION, My.Application.IDPERFIL)
'mDtListadoControles = objInformesRN.Tabla
Dim aDtListaControlPerfil = New DataTable
aDtListaControlPerfil = ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_CONTROLES_POR_PERFIL", iAplicacion, iperfil)
CambiarControlPorSeguridad(aDtListaControlPerfil)
End Sub
Public Sub CambiarControlPorSeguridad(ByRef mdtListadocontroles1 As DataTable)
Dim Ncontrol As String
Dim Cactivo As Boolean
Dim Cvisible As Boolean
For i As Integer = 0 To mdtListadocontroles1.Rows.Count - 1
Ncontrol = mdtListadocontroles1.Rows(i).Item("NOMBRECONTROL")
Cvisible = mdtListadocontroles1.Rows(i).Item("VISIBLE")
Cactivo = mdtListadocontroles1.Rows(i).Item("ACTIVO")
If Cactivo = False Or Cvisible = False Then
ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_MODIFICAR_ESTADO_CONTROLES_POR_USUARIO", My.Application.IDAPLICACION, Ncontrol, Cactivo, Cvisible, My.Application.IDUSUARIO)
End If
Next
End Sub
'----------------------------------------
Private Sub ListadoDeControlesPorUsuario()
mDt = New DataTable
mDt = ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_DE_CONTROLES_POR_USUARIO", GLUE_Aplicaciones.EditValue, GLUE_Usuarios.EditValue)
If Not IsNothing(mDt) Then
GcPermisos.DataSource = mDt
Else
GcPermisos.DataSource = Nothing
End If
End Sub
Private Sub GrabarPermisosPorUsuario()
IdAplicacionSel = GLUE_Aplicaciones.EditValue
IdUsuarioSel = GLUE_Usuarios.EditValue
For i As Integer = 0 To GvPermisos.RowCount - 1
IdControlSel = GvPermisos.GetRowCellValue(i, "IDCONTROL")
VisibleSel = GvPermisos.GetRowCellValue(i, "VISIBLE")
ActivoSel = GvPermisos.GetRowCellValue(i, "ACTIVO")
ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_INGRESAR_PERMISO_POR_USUARIO", IdControlSel, IdAplicacionSel, IdUsuarioSel, VisibleSel, ActivoSel)
Next
ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LIMPIAR_LISTADO_CONTROLES_POR_USUARIO", IdAplicacionSel, IdUsuarioSel)
End Sub
Private Sub IniciarAplicacion()
ListarControles() 'carga listado de aplicaciones
If TipoIngreso = Tipo.Perfil Then
PanelUsuario.Enabled = False
PanelUsuario.Visible = False
ListarPerfiles()
ElseIf TipoIngreso = Tipo.Usuario Then
PanelPerfil.Enabled = False
PanelPerfil.Visible = False
ListarUsuarios()
End If
End Sub
Private Sub ListarControles()
mDt = New DataTable
mDt = ConexionSQL.EjecutarSP("SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_APLICACIONES")
If Not IsNothing(mDt) Then
GLUE_Aplicaciones.Properties.DataSource = mDt
Else
GLUE_Aplicaciones.Properties.DataSource = Nothing
End If
End Sub
#End Region
#Region "Eventos"
Private Sub BTCancelar_Click(sender As Object, e As EventArgs) Handles BTCancelar.Click
Me.Close()
End Sub
Private Sub TSB_Maximizar_Click(sender As Object, e As EventArgs) Handles TSB_Maximizar.Click
If Me.WindowState = FormWindowState.Maximized Then
Me.WindowState = FormWindowState.Normal
Else
Me.WindowState = FormWindowState.Maximized
End If
End Sub
Private Sub EditarPermisos_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
IniciarAplicacion()
validarChebox()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al listar controles por perfil." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub GLUE_Aplicaciones_EditValueChanged(sender As Object, e As EventArgs) Handles GLUE_Aplicaciones.EditValueChanged
Try
ListarControlesPorPerfil()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al listar controles por perfil." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub GLUE_Perfiles_EditValueChanged(sender As Object, e As EventArgs) Handles GLUE_Perfiles.EditValueChanged
Try
ListarControlesPorPerfil()
validarChebox()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al listar controles por perfil." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub BtnGrabar_Click(sender As Object, e As EventArgs) Handles BtnGrabar.Click
Try
If GvPermisos.RowCount > 0 Then
If IsNothing(GLUE_Aplicaciones.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado una aplicación válida.").ShowDialog()
Exit Sub
End If
If TipoIngreso = Tipo.Perfil Then
If IsNothing(GLUE_Perfiles.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado un perfil válido.").ShowDialog()
Exit Sub
End If
GrabarPermisosPorPerfil()
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Correcto, "Se grabó correctamente.").ShowDialog()
Me.Close()
ElseIf TipoIngreso = Tipo.Usuario Then
If IsNothing(GLUE_Usuarios.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado un usuario válido.").ShowDialog()
Exit Sub
End If
GrabarPermisosPorUsuario()
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Correcto, "Se grabó correctamente").ShowDialog()
Me.Close()
End If
Else
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: selección no válida.").ShowDialog()
End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar grabar." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub GLUE_Usuarios_EditValueChanged(sender As Object, e As EventArgs) Handles GLUE_Usuarios.EditValueChanged
Try
ListadoDeControlesPorUsuario()
validarChebox()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar listar controles por usuario." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
#End Region
Private Sub CB_ActivarTodos_CheckedChanged(sender As Object, e As EventArgs) Handles CHB_ActivarTodos.CheckedChanged
Try
If IsNothing(GLUE_Aplicaciones.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado una aplicación válida.").ShowDialog()
Exit Sub
End If
If TipoIngreso = Tipo.Perfil Then
If IsNothing(GLUE_Perfiles.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado un perfil válido.").ShowDialog()
Exit Sub
End If
ElseIf TipoIngreso = Tipo.Usuario Then
If IsNothing(GLUE_Usuarios.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado un Usuario válido.").ShowDialog()
Exit Sub
End If
End If
IdAplicacionSel = GLUE_Aplicaciones.EditValue
IdPerfilSel = GLUE_Perfiles.EditValue
If CHB_ActivarTodos.Checked = False Then
For i As Integer = 0 To GvPermisos.RowCount - 1
GvPermisos.SetRowCellValue(i, "ACTIVO", False)
Next
Else
For i As Integer = 0 To GvPermisos.RowCount - 1
GvPermisos.SetRowCellValue(i, "ACTIVO", True)
Next
End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR RB001: al intentar Seleccionar todo los registros visibles." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Sub validarChebox()
Try
If Not IsNothing(GLUE_Perfiles.EditValue) Or Not IsNothing(GLUE_Usuarios.EditValue) Then
CHB_VisibleTodos.Enabled = True
CHB_ActivarTodos.Enabled = True
Else
CHB_VisibleTodos.Enabled = False
CHB_ActivarTodos.Enabled = False
End If
' CHB_VisibleTodos.Checked = False
' CHB_ActivarTodos.Checked = False
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR CH0024: " & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub CHB_VisibleTodos_CheckedChanged(sender As Object, e As EventArgs) Handles CHB_VisibleTodos.CheckedChanged
Try
If IsNothing(GLUE_Aplicaciones.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado una aplicación válida.").ShowDialog()
Exit Sub
End If
If TipoIngreso = Tipo.Perfil Then
If IsNothing(GLUE_Perfiles.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado un perfil válido.").ShowDialog()
Exit Sub
End If
ElseIf TipoIngreso = Tipo.Usuario Then
If IsNothing(GLUE_Usuarios.EditValue) Then
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: no se ha seleccionado un Usuario válido.").ShowDialog()
Exit Sub
End If
End If
IdAplicacionSel = GLUE_Aplicaciones.EditValue
IdPerfilSel = GLUE_Perfiles.EditValue
If CHB_VisibleTodos.Checked = False Then
For i As Integer = 0 To GvPermisos.RowCount - 1
GvPermisos.SetRowCellValue(i, "VISIBLE", False)
Next
Else
For i As Integer = 0 To GvPermisos.RowCount - 1
GvPermisos.SetRowCellValue(i, "VISIBLE", True)
Next
End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR RB001: al intentar Seleccionar todo los registros visibles." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
End Class
SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_CONTROLES_POR_PERFIL
USE [SIGMAMIRROR]
GO
/****** Object: StoredProcedure [dbo].[SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_CONTROLES_POR_PERFIL] Script Date: 28/2/2020 18:12:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_CONTROLES_POR_PERFIL]
@IDAPLICACION INT,
@IDPERFIL INT
AS
SELECT PMSC.NombreControl AS 'NOMBRECONTROL',
PMSP.visible AS 'VISIBLE',
PMSP.enable AS 'ACTIVO'
FROM PLUS_MAESTRO_SEGURIDAD_PERMISOS PMSP
INNER JOIN PLUS_MAESTRO_SEGURIDAD_CONTROLES PMSC ON PMSP.idControl = PMSC.IdControl
INNER JOIN dbo.PLUS_MAESTRO_SEGURIDAD_PERMISOS_POR_USUARIO AS pmsppu ON pmsppu.idControl = PMSC.IdControl
WHERE PMSP.idAplicacion = @IDAPLICACION
AND PMSP.idPerfil = @IDPERFIL
AND PMSP.activo = 1
AND pmsppu.activo = 1
GO
/****** Object: StoredProcedure [dbo].[SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_CONTROLES_POR_PERFIL] Script Date: 28/2/2020 18:12:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SP_HERRAMIENTAS_SIGMA_SEGURIDAD_LISTADO_CONTROLES_POR_PERFIL]
@IDAPLICACION INT,
@IDPERFIL INT
AS
SELECT PMSC.NombreControl AS 'NOMBRECONTROL',
PMSP.visible AS 'VISIBLE',
PMSP.enable AS 'ACTIVO'
FROM PLUS_MAESTRO_SEGURIDAD_PERMISOS PMSP
INNER JOIN PLUS_MAESTRO_SEGURIDAD_CONTROLES PMSC ON PMSP.idControl = PMSC.IdControl
INNER JOIN dbo.PLUS_MAESTRO_SEGURIDAD_PERMISOS_POR_USUARIO AS pmsppu ON pmsppu.idControl = PMSC.IdControl
WHERE PMSP.idAplicacion = @IDAPLICACION
AND PMSP.idPerfil = @IDPERFIL
AND PMSP.activo = 1
AND pmsppu.activo = 1
SP_HERRAMIENTAS_SIGMA_SEGURIDAD_MODIFICAR_ESTADO_CONTROLES_POR_USUARIO
USE [SIGMAMIRROR] ya esta registrado en el servidor productivo
GO
/****** Object: StoredProcedure [dbo].[SP_HERRAMIENTAS_SIGMA_SEGURIDAD_MODIFICAR_ESTADO_CONTROLES_POR_USUARIO] Script Date: 28/2/2020 17:31:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SP_HERRAMIENTAS_SIGMA_SEGURIDAD_MODIFICAR_ESTADO_CONTROLES_POR_USUARIO]
@idaplicacion INT,
@nombrecontrol varchar(300),
@activo BIT,
@visible BIT,
@usuario INT
AS
DECLARE @idcontroles INT =(SELECT idcontrol FROM plus_maestro_seguridad_controles WHERE NombreControl=@nombrecontrol)
IF @idcontroles <> 0
begin
UPDATE PLUS_MAESTRO_SEGURIDAD_PERMISOS_POR_USUARIO SET enable=@activo,visible=@visible WHERE idControl=@idcontroles AND idUsuario=@usuario AND idAplicacion=@idaplicacion
end
GO
/****** Object: StoredProcedure [dbo].[SP_HERRAMIENTAS_SIGMA_SEGURIDAD_MODIFICAR_ESTADO_CONTROLES_POR_USUARIO] Script Date: 28/2/2020 17:31:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SP_HERRAMIENTAS_SIGMA_SEGURIDAD_MODIFICAR_ESTADO_CONTROLES_POR_USUARIO]
@idaplicacion INT,
@nombrecontrol varchar(300),
@activo BIT,
@visible BIT,
@usuario INT
AS
DECLARE @idcontroles INT =(SELECT idcontrol FROM plus_maestro_seguridad_controles WHERE NombreControl=@nombrecontrol)
IF @idcontroles <> 0
begin
UPDATE PLUS_MAESTRO_SEGURIDAD_PERMISOS_POR_USUARIO SET enable=@activo,visible=@visible WHERE idControl=@idcontroles AND idUsuario=@usuario AND idAplicacion=@idaplicacion
end
jueves, 27 de febrero de 2020
Uso del tipo de dato Enum vb.net
#Region "Declaraciones"
Public Enum Tipo
Perfil
Usuario
End Enum
Public TipoIngreso As Tipo
Private mDt As New DataTable
Private IdAplicacionSeleccionada As Integer
Private IdAplicacionSel As Integer
Private IdPerfilSel As Integer
Private IdUsuarioSel As Integer
Private IdControlSel As Integer
Private VisibleSel As Boolean
Private ActivoSel As Boolean
#End Region
decisiones donde se asigna
Private Sub IniciarAplicacion()
ListarControles() 'carga listado de aplicaciones
If TipoIngreso = Tipo.Perfil Then
PanelUsuario.Enabled = False
PanelUsuario.Visible = False
ListarPerfiles()
ElseIf TipoIngreso = Tipo.Usuario Then
PanelPerfil.Enabled = False
PanelPerfil.Visible = False
ListarUsuarios()
End If
End Sub
funciones donde se asigna
Private Sub BBI_PermisosPorPefil_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_PermisosPorPefil.ItemClick
Try
'If ValidarCotraseña() Then
FrmEditarPermisos = New EditarABMpermisos
FrmEditarPermisos.TipoIngreso = EditarABMpermisos.Tipo.Perfil
FrmEditarPermisos.ShowDialog()
'End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir 'Editar Permisos por Perfil'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub BBI_PermisosPorUsuario_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_PermisosPorUsuario.ItemClick
Try
'If ValidarCotraseña() Then
FrmEditarPermisos = New EditarABMpermisos
FrmEditarPermisos.TipoIngreso = EditarABMpermisos.Tipo.Usuario
FrmEditarPermisos.ShowDialog()
' End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir 'Editar Permisos por Usuario'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Public Enum Tipo
Perfil
Usuario
End Enum
Public TipoIngreso As Tipo
Private mDt As New DataTable
Private IdAplicacionSeleccionada As Integer
Private IdAplicacionSel As Integer
Private IdPerfilSel As Integer
Private IdUsuarioSel As Integer
Private IdControlSel As Integer
Private VisibleSel As Boolean
Private ActivoSel As Boolean
#End Region
decisiones donde se asigna
Private Sub IniciarAplicacion()
ListarControles() 'carga listado de aplicaciones
If TipoIngreso = Tipo.Perfil Then
PanelUsuario.Enabled = False
PanelUsuario.Visible = False
ListarPerfiles()
ElseIf TipoIngreso = Tipo.Usuario Then
PanelPerfil.Enabled = False
PanelPerfil.Visible = False
ListarUsuarios()
End If
End Sub
funciones donde se asigna
Private Sub BBI_PermisosPorPefil_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_PermisosPorPefil.ItemClick
Try
'If ValidarCotraseña() Then
FrmEditarPermisos = New EditarABMpermisos
FrmEditarPermisos.TipoIngreso = EditarABMpermisos.Tipo.Perfil
FrmEditarPermisos.ShowDialog()
'End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir 'Editar Permisos por Perfil'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub BBI_PermisosPorUsuario_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_PermisosPorUsuario.ItemClick
Try
'If ValidarCotraseña() Then
FrmEditarPermisos = New EditarABMpermisos
FrmEditarPermisos.TipoIngreso = EditarABMpermisos.Tipo.Usuario
FrmEditarPermisos.ShowDialog()
' End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir 'Editar Permisos por Usuario'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
miércoles, 26 de febrero de 2020
RECORRER Menu System.Windows.Forms.ToolStripMenuItem
Private Sub RegistroItems()
Dim Menu As System.Windows.Forms.ToolStripMenuItem
Dim SubMenu As System.Windows.Forms.ToolStripDropDownItem
Dim submenu_ As System.Windows.Forms.ToolStripItem
Dim I, H As Integer
Dim NombreControl, DescripcionControl As String
Try
objInformesRN = New InformesRN.InformesRN
objInformesRN.InicializarBase()
For Each Menu In Me.MenuStrip1.Items
NombreControl = Menu.Name
DescripcionControl = Menu.Tag
If DescripcionControl = "" Then
DescripcionControl = "Menu,Sin Definir"
End If
objInformesRN.ControlesMenuInsertar(My.Application.IDAPLICACION, NombreControl, DescripcionControl)
For I = 0 To Menu.DropDownItems.Count - 1
If Menu.DropDownItems.Item(I).GetType().FullName = "System.Windows.Forms.ToolStripMenuItem" Then '---->Menu
SubMenu = Menu.DropDownItems.Item(I) '--->opciones del menu
NombreControl = SubMenu.Name
DescripcionControl = SubMenu.Tag
If DescripcionControl = "" Then
DescripcionControl = "SubMenu,Sin Definir"
End If
objInformesRN.ControlesMenuInsertar(My.Application.IDAPLICACION, NombreControl, DescripcionControl)
For H = 0 To SubMenu.DropDownItems.Count - 1
If SubMenu.DropDownItems.Item(H).GetType().FullName = "System.Windows.Forms.ToolStripMenuItem" Then '---->Menu
submenu_ = SubMenu.DropDownItems.Item(H) '--->opciones del menu
NombreControl = submenu_.Name
DescripcionControl = submenu_.Tag
If DescripcionControl = "" Then
DescripcionControl = "OpcMenu,Sin Definir"
End If
objInformesRN.ControlesMenuInsertar(My.Application.IDAPLICACION, NombreControl, DescripcionControl)
End If
Next
End If
Next
Next
Catch ex As Exception
MessageBox.Show("#ERROR RC002, No se pudo realizar el registro de los controles: " + ex.ToString)
End Try
End Sub
Dim Menu As System.Windows.Forms.ToolStripMenuItem
Dim SubMenu As System.Windows.Forms.ToolStripDropDownItem
Dim submenu_ As System.Windows.Forms.ToolStripItem
Dim I, H As Integer
Dim NombreControl, DescripcionControl As String
Try
objInformesRN = New InformesRN.InformesRN
objInformesRN.InicializarBase()
For Each Menu In Me.MenuStrip1.Items
NombreControl = Menu.Name
DescripcionControl = Menu.Tag
If DescripcionControl = "" Then
DescripcionControl = "Menu,Sin Definir"
End If
objInformesRN.ControlesMenuInsertar(My.Application.IDAPLICACION, NombreControl, DescripcionControl)
For I = 0 To Menu.DropDownItems.Count - 1
If Menu.DropDownItems.Item(I).GetType().FullName = "System.Windows.Forms.ToolStripMenuItem" Then '---->Menu
SubMenu = Menu.DropDownItems.Item(I) '--->opciones del menu
NombreControl = SubMenu.Name
DescripcionControl = SubMenu.Tag
If DescripcionControl = "" Then
DescripcionControl = "SubMenu,Sin Definir"
End If
objInformesRN.ControlesMenuInsertar(My.Application.IDAPLICACION, NombreControl, DescripcionControl)
For H = 0 To SubMenu.DropDownItems.Count - 1
If SubMenu.DropDownItems.Item(H).GetType().FullName = "System.Windows.Forms.ToolStripMenuItem" Then '---->Menu
submenu_ = SubMenu.DropDownItems.Item(H) '--->opciones del menu
NombreControl = submenu_.Name
DescripcionControl = submenu_.Tag
If DescripcionControl = "" Then
DescripcionControl = "OpcMenu,Sin Definir"
End If
objInformesRN.ControlesMenuInsertar(My.Application.IDAPLICACION, NombreControl, DescripcionControl)
End If
Next
End If
Next
Next
Catch ex As Exception
MessageBox.Show("#ERROR RC002, No se pudo realizar el registro de los controles: " + ex.ToString)
End Try
End Sub
Clase ConexionSQL.vb , aplicación seguridad.
Imports System.Data.SqlClient
Public Class ConexionSQL
#Region "Declaraciones"
Private Shared StrCon As String = ""
Private Shared mCon As SqlConnection
Private Shared mDs As New DataSet
Private Shared mDa As New SqlDataAdapter
Private Shared mDt As New DataTable
Private Shared mCom As New SqlCommand
Private Shared ObjAccesoArchivo As New AccesoArchivo
Private Shared ObjAccesoBD As AccesoXML
Private Shared Servidor, Base As String
Private Shared mDtResultado As New DataTable
Private Shared i As Integer
#End Region
#Region "Funciones"
Public Shared Function ExecuteDataset(ByVal unCommandText As String) As DataSet
Try
mDs = New DataSet
mCon = New SqlConnection(StrCon)
mDa = New SqlDataAdapter(unCommandText, mCon)
mCon.Open()
mDa.Fill(mDs)
Return mDs
Catch ex As Exception
MsgBox("Ocurrio un error en funcion DATASET. " & ex.Message.ToString)
Return Nothing
Finally
mCon.Close()
mCon.Dispose()
End Try
End Function
Public Shared Function ExecuteDataTable(ByVal unCommandText As String) As DataTable
Try
mDt = New DataTable
mCon = New SqlConnection(StrCon)
mDa = New SqlDataAdapter(unCommandText, mCon)
mCon.Open()
mDa.Fill(mDt)
Return mDt
Catch ex As Exception
MsgBox("Ocurrio un error en funcion DATATABLE. " & ex.Message.ToString)
Return Nothing
Finally
mCon.Close()
mCon.Dispose()
End Try
End Function
Public Shared Function ObtenerBase() As String
Return Base
End Function
Public Shared Function ObtenerServidor() As String
Return Servidor
End Function
#Region "RN"
Public Shared Function EjecutarSP(ByVal unStoredProcedure As String, ParamArray param() As String) As DataTable
mDtResultado = New DataTable
EjecutarStoredProcedure(unStoredProcedure, param)
mDtResultado = mDt
Return mDtResultado
End Function
Public Shared Function EjecutarSP(ByVal unStoredProcedure As String) As DataTable
mDtResultado = New DataTable
EjecutarStoredProcedure(unStoredProcedure)
mDtResultado = mDt
Return mDtResultado
End Function
#End Region
#Region "BD"
Private Shared Sub EjecutarStoredProcedure(ByVal unStoredProcedure As String, ParamArray parametro() As String)
InicializarDatos()
Ejecutar(unStoredProcedure, parametro)
End Sub
Private Shared Sub EjecutarStoredProcedure(ByVal unStoredProcedure As String)
InicializarDatos()
Ejecutar(unStoredProcedure)
End Sub
Private Shared Sub InicializarDatos()
mCon = New SqlConnection
ObjAccesoArchivo = New AccesoArchivo
mCon.ConnectionString = ObjAccesoArchivo.Conn.ConnectionString
ObjAccesoBD = New AccesoXML
Base = ObjAccesoBD.BaseDatos
Servidor = ObjAccesoBD.Servidor
End Sub
Public Shared Function Ejecutar(Procedimiento As String, ParamArray Parametro() As Object) As DataTable
Try
i = 0
mCon.Open()
mCom = New SqlCommand
mCom.CommandText = Procedimiento
mCom.CommandType = CommandType.StoredProcedure
mCom.Connection = mCon
mDt = New DataTable
SqlCommandBuilder.DeriveParameters(mCom)
For i = 0 To Parametro.Length
If i > 0 Then
CType(mCom.Parameters(i), SqlParameter).Value = Parametro(i - 1)
End If
Next
mDt = CargarDataTable(mCom.ExecuteReader)
Return mDt
Catch ex As Exception
MessageBox.Show(ex.Message, "Mensaje de Sistema")
mDt = Nothing
Return mDt
Finally
mCon.Close()
End Try
End Function
Private Shared Function CargarDataTable(ByVal Rst As SqlDataReader) As DataTable
mDt = New DataTable
Try
If Rst.HasRows Then
mDt.Load(Rst)
Else
mDt = Nothing
End If
Return mDt
Catch ex As Exception
Return mDt
Finally
Rst.Close()
End Try
End Function
#End Region
#End Region
End Class
Public Class ConexionSQL
#Region "Declaraciones"
Private Shared StrCon As String = ""
Private Shared mCon As SqlConnection
Private Shared mDs As New DataSet
Private Shared mDa As New SqlDataAdapter
Private Shared mDt As New DataTable
Private Shared mCom As New SqlCommand
Private Shared ObjAccesoArchivo As New AccesoArchivo
Private Shared ObjAccesoBD As AccesoXML
Private Shared Servidor, Base As String
Private Shared mDtResultado As New DataTable
Private Shared i As Integer
#End Region
#Region "Funciones"
Public Shared Function ExecuteDataset(ByVal unCommandText As String) As DataSet
Try
mDs = New DataSet
mCon = New SqlConnection(StrCon)
mDa = New SqlDataAdapter(unCommandText, mCon)
mCon.Open()
mDa.Fill(mDs)
Return mDs
Catch ex As Exception
MsgBox("Ocurrio un error en funcion DATASET. " & ex.Message.ToString)
Return Nothing
Finally
mCon.Close()
mCon.Dispose()
End Try
End Function
Public Shared Function ExecuteDataTable(ByVal unCommandText As String) As DataTable
Try
mDt = New DataTable
mCon = New SqlConnection(StrCon)
mDa = New SqlDataAdapter(unCommandText, mCon)
mCon.Open()
mDa.Fill(mDt)
Return mDt
Catch ex As Exception
MsgBox("Ocurrio un error en funcion DATATABLE. " & ex.Message.ToString)
Return Nothing
Finally
mCon.Close()
mCon.Dispose()
End Try
End Function
Public Shared Function ObtenerBase() As String
Return Base
End Function
Public Shared Function ObtenerServidor() As String
Return Servidor
End Function
#Region "RN"
Public Shared Function EjecutarSP(ByVal unStoredProcedure As String, ParamArray param() As String) As DataTable
mDtResultado = New DataTable
EjecutarStoredProcedure(unStoredProcedure, param)
mDtResultado = mDt
Return mDtResultado
End Function
Public Shared Function EjecutarSP(ByVal unStoredProcedure As String) As DataTable
mDtResultado = New DataTable
EjecutarStoredProcedure(unStoredProcedure)
mDtResultado = mDt
Return mDtResultado
End Function
#End Region
#Region "BD"
Private Shared Sub EjecutarStoredProcedure(ByVal unStoredProcedure As String, ParamArray parametro() As String)
InicializarDatos()
Ejecutar(unStoredProcedure, parametro)
End Sub
Private Shared Sub EjecutarStoredProcedure(ByVal unStoredProcedure As String)
InicializarDatos()
Ejecutar(unStoredProcedure)
End Sub
Private Shared Sub InicializarDatos()
mCon = New SqlConnection
ObjAccesoArchivo = New AccesoArchivo
mCon.ConnectionString = ObjAccesoArchivo.Conn.ConnectionString
ObjAccesoBD = New AccesoXML
Base = ObjAccesoBD.BaseDatos
Servidor = ObjAccesoBD.Servidor
End Sub
Public Shared Function Ejecutar(Procedimiento As String, ParamArray Parametro() As Object) As DataTable
Try
i = 0
mCon.Open()
mCom = New SqlCommand
mCom.CommandText = Procedimiento
mCom.CommandType = CommandType.StoredProcedure
mCom.Connection = mCon
mDt = New DataTable
SqlCommandBuilder.DeriveParameters(mCom)
For i = 0 To Parametro.Length
If i > 0 Then
CType(mCom.Parameters(i), SqlParameter).Value = Parametro(i - 1)
End If
Next
mDt = CargarDataTable(mCom.ExecuteReader)
Return mDt
Catch ex As Exception
MessageBox.Show(ex.Message, "Mensaje de Sistema")
mDt = Nothing
Return mDt
Finally
mCon.Close()
End Try
End Function
Private Shared Function CargarDataTable(ByVal Rst As SqlDataReader) As DataTable
mDt = New DataTable
Try
If Rst.HasRows Then
mDt.Load(Rst)
Else
mDt = Nothing
End If
Return mDt
Catch ex As Exception
Return mDt
Finally
Rst.Close()
End Try
End Function
#End Region
#End Region
End Class
Clase SQLconexion
Imports System.Data.SqlClient
Public Class ConexionSQL
#Region "Declaraciones"
Private Shared StrCon As String = ""
Private Shared mCon As SqlConnection
Private Shared mDs As New DataSet
Private Shared mDa As New SqlDataAdapter
Private Shared mDt As New DataTable
Private Shared mCom As New SqlCommand
Private Shared ObjAccesoArchivo As New AccesoArchivo
Private Shared ObjAccesoBD As AccesoXML
Private Shared Servidor, Base As String
Private Shared mDtResultado As New DataTable
Private Shared i As Integer
#End Region
#Region "Funciones"
Public Shared Function ExecuteDataset(ByVal unCommandText As String) As DataSet
Try
mDs = New DataSet
mCon = New SqlConnection(StrCon)
mDa = New SqlDataAdapter(unCommandText, mCon)
mCon.Open()
mDa.Fill(mDs)
Return mDs
Catch ex As Exception
MsgBox("Ocurrio un error en funcion DATASET. " & ex.Message.ToString)
Return Nothing
Finally
mCon.Close()
mCon.Dispose()
End Try
End Function
Public Shared Function ExecuteDataTable(ByVal unCommandText As String) As DataTable
Try
mDt = New DataTable
mCon = New SqlConnection(StrCon)
mDa = New SqlDataAdapter(unCommandText, mCon)
mCon.Open()
mDa.Fill(mDt)
Return mDt
Catch ex As Exception
MsgBox("Ocurrio un error en funcion DATATABLE. " & ex.Message.ToString)
Return Nothing
Finally
mCon.Close()
mCon.Dispose()
End Try
End Function
Public Shared Function ObtenerBase() As String
Return Base
End Function
Public Shared Function ObtenerServidor() As String
Return Servidor
End Function
#Region "RN"
Public Shared Function EjecutarSP(ByVal unStoredProcedure As String, ParamArray param() As String) As DataTable
mDtResultado = New DataTable
EjecutarStoredProcedure(unStoredProcedure, param)
mDtResultado = mDt
Return mDtResultado
End Function
Public Shared Function EjecutarSP(ByVal unStoredProcedure As String) As DataTable
mDtResultado = New DataTable
EjecutarStoredProcedure(unStoredProcedure)
mDtResultado = mDt
Return mDtResultado
End Function
#End Region
#Region "BD"
Private Shared Sub EjecutarStoredProcedure(ByVal unStoredProcedure As String, ParamArray parametro() As String)
InicializarDatos()
Ejecutar(unStoredProcedure, parametro)
End Sub
Private Shared Sub EjecutarStoredProcedure(ByVal unStoredProcedure As String)
InicializarDatos()
Ejecutar(unStoredProcedure)
End Sub
Private Shared Sub InicializarDatos()
mCon = New SqlConnection
ObjAccesoArchivo = New AccesoArchivo
mCon.ConnectionString = ObjAccesoArchivo.Conn.ConnectionString
ObjAccesoBD = New AccesoXML
Base = ObjAccesoBD.BaseDatos
Servidor = ObjAccesoBD.Servidor
End Sub
Public Shared Function Ejecutar(Procedimiento As String, ParamArray Parametro() As Object) As DataTable
Try
i = 0
mCon.Open()
mCom = New SqlCommand
mCom.CommandText = Procedimiento
mCom.CommandType = CommandType.StoredProcedure
mCom.Connection = mCon
mDt = New DataTable
SqlCommandBuilder.DeriveParameters(mCom)
For i = 0 To Parametro.Length
If i > 0 Then
CType(mCom.Parameters(i), SqlParameter).Value = Parametro(i - 1)
End If
Next
mDt = CargarDataTable(mCom.ExecuteReader)
Return mDt
Catch ex As Exception
MessageBox.Show(ex.Message, "Mensaje de Sistema")
mDt = Nothing
Return mDt
Finally
mCon.Close()
End Try
End Function
Private Shared Function CargarDataTable(ByVal Rst As SqlDataReader) As DataTable
mDt = New DataTable
Try
If Rst.HasRows Then
mDt.Load(Rst)
Else
mDt = Nothing
End If
Return mDt
Catch ex As Exception
Return mDt
Finally
Rst.Close()
End Try
End Function
#End Region
#End Region
End Class
Public Class ConexionSQL
#Region "Declaraciones"
Private Shared StrCon As String = ""
Private Shared mCon As SqlConnection
Private Shared mDs As New DataSet
Private Shared mDa As New SqlDataAdapter
Private Shared mDt As New DataTable
Private Shared mCom As New SqlCommand
Private Shared ObjAccesoArchivo As New AccesoArchivo
Private Shared ObjAccesoBD As AccesoXML
Private Shared Servidor, Base As String
Private Shared mDtResultado As New DataTable
Private Shared i As Integer
#End Region
#Region "Funciones"
Public Shared Function ExecuteDataset(ByVal unCommandText As String) As DataSet
Try
mDs = New DataSet
mCon = New SqlConnection(StrCon)
mDa = New SqlDataAdapter(unCommandText, mCon)
mCon.Open()
mDa.Fill(mDs)
Return mDs
Catch ex As Exception
MsgBox("Ocurrio un error en funcion DATASET. " & ex.Message.ToString)
Return Nothing
Finally
mCon.Close()
mCon.Dispose()
End Try
End Function
Public Shared Function ExecuteDataTable(ByVal unCommandText As String) As DataTable
Try
mDt = New DataTable
mCon = New SqlConnection(StrCon)
mDa = New SqlDataAdapter(unCommandText, mCon)
mCon.Open()
mDa.Fill(mDt)
Return mDt
Catch ex As Exception
MsgBox("Ocurrio un error en funcion DATATABLE. " & ex.Message.ToString)
Return Nothing
Finally
mCon.Close()
mCon.Dispose()
End Try
End Function
Public Shared Function ObtenerBase() As String
Return Base
End Function
Public Shared Function ObtenerServidor() As String
Return Servidor
End Function
#Region "RN"
Public Shared Function EjecutarSP(ByVal unStoredProcedure As String, ParamArray param() As String) As DataTable
mDtResultado = New DataTable
EjecutarStoredProcedure(unStoredProcedure, param)
mDtResultado = mDt
Return mDtResultado
End Function
Public Shared Function EjecutarSP(ByVal unStoredProcedure As String) As DataTable
mDtResultado = New DataTable
EjecutarStoredProcedure(unStoredProcedure)
mDtResultado = mDt
Return mDtResultado
End Function
#End Region
#Region "BD"
Private Shared Sub EjecutarStoredProcedure(ByVal unStoredProcedure As String, ParamArray parametro() As String)
InicializarDatos()
Ejecutar(unStoredProcedure, parametro)
End Sub
Private Shared Sub EjecutarStoredProcedure(ByVal unStoredProcedure As String)
InicializarDatos()
Ejecutar(unStoredProcedure)
End Sub
Private Shared Sub InicializarDatos()
mCon = New SqlConnection
ObjAccesoArchivo = New AccesoArchivo
mCon.ConnectionString = ObjAccesoArchivo.Conn.ConnectionString
ObjAccesoBD = New AccesoXML
Base = ObjAccesoBD.BaseDatos
Servidor = ObjAccesoBD.Servidor
End Sub
Public Shared Function Ejecutar(Procedimiento As String, ParamArray Parametro() As Object) As DataTable
Try
i = 0
mCon.Open()
mCom = New SqlCommand
mCom.CommandText = Procedimiento
mCom.CommandType = CommandType.StoredProcedure
mCom.Connection = mCon
mDt = New DataTable
SqlCommandBuilder.DeriveParameters(mCom)
For i = 0 To Parametro.Length
If i > 0 Then
CType(mCom.Parameters(i), SqlParameter).Value = Parametro(i - 1)
End If
Next
mDt = CargarDataTable(mCom.ExecuteReader)
Return mDt
Catch ex As Exception
MessageBox.Show(ex.Message, "Mensaje de Sistema")
mDt = Nothing
Return mDt
Finally
mCon.Close()
End Try
End Function
Private Shared Function CargarDataTable(ByVal Rst As SqlDataReader) As DataTable
mDt = New DataTable
Try
If Rst.HasRows Then
mDt.Load(Rst)
Else
mDt = Nothing
End If
Return mDt
Catch ex As Exception
Return mDt
Finally
Rst.Close()
End Try
End Function
#End Region
#End Region
End Class
Limpiar Memory Stream
memoryStream = new MemoryStream(memoryStream.Capacity());
memoryStream.SetLength(0);
Suscribirse a:
Entradas (Atom)
Los mail de oulook no se pueden reenviar.
cuando en el asunto poseen un caracter especial por ejemplo @#$ los correos no salen y no te muestra ningun correo de rebote, especialmente...
-
https://msdn.microsoft.com/en-us/library/office/ff192694.aspx filtros DoCmd.SetFilter Method (Access) Office 2013 and later Ot...
-
Tabla de operadores Access para Office 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Un operador es...