869 lines
31 KiB
VB.net
869 lines
31 KiB
VB.net
Option Strict On
|
|
Imports System.Data
|
|
Imports Extensiones
|
|
Imports GemBox.Presentation
|
|
Imports GemBox.Presentation.Tables
|
|
Imports System.IO
|
|
Imports Microsoft.Reporting.WebForms
|
|
|
|
Partial Class RH_CatCursos
|
|
Inherits ClsPaginas
|
|
|
|
Private Property CveCurso As Integer
|
|
Get
|
|
If Not ViewState("CveCurso") Is Nothing Then
|
|
Return ViewState("CveCurso").ToString.ToEntero
|
|
Else
|
|
Return 0
|
|
End If
|
|
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveCurso") = value
|
|
End Set
|
|
|
|
End Property
|
|
|
|
Private Property Curso As String
|
|
Get
|
|
If Not ViewState("Curso") Is Nothing Then
|
|
Return ViewState("Curso").ToString
|
|
Else
|
|
Return ""
|
|
End If
|
|
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("Curso") = value
|
|
End Set
|
|
|
|
End Property
|
|
|
|
|
|
Private Property ConstanciaDC3 As Boolean
|
|
Get
|
|
If ViewState("ConstanciaDC3") Is Nothing Then
|
|
Return False
|
|
Else
|
|
Return DirectCast(ViewState("ConstanciaDC3"), Boolean)
|
|
End If
|
|
End Get
|
|
Set(value As Boolean)
|
|
ViewState("ConstanciaDC3") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property Capacitador As String
|
|
Get
|
|
If Not ViewState("Capacitador") Is Nothing Then
|
|
Return ViewState("Capacitador").ToString
|
|
Else
|
|
Return ""
|
|
End If
|
|
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("Capacitador") = value
|
|
End Set
|
|
|
|
End Property
|
|
|
|
Private Property Actualizar As Boolean
|
|
Get
|
|
If Not ViewState("Actualizar") Is Nothing Then
|
|
Return DirectCast(ViewState("Actualizar"), Boolean)
|
|
Else
|
|
Return False
|
|
End If
|
|
End Get
|
|
Set(value As Boolean)
|
|
ViewState("Actualizar") = value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
|
|
Private Sub RH_CatCursos_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
|
|
If Not Page.IsPostBack Then
|
|
CargadatosCursos()
|
|
LoadCombos()
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub LoadCombos()
|
|
|
|
Dim objRH As New ClsRH
|
|
|
|
If objRH.TemasGet(1, UsuarioActual.Empresa.CveEmpresa) Then
|
|
DDlTema.DataSource = objRH.DtResultados
|
|
DDlTema.DataBind()
|
|
DDlTema.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
|
|
Else
|
|
DDlTema.DataSource = Nothing
|
|
End If
|
|
|
|
If objRH.CapacitadoresGet(-1, 1, -1, UsuarioActual.Empresa.CveEmpresa) Then
|
|
DDLCapacitador.DataSource = objRH.DtResultados
|
|
Else
|
|
DDLCapacitador.DataSource = Nothing
|
|
End If
|
|
|
|
DDLCapacitador.DataBind()
|
|
DDLCapacitador.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
|
|
|
|
If objRH.CatalogoNacionalOcupacionesCombosGet() Then
|
|
DDLAreaTematica.DataSource = objRH.DtResultados
|
|
Else
|
|
DDLAreaTematica.DataSource = Nothing
|
|
End If
|
|
|
|
DDLAreaTematica.DataBind()
|
|
DDLAreaTematica.Items.Insert(0, New ListItem("Seleccione una opción", "-1"))
|
|
|
|
objRH.Dispose()
|
|
End Sub
|
|
|
|
Protected Sub DDlTema_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DDlTema.SelectedIndexChanged
|
|
|
|
Dim objRH As New ClsRH
|
|
|
|
If DDlTema.SelectedIndex > 0 Then
|
|
|
|
If objRH.SubtemasGet(DDlTema.SelectedValue.ToEntero, 1, UsuarioActual.Empresa.CveEmpresa) Then
|
|
DDLSubtema.DataSource = objRH.DtResultados
|
|
DDLSubtema.DataBind()
|
|
DDLSubtema.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
|
|
Else
|
|
DDLSubtema.DataSource = Nothing
|
|
End If
|
|
End If
|
|
|
|
UpModalCurso.Update()
|
|
objRH.Dispose()
|
|
|
|
End Sub
|
|
|
|
Private Sub CargadatosCursos()
|
|
|
|
Dim objRH As New ClsRH
|
|
|
|
If objRH.CursoGet(-1, -1, -1, -1, -1, -1, UsuarioActual.Empresa.CveEmpresa) Then
|
|
GvCurso.DataSource = objRH.DtResultados
|
|
Else
|
|
GvCurso.DataSource = Nothing
|
|
End If
|
|
objRH.Dispose()
|
|
|
|
GvCurso.DataBind()
|
|
UpGral.Update()
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
Protected Sub BtnAgregarCurso_Click(sender As Object, e As EventArgs) Handles BtnAgregarCurso.Click
|
|
LtlTituloModalCapacitadores.Text = "Agregar Curso"
|
|
BtnAgregarCursosModal.Text = "Agregar"
|
|
|
|
Dim objRH As New ClsRH
|
|
If objRH.CursoGrupoGet(-1, UsuarioActual.Empresa.CveEmpresa) Then
|
|
GvParticipantes.DataSource = objRH.DtResultados
|
|
Else
|
|
GvParticipantes.DataSource = Nothing
|
|
End If
|
|
|
|
objRH.Dispose()
|
|
GvParticipantes.DataBind()
|
|
|
|
CveCurso = 0
|
|
Actualizar = False
|
|
ResetControles()
|
|
|
|
UpGral.Update()
|
|
RegistraScript(String.Format("$('#{0}').modal();", "divAgregarCurso"))
|
|
End Sub
|
|
|
|
Protected Sub BtnAgregarCursoModal_Click(sender As Object, e As EventArgs) Handles BtnAgregarCursosModal.Click
|
|
|
|
Dim objRH As New ClsRH
|
|
Dim Estatus As Integer = 0
|
|
Dim Externo As Integer = 0
|
|
Dim _ConstanciaDC3 As Integer
|
|
|
|
If ChkConstancias.Checked Then
|
|
_ConstanciaDC3 = 1
|
|
Else
|
|
_ConstanciaDC3 = 0
|
|
End If
|
|
|
|
If ChkEstatus.Checked Then
|
|
Estatus = 1
|
|
Else
|
|
Estatus = 0
|
|
End If
|
|
|
|
RegistraScript(String.Format("$('#{0}').modal('hide');", "divAgregarCurso"), "jsHideModalCapacitador")
|
|
|
|
UpGral.Update()
|
|
|
|
If Not Actualizar Then
|
|
If objRH.CursoAdd(TxtCurso.Text, DDlTema.SelectedValue.ToEntero, DDLSubtema.SelectedValue.ToEntero, TxtDuracion.Text.ToEntero, DDLCapacitador.SelectedValue.ToEntero, TxtObservaciones.Text,
|
|
Estatus, _ConstanciaDC3, DDLAreaTematica.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.Empresa.CveEmpresa, txtInicio.Text.ToDate, TxtHoraEntrada.Text, TxtUbicacion.Text) Then
|
|
|
|
CveCurso = objRH.DtResultados(0)(0).ToString.ToEntero
|
|
CargadatosCursos()
|
|
|
|
ActualizarGrupo(CveCurso)
|
|
|
|
|
|
|
|
|
|
Alert("Curso Agregado Correctamente", TipoMensaje.MsgInformacion, "descargainvitados();")
|
|
Else
|
|
Alert("Ocurrio un error al guardar el Curso", TipoMensaje.MsgError)
|
|
End If
|
|
Else
|
|
If objRH.CursoUpdate(CveCurso, TxtCurso.Text, DDlTema.SelectedValue.ToEntero, DDLSubtema.SelectedValue.ToEntero, TxtDuracion.Text.ToEntero, DDLCapacitador.SelectedValue.ToEntero, TxtObservaciones.Text,
|
|
Estatus, _ConstanciaDC3, DDLAreaTematica.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.Empresa.CveEmpresa, txtInicio.Text.ToDate, TxtHoraEntrada.Text, TxtUbicacion.Text) Then
|
|
ActualizarGrupo(CveCurso)
|
|
|
|
|
|
CargadatosCursos()
|
|
|
|
UpModalCurso.Update()
|
|
Alert("Curso Actualizado Correctamente", TipoMensaje.MsgInformacion, "descargainvitados();")
|
|
Else
|
|
Alert("Ocurrio un error al Actualizar el Curso", TipoMensaje.MsgError)
|
|
End If
|
|
End If
|
|
|
|
|
|
Actualizar = False
|
|
objRH.Dispose()
|
|
|
|
End Sub
|
|
|
|
Public Sub Edit_ClickCursos(sender As Object, e As EventArgs)
|
|
|
|
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
|
Dim objRH As New ClsRH
|
|
Dim activo As Boolean = False
|
|
Dim constancia As Boolean = False
|
|
|
|
If objRH.SubtemasGet(-1, 1, UsuarioActual.Empresa.CveEmpresa) Then
|
|
DDLSubtema.DataSource = objRH.DtResultados
|
|
Else
|
|
DDLSubtema.DataSource = Nothing
|
|
End If
|
|
objRH.Dispose()
|
|
DDLSubtema.DataBind()
|
|
DDLSubtema.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
|
|
|
|
LtlTituloModalCapacitadores.Text = "Editar Curso"
|
|
Actualizar = True
|
|
|
|
CveCurso = GvRow.DataKey("CveCurso").ToString.ToEntero
|
|
|
|
Curso = GvRow.DataKey("Curso")
|
|
Capacitador = GvRow.DataKey("Capacitador")
|
|
ChkConstancias.Checked = Boolean.Parse(GvRow.DataKey("ConstanciaDC3"))
|
|
|
|
TxtCurso.Text = GvRow.DataKey("Curso")
|
|
TxtDuracion.Text = GvRow.DataKey("Duracion")
|
|
TxtObservaciones.Text = GvRow.DataKey("Observaciones")
|
|
|
|
ChkEstatus.Checked = Boolean.Parse(GvRow.DataKey("Estatus"))
|
|
DDlTema.SelectedValueExist(GvRow.DataKey("CveTema"))
|
|
DDLSubtema.SelectedValueExist(GvRow.DataKey("CveSubtema"))
|
|
DDLCapacitador.SelectedValueExist(GvRow.DataKey("CveCapacitador"))
|
|
DDLAreaTematica.SelectedValueExist(GvRow.DataKey("CveAreaTematica"))
|
|
|
|
txtInicio.Text = GvRow.DataKey("Fecha").ToDate.ToString("dd/MM/yyyy")
|
|
TxtHoraEntrada.Text = GvRow.DataKey("Hora").ToString()
|
|
TxtUbicacion.Text = GvRow.DataKey("Ubicacion").ToString()
|
|
Me.DVGvGrupos.Visible = True
|
|
|
|
BtnAgregarCursosModal.Text = "Actualizar"
|
|
|
|
UpModalCurso.Update()
|
|
UpGral.Update()
|
|
CargaParticiopantesGV(CveCurso)
|
|
|
|
RegistraScript("$('#divAgregarCurso').modal({ backdrop: 'static', keyboard: false}); ")
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub DescargaReporte()
|
|
|
|
|
|
|
|
Dim RpNombreCurso As String = TxtCurso.Text
|
|
Dim RpFechas As String = Now.ToString("dd/MM/yyyy")
|
|
Dim RpTema As String = DDlTema.SelectedItem.Text
|
|
Dim RpSubTema As String = DDLSubtema.SelectedItem.Text
|
|
Dim RpCapacitador As String = DDLCapacitador.SelectedItem.Text
|
|
Dim Hora As String = TxtHoraEntrada.Text
|
|
Dim Ubicacion As String = TxtUbicacion.Text
|
|
|
|
Dim RpDuracion As String = $"{TxtDuracion.Text} hrs."
|
|
Dim RpDocumento As String = If(ChkConstancias.Checked, "Formato DC-3", "Reconocimiento")
|
|
|
|
Dim objRH As New ClsRH
|
|
Dim DatosAsistencia As New DataTable
|
|
|
|
If objRH.CursoGrupoGet(CveCurso, UsuarioActual.Empresa.CveEmpresa, 3) Then
|
|
DatosAsistencia = objRH.DtResultados
|
|
End If
|
|
|
|
objRH.Dispose()
|
|
CveCurso = -1
|
|
|
|
If DatosAsistencia.Rows.Count > 0 Then
|
|
|
|
Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png")
|
|
Dim params As New List(Of ReportParameter)
|
|
|
|
Dim Archivo As String = $"{UsuarioActual.Empresa.Ruta}Formatos/CursosInvitados.rdlc"
|
|
|
|
If Not File.Exists(Archivo) Then
|
|
Archivo = "Empresas/Grales/Formatos/CursosInvitados.rdlc"
|
|
End If
|
|
|
|
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
|
|
|
|
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
|
|
|
|
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
|
|
params.Add(New ReportParameter("Capacitador", DDLCapacitador.SelectedItem.Text))
|
|
params.Add(New ReportParameter("Curso", TxtCurso.Text))
|
|
params.Add(New ReportParameter("Fecha", txtInicio.Text))
|
|
params.Add(New ReportParameter("Ubicacion", TxtUbicacion.Text))
|
|
params.Add(New ReportParameter("Hora", Hora))
|
|
params.Add(New ReportParameter("Tema", DDlTema.SelectedItem.Text))
|
|
params.Add(New ReportParameter("SubTema", DDLSubtema.SelectedItem.Text))
|
|
params.Add(New ReportParameter("Duracion", $"{TxtDuracion.Text} hrs."))
|
|
params.Add(New ReportParameter("Documento", If(ChkConstancias.Checked, "Formato DC-3", "Reconocimiento")))
|
|
|
|
ResetControles()
|
|
|
|
ImprimirPDF(Archivo, DatosAsistencia, params, "AsistenciasInvitados")
|
|
|
|
End If
|
|
|
|
|
|
End Sub
|
|
Public Sub Asistencias_ClickCursos(sender As Object, e As EventArgs)
|
|
|
|
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
|
Dim objRH As New ClsRH
|
|
Dim activo As Boolean = False
|
|
|
|
CveCurso = GvRow.DataKey("CveCurso").ToEntero
|
|
Curso = GvRow.DataKey("Curso")
|
|
Capacitador = GvRow.DataKey("Capacitador")
|
|
ConstanciaDC3 = Boolean.Parse(GvRow.DataKey("ConstanciaDC3"))
|
|
|
|
If objRH.CursoGrupoGet(CveCurso, UsuarioActual.Empresa.CveEmpresa, 2) Then
|
|
GvAsistenciaCurso.DataSource = objRH.DtResultados
|
|
Else
|
|
GvAsistenciaCurso.DataSource = Nothing
|
|
End If
|
|
objRH.Dispose()
|
|
|
|
GvAsistenciaCurso.DataBind()
|
|
UpAsistenciasCurso.Update()
|
|
|
|
LtlAsistenciaCursoModal.Text = "Asistencias Curso - " & Curso
|
|
|
|
UpModalCurso.Update()
|
|
UpGral.Update()
|
|
CargaParticiopantesGV(CveCurso)
|
|
|
|
RegistraScript("$('#divAsistenciasCurso').modal({ backdrop: 'static', keyboard: false});")
|
|
|
|
End Sub
|
|
|
|
Public Sub Remove_ClickCursos(sender As Object, e As EventArgs)
|
|
|
|
Dim objRH As New ClsRH
|
|
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
|
Dim activo As Boolean = False
|
|
Dim CveCursoI As Integer = GvRow.DataKey("CveCurso").ToEntero
|
|
|
|
If objRH.CursoRemove(CveCursoI, UsuarioActual.Empresa.CveEmpresa) Then
|
|
CargadatosCursos()
|
|
|
|
Alert("Curso Elimino Correctamente ", TipoMensaje.MsgInformacion)
|
|
Else
|
|
Alert("Ocurrio un error al Eliminar el Curso", TipoMensaje.MsgError)
|
|
End If
|
|
CveCurso = 0
|
|
|
|
End Sub
|
|
|
|
Private Sub ResetControles()
|
|
TxtCurso.Text = ""
|
|
TxtObservaciones.Text = ""
|
|
TxtDuracion.Text = ""
|
|
|
|
DDlTema.SelectedIndex = 0
|
|
DDLSubtema.Items.Clear()
|
|
DDLSubtema.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
|
|
DDLCapacitador.SelectedIndex = 0
|
|
|
|
ChkEstatus.Checked = True
|
|
ChkConstancias.Checked = False
|
|
|
|
txtInicio.Text = Now.ToString("dd/MM/yyyy")
|
|
TxtHoraEntrada.Text = ""
|
|
TxtUbicacion.Text = ""
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub CargaParticiopantesGV(CveCursoGrupo As Integer)
|
|
|
|
Dim objRH As New ClsRH
|
|
|
|
If objRH.CursoGrupoGet(CveCursoGrupo, UsuarioActual.Empresa.CveEmpresa) Then
|
|
GvParticipantes.DataSource = objRH.DtResultados
|
|
Else
|
|
GvParticipantes.DataSource = Nothing
|
|
End If
|
|
objRH.Dispose()
|
|
|
|
GvParticipantes.DataBind()
|
|
UpGral.Update()
|
|
|
|
End Sub
|
|
|
|
Protected Sub GvParticipantes_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvParticipantes.RowDataBound
|
|
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
Dim chk As CheckBox = e.Row.FCCheckBox("chkGrupo")
|
|
|
|
If e.Row.DBCampo("CveCurso").ToString.ToEntero > 0 Then
|
|
chk.Checked = True
|
|
Else
|
|
chk.Checked = False
|
|
End If
|
|
e.Row.Height = 15
|
|
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub ActualizarGrupo(CveCursoGrupo As Integer)
|
|
|
|
Dim objRH As New ClsRH
|
|
Dim existeError As Boolean = True
|
|
|
|
For Each row As GridViewRow In GvParticipantes.Rows
|
|
|
|
Dim CvePersonal As Integer = row.DataKey("CvePersonal").ToEntero
|
|
Dim CveCursoPersonal As Integer = row.DataKey("CveCursoPersonal").ToEntero
|
|
|
|
Dim _Curso As String = row.DataKey("Curso")
|
|
Dim _Tema As String = row.DataKey("Tema")
|
|
Dim _Subtema As String = row.DataKey("Subtema")
|
|
|
|
Dim Correo As String = row.DataKey("Correo")
|
|
Dim _Nombres As String = row.DataKey("Nombres")
|
|
Dim _CvePersonal As Integer = row.DataKey("CvePersonal").ToString.ToEntero
|
|
Dim chkGrupo As CheckBox = row.FCCheckBox("chkGrupo")
|
|
Dim Contenido As String = "Buen día <br/> Estimado(a) " & _Nombres & " <br/> Por medio de la presente, el departamento de Capital Humano de " & UsuarioActual.Empresa.Empresa & " le hace la cordial invitación para asistir al curso " & Curso & " Impartido por el capacitador " & Capacitador & ".Esperamos contar con su asistencia."
|
|
|
|
If CveCursoPersonal = -1 Then
|
|
If chkGrupo.Checked = True Then
|
|
If Not objRH.CursoGrupoAdd(CveCursoGrupo, CvePersonal, 0, UsuarioActual.Empresa.CveEmpresa, UsuarioActual.CveUsuario) Then
|
|
Exit For
|
|
Else
|
|
' If Correo.Trim.Length > 0 Then 'Cambiar validacion a true para realizar pruebas(Cambiar para)
|
|
'Dim BytesDocumento As Byte() = GenerarImvitacion(Curso, Capacitador, _Nombres, _CvePersonal)
|
|
'MandaCorreo("Invitación a Curso " & Curso, "rakcsle.rakcsle@gmail.com", "", Contenido, BytesDocumento) 'Para pruebas
|
|
'MandaCorreo("Invitación a Curso " & Curso, Correo, "", Contenido, BytesDocumento)
|
|
'End If
|
|
End If
|
|
End If
|
|
Else
|
|
If chkGrupo.Checked = False Then
|
|
If Not objRH.CursoPersonalRemove(CveCursoPersonal, UsuarioActual.Empresa.CveEmpresa) Then
|
|
Exit For
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
|
|
Next
|
|
objRH.Dispose()
|
|
|
|
EnviarcorreoInvitacionCurso(CveCursoGrupo)
|
|
|
|
End Sub
|
|
|
|
|
|
Protected Sub BtnAsistenciasCursosModal_Click(sender As Object, e As EventArgs) Handles BtnAsistenciasCursosModal.Click
|
|
|
|
Dim objRH As New ClsRH
|
|
|
|
Dim existeError As Boolean = True
|
|
|
|
For Each row As GridViewRow In GvAsistenciaCurso.Rows
|
|
|
|
Dim CvePersonal As Integer = row.DataKey("CvePersonal").ToEntero
|
|
Dim CveCursoPersonal As Integer = row.DataKey("CveCursoPersonal").ToEntero
|
|
Dim Correo As String = row.DataKey("Correo")
|
|
Dim Nombres As String = row.DataKey("Nombres")
|
|
Dim Asistencia As Integer
|
|
|
|
|
|
Dim chkAsistencia As CheckBox = row.FCCheckBox("chkAsistencia")
|
|
|
|
|
|
If chkAsistencia.Checked = True Then
|
|
Asistencia = 1
|
|
Else
|
|
Asistencia = 0
|
|
End If
|
|
|
|
If Not objRH.CursoGrupoUpdate(CveCursoPersonal, CveCurso, CvePersonal, Asistencia, UsuarioActual.Empresa.CveEmpresa, UsuarioActual.CveUsuario) Then
|
|
|
|
End If
|
|
|
|
Next
|
|
RegistraScript("$('#divAsistenciasCurso').modal('hide');")
|
|
objRH.Dispose()
|
|
|
|
End Sub
|
|
|
|
Protected Sub GvAsistenciaCurso_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvAsistenciaCurso.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
Dim chk As CheckBox = e.Row.FCCheckBox("chkAsistencia")
|
|
Dim Asistencia As Boolean = Boolean.Parse(e.Row.DBCampo("Asistencia"))
|
|
Dim lnkCursoConstancia As LinkButton = e.Row.FCLinkButton("lnkCursoConstancia")
|
|
Dim RFC As String = e.Row.DataKey("RFC")
|
|
|
|
If Asistencia Then
|
|
chk.Checked = True
|
|
|
|
If ConstanciaDC3 Then
|
|
If RFC.Trim.Length > 11 And RFC.Trim.Length < 14 Then
|
|
lnkCursoConstancia.Visible = True
|
|
ScriptManager.GetCurrent(Me).RegisterPostBackControl(lnkCursoConstancia)
|
|
Else
|
|
lnkCursoConstancia.Visible = False
|
|
End If
|
|
Else
|
|
ScriptManager.GetCurrent(Me).RegisterPostBackControl(lnkCursoConstancia)
|
|
lnkCursoConstancia.Visible = True
|
|
End If
|
|
Else
|
|
chk.Checked = False
|
|
lnkCursoConstancia.Visible = False
|
|
End If
|
|
e.Row.Height = 15
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub GvCursosCreaEventoDescarga()
|
|
|
|
For Each dRow As GridViewRow In GvAsistenciaCurso.Rows
|
|
|
|
Dim Asistencia As Boolean = Boolean.Parse(dRow.DataKey("Asistencia"))
|
|
Dim lnkCursoConstancia As LinkButton = dRow.FCLinkButton("lnkCursoConstancia")
|
|
|
|
Dim RFC As String = dRow.DataKey("RFC")
|
|
|
|
If Asistencia Then
|
|
|
|
|
|
If ConstanciaDC3 Then
|
|
If RFC.Trim.Length > 11 And RFC.Trim.Length < 14 Then
|
|
lnkCursoConstancia.Visible = True
|
|
ScriptManager.GetCurrent(Me).RegisterPostBackControl(lnkCursoConstancia)
|
|
Else
|
|
lnkCursoConstancia.Visible = False
|
|
End If
|
|
Else
|
|
ScriptManager.GetCurrent(Me).RegisterPostBackControl(lnkCursoConstancia)
|
|
lnkCursoConstancia.Visible = True
|
|
End If
|
|
Else
|
|
|
|
lnkCursoConstancia.Visible = False
|
|
End If
|
|
|
|
Next
|
|
End Sub
|
|
|
|
Public Sub ImprimirConstancia_Click(sender As Object, e As EventArgs)
|
|
|
|
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
|
Dim objConstancias As New ClsConstancias
|
|
Dim DocumenBitArray As Byte() = Nothing
|
|
Dim RutaBase As String = Extensiones.DirectorioBaseEmpresas
|
|
|
|
Dim CvePersonal As Integer = GvRow.DataKey("CvePersonal").ToEntero
|
|
|
|
'RutaDocumento = Path.Combine(RutaDocumento, "Empresas\Grales\FormatoDC3.docx")
|
|
|
|
Dim _CveCurso As Integer = GvRow.DataKey("CveCurso").ToEntero
|
|
|
|
|
|
DocumenBitArray = objConstancias.PersonalConstanciaGenera(CvePersonal, _CveCurso, UsuarioActual.CveEmpresa, RutaBase, UsuarioActual.Empresa)
|
|
|
|
GvCursosCreaEventoDescarga()
|
|
If Not DocumenBitArray Is Nothing Then
|
|
|
|
Response.Clear()
|
|
Response.ContentType = "application/force-download"
|
|
Response.AddHeader("content-disposition", "attachment; filename=" & CvePersonal & "_Constancia_Curso_" & _CveCurso & "_" & Now.ToString("yyyyMMddhhmmss") & ".docx")
|
|
Response.BinaryWrite(DocumenBitArray)
|
|
Response.End()
|
|
End If
|
|
|
|
|
|
End Sub
|
|
|
|
Private Function GenerarImvitacion(_Curso As String, _Capacitador As String, _Nombres As String, _CvePersonal As Integer, _Fecha As String, _Ubicacion As String) As Byte()
|
|
|
|
'Darle formato a la fecha
|
|
Dim FechaAux As Date = Date.Parse(_Fecha)
|
|
Dim dia As Integer = Day(FechaAux)
|
|
Dim mes As Integer = Month(FechaAux)
|
|
Dim mesArray = New String() {"enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"}
|
|
Dim año As Integer = Year(FechaAux)
|
|
Dim RutaArchivo As String = UsuarioActual.Empresa.Ruta & "\Formatos\CursoInvitacion.docx"
|
|
Dim RutaLogo As String = Path.Combine(UsuarioActual.Empresa.Ruta, "Logo.png")
|
|
Dim Contenido As String = "Buen día. Estimado(a) " & _Nombres & vbLf & vbLf & vbLf & vbLf & " Por medio de la presente, el departamento de Capital Humano de esta " & UsuarioActual.Empresa.Empresa & " le hace la cordial invitación para asistir al curso " & _Curso & " impartido por el capacitador " & _Capacitador & ", el día " & dia & " de " & mesArray(mes - 1) & " de " & año & " en lugar " & _Ubicacion & "." & vbLf & vbLf & vbLf & vbLf & "Esperamos contar con su asistencia."
|
|
|
|
If Not File.Exists(RutaArchivo) Then
|
|
RutaArchivo = $"{ Extensiones.DirectorioBaseEmpresas }\Empresas\Grales\Formatos\CursoInvitacion.docx"
|
|
End If
|
|
|
|
Dim params As New List(Of ReportParameter)
|
|
params.Add(New ReportParameter("Curso", _Curso))
|
|
params.Add(New ReportParameter("Contenido", Contenido))
|
|
params.Add(New ReportParameter("Fecha", Today.ToString))
|
|
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
|
|
Dim DtDatos As New DataTable
|
|
|
|
|
|
Dim objGemBoxDocument As New clsGemBoxDocument(RutaArchivo)
|
|
Dim Tags As New List(Of TagsDocumentos)
|
|
|
|
|
|
Tags.Add(New TagsDocumentos("{Curso}", _Curso))
|
|
Tags.Add(New TagsDocumentos("{Contenido}", Contenido))
|
|
|
|
|
|
objGemBoxDocument.SustituirTags(Tags)
|
|
objGemBoxDocument.GuardarStreamPDF()
|
|
|
|
|
|
Return objGemBoxDocument.GetBytesDocumento
|
|
|
|
End Function
|
|
|
|
Private Sub MandaCorreo(Asunto As String, Para As String, ArrayCC As String, body As String, ArchivoBinario As Byte())
|
|
|
|
Dim a As String = String.Format("{0} -- {1} --- {2}", Asunto, Para, ArrayCC)
|
|
a.GuardaLog()
|
|
|
|
Dim Mail As New ClsSisMail()
|
|
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
|
|
Dim itemMail As New ClsSisMail.ArchivoMail
|
|
|
|
With itemMail
|
|
itemMail.ArchivoBinario = ArchivoBinario
|
|
itemMail.NombreArchivo = "Invitación.pdf"
|
|
|
|
End With
|
|
|
|
LSRutasMail.Add(itemMail)
|
|
|
|
|
|
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, body, ArrayCC, LSRutasMail)
|
|
Mail = Nothing
|
|
End Sub
|
|
|
|
Protected Sub LnkDescargaInvitados_Click(sender As Object, e As EventArgs)
|
|
DescargaReporte()
|
|
End Sub
|
|
Protected Sub ImgSendMails_Click(sender As Object, e As EventArgs)
|
|
|
|
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
|
|
|
Dim activo As Boolean = False
|
|
Dim constancia As Boolean = False
|
|
|
|
|
|
' ChkConstancias.Checked = Boolean.Parse(GvRow.DataKey("ConstanciaDC3"))
|
|
|
|
Dim _CveCurso As Integer = GvRow.DataKey("CveCurso").ToEntero
|
|
|
|
|
|
EnviarcorreoInvitacionCurso(_CveCurso)
|
|
|
|
End Sub
|
|
|
|
Private Sub EnviarcorreoInvitacionCurso(_CveCurso As Integer)
|
|
|
|
Dim Enviar As Boolean = False
|
|
|
|
|
|
Dim _Curso As String = ""
|
|
Dim _Duracion As String = ""
|
|
'ChkEstatus.Checked = Boolean.Parse(GvRow.DataKey("Estatus"))
|
|
Dim _Tema As String = ""
|
|
Dim _SubTema As String = ""
|
|
Dim _Capacitador As String = ""
|
|
|
|
|
|
Dim _Fecha As String = ""
|
|
Dim _Hora As String = ""
|
|
Dim _Ubicacion As String = ""
|
|
|
|
|
|
For Each GvRow As GridViewRow In GvCurso.Rows
|
|
|
|
If _CveCurso = GvRow.DataKey("CveCurso").ToEntero Then
|
|
Enviar = True
|
|
|
|
_Curso = GvRow.DataKey("Curso")
|
|
_Duracion = GvRow.DataKey("Duracion") & " hrs"
|
|
'ChkEstatus.Checked = Boolean.Parse(GvRow.DataKey("Estatus"))
|
|
_Tema = GvRow.DataKey("Tema").ToString
|
|
_SubTema = GvRow.DataKey("Subtema").ToString
|
|
_Capacitador = GvRow.DataKey("Capacitador")
|
|
|
|
|
|
_Fecha = GvRow.DataKey("Fecha").ToDate.ToString("dd/MM/yyyy")
|
|
_Hora = GvRow.DataKey("Hora").ToString()
|
|
_Ubicacion = GvRow.DataKey("Ubicacion").ToString()
|
|
End If
|
|
Next
|
|
|
|
Dim Contador As Integer
|
|
Dim objRH As New ClsRH
|
|
|
|
If objRH.CursoGrupoGet(_CveCurso, UsuarioActual.Empresa.CveEmpresa) AndAlso Enviar Then
|
|
|
|
For Each row As DataRow In objRH.DtResultados.Rows
|
|
|
|
Dim _Correo As String = row("Correo").ToString
|
|
|
|
If row("CveCurso").ToString.ToEntero > 0 And _Correo.Trim.Length > 0 Then
|
|
|
|
Dim CvePersonal As Integer = row("CvePersonal").ToString.ToEntero
|
|
Dim CveCursoPersonal As Integer = row("CveCursoPersonal").ToString.ToEntero
|
|
|
|
|
|
Dim _Nombres As String = row("Nombres").ToString
|
|
Dim _CvePersonal As Integer = row("CvePersonal").ToString.ToEntero
|
|
|
|
Dim ContenidoSB As New StringBuilder
|
|
|
|
ContenidoSB.Append("Buen día. <br/> Estimado(a) " & _Nombres & " <br/> Por medio de la presente el departamento de Capital Humano de la empresa le hace la cordial invitación para asistir al curso " & _Curso & " Impartido por " & _Capacitador & ". Esperamos contar con su asistencia.")
|
|
|
|
ContenidoSB.Append("<br><br>")
|
|
ContenidoSB.AppendLine("<table boder='1'>")
|
|
|
|
ContenidoSB.AppendLine($"<tr><td>Tema:</td><td>{_Tema}</td></tr>")
|
|
ContenidoSB.AppendLine($"<tr><td>Subtema:</td><td>{_SubTema}</td></tr>")
|
|
ContenidoSB.AppendLine($"<tr><td>Curso:</td><td>{_Curso}</td></tr>")
|
|
ContenidoSB.AppendLine($"<tr><td>Fecha:</td><td>{_Fecha}</td></tr>")
|
|
ContenidoSB.AppendLine($"<tr><td>Hora:</td><td>{_Hora}</td></tr>")
|
|
ContenidoSB.AppendLine($"<tr><td>Duración:</td><td>{_Duracion}</td></tr>")
|
|
ContenidoSB.AppendLine($"<tr><td>Ubicación:</td><td>{_Ubicacion}</td></tr>")
|
|
ContenidoSB.AppendLine($"<tr><td>Capacitador:</td><td>{_Capacitador}</td></tr>")
|
|
|
|
ContenidoSB.AppendLine("")
|
|
ContenidoSB.AppendLine("</table>")
|
|
|
|
Dim BytesDocumento As Byte() = GenerarImvitacion(_Curso, _Capacitador, _Nombres, _CvePersonal, _Fecha, _Ubicacion)
|
|
MandaCorreo("Invitación a Curso " & Curso, _Correo, "", ContenidoSB.ToString, BytesDocumento)
|
|
|
|
Contador = Contador + 1
|
|
Dim valor As Boolean = False
|
|
|
|
End If
|
|
Next
|
|
|
|
End If
|
|
|
|
|
|
objRH.Dispose()
|
|
|
|
|
|
If Contador > 0 Then
|
|
Alert($"Proceso terminado se enviaron {Contador} Invitaciones")
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Protected Sub ImgReimprimir_Click(sender As Object, e As EventArgs)
|
|
|
|
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
|
|
|
|
|
Dim objRH As New ClsRH
|
|
Dim activo As Boolean = False
|
|
Dim constancia As Boolean = False
|
|
|
|
If objRH.SubtemasGet(-1, 1, UsuarioActual.Empresa.CveEmpresa) Then
|
|
DDLSubtema.DataSource = objRH.DtResultados
|
|
Else
|
|
DDLSubtema.DataSource = Nothing
|
|
End If
|
|
objRH.Dispose()
|
|
DDLSubtema.DataBind()
|
|
DDLSubtema.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
|
|
|
|
LtlTituloModalCapacitadores.Text = "Editar Curso"
|
|
Actualizar = True
|
|
|
|
CveCurso = GvRow.DataKey("CveCurso").ToString.ToEntero
|
|
|
|
Curso = GvRow.DataKey("Curso")
|
|
Capacitador = GvRow.DataKey("Capacitador")
|
|
ChkConstancias.Checked = Boolean.Parse(GvRow.DataKey("ConstanciaDC3"))
|
|
|
|
TxtCurso.Text = GvRow.DataKey("Curso")
|
|
TxtDuracion.Text = GvRow.DataKey("Duracion")
|
|
TxtObservaciones.Text = GvRow.DataKey("Observaciones")
|
|
|
|
ChkEstatus.Checked = Boolean.Parse(GvRow.DataKey("Estatus"))
|
|
DDlTema.SelectedValueExist(GvRow.DataKey("CveTema"))
|
|
DDLSubtema.SelectedValueExist(GvRow.DataKey("CveSubtema"))
|
|
DDLCapacitador.SelectedValueExist(GvRow.DataKey("CveCapacitador"))
|
|
DDLAreaTematica.SelectedValueExist(GvRow.DataKey("CveAreaTematica"))
|
|
|
|
txtInicio.Text = GvRow.DataKey("Fecha").ToDate.ToString("dd/MM/yyyy")
|
|
TxtHoraEntrada.Text = GvRow.DataKey("Hora").ToString()
|
|
TxtUbicacion.Text = GvRow.DataKey("Ubicacion").ToString()
|
|
Me.DVGvGrupos.Visible = True
|
|
|
|
BtnAgregarCursosModal.Text = "Actualizar"
|
|
|
|
UpModalCurso.Update()
|
|
UpGral.Update()
|
|
CargaParticiopantesGV(CveCurso)
|
|
|
|
|
|
RegistraScript("descargainvitados()")
|
|
|
|
End Sub
|
|
End Class
|
|
|
|
|
|
|