Files
SIG/RH/CatCursos.aspx.vb

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