201 lines
8.4 KiB
VB.net
201 lines
8.4 KiB
VB.net
|
Imports System.Collections.Generic
|
|||
|
|
|||
|
Public Class FrmRepAnonimo
|
|||
|
|
|||
|
Dim FilaActual As Integer
|
|||
|
|
|||
|
Private Sub FrmRepAnonimo_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
|
|||
|
|
|||
|
Try
|
|||
|
''LLena Grid
|
|||
|
LlenaGrid()
|
|||
|
FilaActual = -1
|
|||
|
|
|||
|
''Llena combo
|
|||
|
cmbEstatus.Items.Clear()
|
|||
|
Dim MiDic As New Dictionary(Of Integer, String)()
|
|||
|
MiDic.Add(0, "SELECCIONAR ESTATUS")
|
|||
|
MiDic.Add(1, "NO REVISADO")
|
|||
|
MiDic.Add(2, "REVISADO")
|
|||
|
cmbEstatus.DataSource = New BindingSource(MiDic, Nothing)
|
|||
|
cmbEstatus.DisplayMember = "Value"
|
|||
|
cmbEstatus.ValueMember = "Key"
|
|||
|
|
|||
|
cmbEstatus.SelectedIndex = 0
|
|||
|
Catch ex As Exception
|
|||
|
MessageBox.Show("Hubo un problema en el acceso a la base de datos.", "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Information)
|
|||
|
End Try
|
|||
|
End Sub
|
|||
|
|
|||
|
Public Sub LLenaGrid()
|
|||
|
Dim SQLProm As String
|
|||
|
Dim clCmj2 As New clsComplejo
|
|||
|
|
|||
|
Try
|
|||
|
''LLena Grid
|
|||
|
SQLProm = "SELECT IdReporte Id, Reporte, DatosPersona Datos, Fecha, ComentariosOC [Comentarios OC], IdEstatus Estatus, "
|
|||
|
SQLProm = SQLProm & " (CASE WHEN IdEstatus = 1 THEN 'NO REVISADO' "
|
|||
|
SQLProm = SQLProm & " WHEN IdEstatus = 2 THEN 'REVISADO' "
|
|||
|
SQLProm = SQLProm & " END ) [Estatus Reporte], FechaUltMod [Fecha Ultima Modif.] "
|
|||
|
SQLProm = SQLProm & " FROM ReporteAnonimo "
|
|||
|
clCmj2.fdtDataSetTabla(SQLProm)
|
|||
|
GRDMasterRep.SetDataBinding(clCmj2.ds, "Tabla")
|
|||
|
|
|||
|
Catch ex As Exception
|
|||
|
MessageBox.Show("Hubo un problema en el acceso a la base de datos.", "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Information)
|
|||
|
End Try
|
|||
|
End Sub
|
|||
|
|
|||
|
Private Sub GRDMasterRep_DoubleClick(sender As System.Object, e As System.EventArgs) Handles GRDMasterRep.DoubleClick
|
|||
|
Dim Classcom As New SenteciasSQL.ClassSQL
|
|||
|
Try
|
|||
|
If GRDMasterRep.Row < 0 Then
|
|||
|
Exit Sub
|
|||
|
End If
|
|||
|
|
|||
|
FilaActual = GRDMasterRep.Row
|
|||
|
txtIdReporte.Text = GRDMasterRep.DataSource.tables(0).Rows(FilaActual)(0)
|
|||
|
txtReporte.Text = GRDMasterRep.DataSource.tables(0).Rows(FilaActual)(1) & ""
|
|||
|
txtDatosPersona.Text = GRDMasterRep.DataSource.tables(0).Rows(FilaActual)(2) & ""
|
|||
|
txtComentarios.Text = GRDMasterRep.DataSource.tables(0).Rows(FilaActual)(4) & ""
|
|||
|
cmbEstatus.SelectedValue = GRDMasterRep.DataSource.tables(0).Rows(FilaActual)(5)
|
|||
|
txtFechaUltMod.Text = GRDMasterRep.DataSource.tables(0).Rows(FilaActual)(3) & ""
|
|||
|
|
|||
|
''Guarda valores anteriores para auditoria.
|
|||
|
txtComenAnterior.Text = txtComentarios.Text
|
|||
|
txtEstatusAnterior.Text = cmbEstatus.SelectedItem.Value
|
|||
|
|
|||
|
Catch ex As Exception
|
|||
|
MessageBox.Show("Error Busqueda; sbBuscas: " & ex.Message, "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
|||
|
Exit Sub
|
|||
|
End Try
|
|||
|
|
|||
|
End Sub
|
|||
|
|
|||
|
|
|||
|
Private Sub btnSalir_Click(sender As System.Object, e As System.EventArgs) Handles btnSalir.Click
|
|||
|
Me.Close()
|
|||
|
End Sub
|
|||
|
|
|||
|
Private Sub btnGuardar_Click(sender As System.Object, e As System.EventArgs) Handles btnGuardar.Click
|
|||
|
Dim SQLProm As String
|
|||
|
Dim clCmj As New clsComplejo
|
|||
|
Dim sComentario As String
|
|||
|
Try
|
|||
|
|
|||
|
If FilaActual < 0 Then
|
|||
|
MessageBox.Show("Seleccione un registro para actualizar el reporte.", "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Information)
|
|||
|
Exit Sub
|
|||
|
End If
|
|||
|
|
|||
|
If txtComentarios.Text.Trim() = "" Then
|
|||
|
MessageBox.Show("Escriba un comentario para actualizar el reporte.", "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Information)
|
|||
|
Exit Sub
|
|||
|
End If
|
|||
|
If cmbEstatus.SelectedValue <= 0 Then
|
|||
|
MessageBox.Show("Seleccione un estatus para actualizar el reporte.", "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Information)
|
|||
|
Exit Sub
|
|||
|
End If
|
|||
|
|
|||
|
If txtComentarios.Text = txtComenAnterior.Text And txtEstatusAnterior.Text = cmbEstatus.SelectedItem.Value Then
|
|||
|
MessageBox.Show("No hay cambios en el comentario ni tampoco en el estatus. No hay nada que guardar.", "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Information)
|
|||
|
Exit Sub
|
|||
|
End If
|
|||
|
|
|||
|
''LLama a la subrutina de Update que actualiza texto que contiene comilla sencilla.
|
|||
|
Actualizacion(txtIdReporte.Text, txtComentarios.Text, cmbEstatus.SelectedValue)
|
|||
|
|
|||
|
Catch ex As Exception
|
|||
|
MessageBox.Show("Hubo un problema en el acceso a la base de datos.", "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Information)
|
|||
|
End Try
|
|||
|
End Sub
|
|||
|
|
|||
|
Public Sub Actualizacion(iIdReporte As Integer, sComentario As String, iEstatus As Integer)
|
|||
|
''Utilizo esta subrutina especial, para guardar texto libre, incluyendo la comilla sencilla.
|
|||
|
|
|||
|
Dim clCmj As New clsComplejo
|
|||
|
Dim commandText As String = "EXEC sp_U_ReporteAnomimo @IdReporte, @ComentariosOC, @IdEstatus "
|
|||
|
Dim command As SqlClient.SqlCommand
|
|||
|
|
|||
|
''Abre conexion
|
|||
|
clCmj.ConectaBD()
|
|||
|
|
|||
|
'Using connection As New SqlClient.SqlConnection(clCmj.cn.ConnectionString)
|
|||
|
command = New SqlClient.SqlCommand(commandText, clCmj.cn)
|
|||
|
|
|||
|
command.Parameters.Add("@IdReporte", SqlDbType.Int)
|
|||
|
command.Parameters("@IdReporte").Value = iIdReporte
|
|||
|
|
|||
|
command.Parameters.Add("@ComentariosOC", SqlDbType.VarChar)
|
|||
|
command.Parameters("@ComentariosOC").Value = sComentario
|
|||
|
|
|||
|
command.Parameters.Add("@IdEstatus", SqlDbType.Int)
|
|||
|
command.Parameters("@IdEstatus").Value = iEstatus
|
|||
|
|
|||
|
Try
|
|||
|
'command.ExecuteReader()
|
|||
|
Dim sResultado As String = command.ExecuteScalar().ToString()
|
|||
|
If sResultado = "OK" Then
|
|||
|
MessageBox.Show("El registro se guardó correctamente.", "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Information)
|
|||
|
LLenaGrid()
|
|||
|
''Coloca el cursor en la posicion actual.
|
|||
|
GRDMasterRep.Row = FilaActual
|
|||
|
GuardaAuditoria()
|
|||
|
LimpiaCampos()
|
|||
|
Else
|
|||
|
MessageBox.Show("Hubo un problema al guardar la información.", "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Information)
|
|||
|
End If
|
|||
|
|
|||
|
Catch ex As Exception
|
|||
|
MessageBox.Show("Hubo un problema en el acceso a la base de datos.", "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Information)
|
|||
|
End Try
|
|||
|
|
|||
|
''Cierra conexion
|
|||
|
clCmj.sbCierraCn()
|
|||
|
|
|||
|
End Sub
|
|||
|
|
|||
|
Public Sub GuardaAuditoria()
|
|||
|
Try
|
|||
|
'Auditoria
|
|||
|
Dim classcom As New clsComplejo
|
|||
|
Dim ClassAud As New ClassMyUtils
|
|||
|
Dim sAuditoria As String
|
|||
|
sAuditoria = ""
|
|||
|
sAuditoria = "Actualizacion de Reporte Anónimo."
|
|||
|
''Datos anteriores
|
|||
|
sAuditoria = sAuditoria & " Num. IdReporte : " & txtIdReporte.Text & ", "
|
|||
|
sAuditoria = sAuditoria & " Comentario Anterior: " & txtComenAnterior.Text.Replace("'", "") & ", "
|
|||
|
sAuditoria = sAuditoria & " Estatus anterior: " & txtEstatusAnterior.Text & ", "
|
|||
|
''Datos modificados
|
|||
|
sAuditoria = sAuditoria & " Comentario Nuevo: " & txtComentarios.Text.Replace("'", "") & ", "
|
|||
|
sAuditoria = sAuditoria & " Estatus Nuevo: " & cmbEstatus.SelectedItem.Value
|
|||
|
|
|||
|
ClassAud.RT_Auditoria(clsVaribles.varUsuario, 4, My.Computer.Name, "Minds Cliente", sAuditoria)
|
|||
|
|
|||
|
Catch ex As Exception
|
|||
|
MessageBox.Show("Hubo un problema al generar el registro de auditoria.", "MINDS", MessageBoxButtons.OK, MessageBoxIcon.Information)
|
|||
|
End Try
|
|||
|
End Sub
|
|||
|
|
|||
|
Public Sub LimpiaCampos()
|
|||
|
txtReporte.Text = ""
|
|||
|
txtDatosPersona.Text = ""
|
|||
|
txtComentarios.Text = ""
|
|||
|
cmbEstatus.SelectedValue = 0
|
|||
|
txtFechaUltMod.Text = ""
|
|||
|
FilaActual = -1
|
|||
|
txtIdReporte.Text = ""
|
|||
|
End Sub
|
|||
|
|
|||
|
|
|||
|
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
|
|||
|
Dim FrmEmail As frmEmailAnonimo = New frmEmailAnonimo
|
|||
|
FrmEmail.ShowDialog()
|
|||
|
End Sub
|
|||
|
|
|||
|
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btnFTP.Click
|
|||
|
Dim FrmEmail As FrmEmailFTP = New FrmEmailFTP
|
|||
|
FrmEmail.ShowDialog()
|
|||
|
End Sub
|
|||
|
End Class
|