viernes, 28 de febrero de 2020

clase principal aplicacion seguridad

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

No hay comentarios:

Publicar un comentario

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...