martes, 4 de febrero de 2020

Aplicaciones Seguridad Aplicaciones

Option Explicit On

Imports System.Data.SqlClient
Imports System.Data.Sql
Imports System.IO

'My.Application.IDUSUARIO

Public Class FormABMAplicaciones
    Dim salida As String

    'Private IdAplicacionSeleccionada As Integer
    'Private IdAplicacionSel As Integer

    Private IpbImagen001 As Byte()
    Dim ms As New MemoryStream
    Private adapter As SqlDataAdapter
    Private mDt As New DataTable
    Private dt As New DataTable
    Private dtt As New DataTable
    Private CMD As New SqlCommand
    Dim CBIdUsuario As String
    Dim Vusuario As String
    Dim sentencia, msg As String
    Dim valorcb As String 'optiene el resultado del combo de modulos
    Dim conexion As New SqlConnection("Data Source=SR01SIGPRE01;Initial Catalog=SIGMAMIRROR;Integrated Security=True")

#Region "botones"


    Private Sub BtnAgregar_Click(sender As Object, e As EventArgs) Handles BtnAgregar.Click

        Dim Vcbidmodulo As Integer
        Dim VtbCodigoAplicacion As String
        Dim VtbNombAplicacion As String
        Dim VtbArchiEjecut As String
        Dim VtbNombImg As String
        Dim VCBEdoActivo As Boolean
        Dim VtbVersión As String
        Dim VimagenAplic As Image



        If tbNombAplicacion.Text = "" Or
                                        tbNombAplicacion.Text = "" Or
                                        tbArchiEjecut.Text = "" Or
                                        CBEdoActivo.Text = "" Or
                                        tbVersion.Text = "" Or
                                         GLUmodulo.EditValue = 0 Then
            MessageBox.Show("No se pudieron agregar los datos, Algunos Campos estan Vacios")

        Else

            VtbCodigoAplicacion = tbCodigoAplicacion.Text
            VtbNombAplicacion = tbNombAplicacion.Text
            VtbArchiEjecut = tbArchiEjecut.Text
            VtbNombImg = tbNombImg.Text
            VCBEdoActivo = CBEdoActivo.Text
            VtbVersión = tbVersion.Text
            'valorcb = CbidModulo.SelectedValue.ToString()
            Vcbidmodulo = GLUmodulo.EditValue
            VimagenAplic = PictureBox1.Image

            Insertar(Vcbidmodulo, VtbCodigoAplicacion, VtbNombAplicacion, VtbArchiEjecut, VtbNombImg, VCBEdoActivo, VtbVersión, VimagenAplic)

            MessageBox.Show("Registro de la aplicación exitoso")
            LIMPIAR_CAMPOS()
        End If
        CARGAR_DATOS()
    End Sub

    Private Sub BtnSalir_Click(sender As Object, e As EventArgs) Handles BtnSalir.Click
        Me.Close()
    End Sub

    Private Sub BtnActualizar_Click(sender As Object, e As EventArgs) Handles BtnActualizar.Click
        Dim VId_AplicaciónTextBox As String
        Dim Vcbidmodulo As Integer 'String
        Dim VtbCodigoAplicacion As String
        Dim VtbNombAplicacion As String
        Dim VtbArchiEjecut As String
        Dim VtbNombImg As String
        Dim VCBEdoActivo As Boolean
        Dim VtbVersion As String
        Dim VimagenAplic As Image



        If Id_AplicaciónTextBox.Text <> "" Then
            If tbCodigoAplicacion.Text.Equals("") = False And tbNombAplicacion.Text.Equals("") = False Then
                VId_AplicaciónTextBox = Id_AplicaciónTextBox.Text
                Vcbidmodulo = GLUmodulo.EditValue
                VtbCodigoAplicacion = tbCodigoAplicacion.Text
                VtbNombAplicacion = tbNombAplicacion.Text
                VtbArchiEjecut = tbArchiEjecut.Text
                VtbNombImg = tbNombImg.Text
                VCBEdoActivo = CBEdoActivo.Text
                VtbVersion = tbVersion.Text
                VimagenAplic = PictureBox1.Image
                Actualizar(VId_AplicaciónTextBox, Vcbidmodulo, VtbCodigoAplicacion, VtbNombAplicacion, VtbArchiEjecut, VtbNombImg, VCBEdoActivo, VtbVersion, VimagenAplic)
                MsgBox("Actualización correcta")
            Else

                GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Adveretencia, "No se pudo actualizar, algunos campos estan vacios. ").ShowDialog()
                Exit Sub
            End If
            LIMPIAR_CAMPOS()
            CARGAR_DATOS()
        Else
            GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Adveretencia, "Para modificar, debe ingrezar primero la aplicación. ").ShowDialog()
            Exit Sub
        End If

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        CARGAR_IMAGEN()
    End Sub

