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 sUsuario As String
Private FrmGestiondeDevolucion As GestiondeDevolucion
Private FrmAuditoria As AuditoriaCorreos
#End Region
#Region "Eventos"
Private Sub Principal_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
IniciarAplicacion()
OperacionesControles()
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
#End Region
#Region "Funciones"
Private Sub OperacionesControles()
RegistroControles()
EjecutarPermisos()
End Sub
Private Sub RegistroControles()
ControlesPermisos.RegistrarControles(Me)
End Sub
Private Sub EjecutarPermisos()
ControlesPermisos.DesactivarControlesAplicacion(Me)
ControlesPermisos.ActivarControlesPorPefil(Me, My.Application.IDAPLICACION, My.Application.IDPERFIL)
ControlesPermisos.ActivarControlesPorUsuario(Me, My.Application.IDAPLICACION, My.Application.IDUSUARIO)
End Sub
Private Sub IniciarAplicacion()
InfoUsuario()
InfoBD()
ValidarVersiones(My.Application.IDAPLICACION)
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 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 = AccesoBase.SetSP("SP_HERRAMIENTAS_SIGMA_CONECTAR_USUARIO_A_APLICACION_SIN_BLOQUEO").SetParam(unUsuario, unaAplicacion, unaPC, unaVersion)
If mDtResultado IsNot Nothing 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 Sub ValidarVersiones(ByVal unIdAplicacion As Integer)
Try
mDtResultado = New DataTable
mDtResultado = AccesoBase.SetSP("SP_MAESTRO_VERSIONES_LEER").SetParam(unIdAplicacion)
If mDtResultado IsNot Nothing 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
'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
Public Sub InfoBD()
If AccesoBase.ObtenerBase <> "SIGMA" Then
LABASE = " | Base: " & UCase(AccesoBase.ObtenerBase)
SERVIDOR = " | Servidor: " & IIf(UCase(AccesoBase.ObtenerServidor) = "SR01SIG01" Or UCase(AccesoBase.ObtenerServidor) = "192.168.1.20", "PRODUCCIÓN", "TESTING")
Else
LABASE = ""
'SERVIDOR = " | Servidor: " & UCase(objRemRN.ppServidor)
SERVIDOR = " | Servidor: " & IIf(UCase(AccesoBase.ObtenerServidor) = "SR01SIG01" Or UCase(AccesoBase.ObtenerServidor) = "192.168.1.20", "PRODUCCIÓN", "TESTING")
End If
Me.Text = Me.Text & 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()
sUsuario = ObtenerUsuarioLogueado(My.Application.IDUSUARIO)
End Sub
Private Function ObtenerUsuarioLogueado(ByVal idUsuario As Integer) As String
mDtResultado = New DataTable
mDtResultado = AccesoBase.SetSP("SP_ECOMMERCE_DEVOLUCION_OBTENER_USUARIO_LOGUEADO").SetParam(idUsuario)
If mDtResultado IsNot Nothing Then
Return mDtResultado.Rows(0).Item(0)
Else
Return Nothing
End If
End Function
Private Sub BBI_Devoluciones_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_Devoluciones.ItemClick
Try
FrmGestiondeDevolucion = New GestiondeDevolucion
FrmGestiondeDevolucion.Show()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir 'Gestión de Devolucion'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
Private Sub BBI_AuditoriaCorreo_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BBI_AuditoriaCorreo.ItemClick
Try
FrmAuditoria = New AuditoriaCorreos
FrmAuditoria.Show()
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Errores, "#ERROR: al intentar abrir 'Gestión Auditoria de Correos'." & vbCrLf & ex.Message.ToString).ShowDialog()
End Try
End Sub
#End Region
End Class