#End Region

   

#Region "Funciones"

    Function Insertar(ByVal cbidmodulo As Integer,
                      ByVal tbCodigoAplicacion As String,
                      ByVal tbNombAplicacion As String,
                      ByVal tbArchiEjecut As String,
                      ByVal tbNombImg As String,
                      ByVal CBEdoActivo As Boolean,
                      ByVal tbVersión As String,
                      ByVal VimagenAplic As Image
                      )
        Dim salida As String
        salida = "Datos Agregados Muy Bien..!!"
        Try
            CMD = New SqlCommand("SP_PLUS_SEGURIDAD_ABMTABLA_APLICACIONES_INSERTAR", conexion)
            conexion.Open()
            CMD.CommandType = CommandType.StoredProcedure
            With CMD.Parameters
                .AddWithValue("@_idmodulo", cbidmodulo)
                .AddWithValue("@_CODAPLIC", UCase(tbCodigoAplicacion))
                .AddWithValue("@_DESCAPLIC", UCase(tbNombAplicacion))
                .AddWithValue("@_ARCHEJEA", tbArchiEjecut)
                Me.PictureBox1.Image.Save(ms, Me.PictureBox1.Image.RawFormat)
                IpbImagen001 = ms.GetBuffer
                .AddWithValue("@_IMAGAPLI", IpbImagen001)
                .AddWithValue("@_ACTIVO", CBEdoActivo)
                .AddWithValue("@_IDUSUARIO", My.Application.IDUSUARIO)
                .AddWithValue("@_NOMBIMAG", tbNombImg)
                .AddWithValue("@_VERSION", tbVersión)
            End With
            CMD.ExecuteNonQuery()
            conexion.Close()
        Catch ex As Exception
            MessageBox.Show("No se logro el registro:" + ex.ToString)

        End Try
        Return salida
    End Function

    Function Actualizar(ByVal Id_AplicaciónTextBox As Integer,
                    ByVal cbidmodulo As Integer,
                    ByVal tbCodigoAplicacion As String,
                    ByVal tbNombAplicacion As String,
                    ByVal tbArchiEjecut As String,
                    ByVal tbNombImg As String,
                    ByVal cbEdoActivo As Boolean,
                    ByVal tbVersión As String,
                    ByVal IpbImagen As Image
                  )

        Try
            CMD = New SqlCommand("SP_SISTEMA_APLICACIONES_APTUALIZAR", conexion)
            conexion.Open()
            CMD.CommandType = CommandType.StoredProcedure
            With CMD.Parameters
                .AddWithValue("@_IDAPLICACION", Id_AplicaciónTextBox)
                .AddWithValue("@_idmodulo", cbidmodulo)
                .AddWithValue("@_CODAPLIC", UCase(tbCodigoAplicacion))
                .AddWithValue("@_DESCAPLIC", UCase(tbNombAplicacion))
                .AddWithValue("@_ARCHEJEA", tbArchiEjecut)

                Dim ms As New MemoryStream
                Me.PictureBox1.Image.Save(ms, Me.PictureBox1.Image.RawFormat)
                IpbImagen001 = ms.GetBuffer

                .AddWithValue("@_IMAGAPLI", IpbImagen001)
                .AddWithValue("@_ACTIVO", cbEdoActivo)
                .AddWithValue("@_IDUSUARIO", My.Application.IDUSUARIO)
                .AddWithValue("@_NOMBIMAG", tbNombImg)
                .AddWithValue("@_VERSION", tbVersión)
                'convert.tostring
            End With
            CMD.ExecuteNonQuery()
            conexion.Close()
        Catch ex As Exception
            MessageBox.Show("No se pudo actualizar el registro:" + ex.ToString)
        End Try
        Return salida
    End Function
#End Region

    Sub CARGAR_DATOS()
        mDt = New DataTable
        mDt = ConexionSQL.EjecutarSP("SP_PLUS_SEGURIDAD_ABMTABLA_APLICACIONES")
        If Not IsNothing(mDt) Then
            GCAplicaciones.DataSource = mDt
        End If

    End Sub

    Private Sub FormABMAplicaciones_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        CARGAR_DATOS()
        CARGAR_COMBO_MODULO()
        LIMPIAR_CAMPOS()
    End Sub

    Sub CARGAR_COMBO_MODULO()
        mDt = New DataTable
        mDt = ConexionSQL.EjecutarSP("SP_SISTEMA_MODULOS_LISTAR", True)
        If Not IsNothing(mDt) Then
            GLUmodulo.Properties.DataSource = mDt
        Else
            GLUmodulo.Properties.DataSource = Nothing
        End If

    End Sub

    Sub CARGAR_IMAGEN()
        OpenFileDialog1.InitialDirectory = "C:\"
        If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)
            tbNombImg.Text = Path.GetFileName(OpenFileDialog1.FileName)

        End If
    End Sub


    Sub LIMPIAR_CAMPOS()
        Id_AplicaciónTextBox.Text = ""
        'CbidModulo.Text = 0
        GLUEmodulo.EditingValue = 0
        tbCodigoAplicacion.Text = ""
        tbNombAplicacion.Text = ""
        tbArchiEjecut.Text = ""
        tbNombImg.Text = ""
        CBEdoActivo.Text = True
        tbVersion.Text = ""
        Me.PictureBox1.Image = My.Resources.SinImagen001

    End Sub

    Private Sub GridView1_DoubleClick(sender As Object, e As EventArgs) Handles GridView1.DoubleClick

        Try
            Id_AplicaciónTextBox.Text = GridView1.GetFocusedRowCellValue("ID")
            tbCodigoAplicacion.Text = GridView1.GetFocusedRowCellValue("CODIGO")
            tbNombAplicacion.Text = Convert.ToString(GridView1.GetFocusedRowCellValue("DESCRIPCION"))
            tbArchiEjecut.Text = Convert.ToString(GridView1.GetFocusedRowCellValue("ARCHIVO EJECUTABLE"))
            CBEdoActivo.Text = GridView1.GetFocusedRowCellValue("ACTIVO")
            Dim CBUsuario As String ' PARA OCUPAR EL ESPACIO NO UTILIZO LA VARIABLE.
            CBUsuario = Convert.ToString(GridView1.GetFocusedRowCellValue("USUARIO"))
            GLUmodulo.EditValue = GridView1.GetFocusedRowCellValue("IDMODULO")
            tbNombImg.Text = Convert.ToString(GridView1.GetFocusedRowCellValue("NOMBRE DE LA IMAGEN"))
            tbVersion.Text = Convert.ToString(GridView1.GetFocusedRowCellValue("VERSION"))

            'EN EL CODIGO SIGUIENTE CONVIERTO LA IMAGEN DE TIPO BIT A IMAGEN PARA PODER SER VISTA EN EL PICTURE CONTROL
            If (GridView1.GetFocusedRowCellValue(".") Is DBNull.Value) Then
                Me.PictureBox1.Image = My.Resources.SinImagen001
            Else
                Dim dtImagen As New DataTable
                dtImagen = ConexionSQL.EjecutarSP("SP_PLUS_SEGURIDAD_ABMTABLA_APLICACIONES_CONSULTA_IMAGEN", Id_AplicaciónTextBox.Text)
                Dim ByteData As Array
                Dim StreamData As IO.MemoryStream
                ByteData = dtImagen.Rows(0).Item("IMGAplic")
                If ByteData IsNot Nothing Then
                    StreamData = New IO.MemoryStream(ByteData)
                    PictureBox1.Image = Image.FromStream(StreamData)
                End If
            End If
        Catch ex As Exception
            MessageBox.Show("Errors:" + ex.ToString)
            Exit Sub
        End Try
    End Sub

    Private Sub LimpiarCampos_Click(sender As Object, e As EventArgs) Handles LimpiarCampos.Click
        LIMPIAR_CAMPOS()
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        OpenFileDialog2.InitialDirectory = "C:\"
        OpenFileDialog2.Filter = "*.EXE|*.exe"
        If OpenFileDialog2.ShowDialog = Windows.Forms.DialogResult.OK Then
            'Me.tbArchiEjecut.Text = OpenFileDialog2.FileName
            Me.tbArchiEjecut.Text = Path.GetFileName(OpenFileDialog2.FileName)
        End If

    End Sub

    Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
        CARGAR_IMAGEN()
    End Sub

    Private Sub tbVersion_KeyPress(sender As Object, e As KeyPressEventArgs) Handles tbVersion.KeyPress
        'en esta sintaxis solo podran escribir en la entrada numeros y letras
        If Char.IsNumber(e.KeyChar) Or Char.IsLetter(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsControl(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsSeparator(e.KeyChar) Then
            e.Handled = False
        Else
            e.Handled = True
        End If
    End Sub


    Private Sub tbCodigoAplicacion_KeyPress(sender As Object, e As KeyPressEventArgs) Handles tbCodigoAplicacion.KeyPress
        'EN ESTA SINTAXIS SOLO PERMITE ESCRIBIR LETRAS 
        If Char.IsLetter(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsControl(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsSeparator(e.KeyChar) Then
            e.Handled = False
        Else
            e.Handled = True
        End If
    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...