Files
SIG/RH/CatAsistenciasInasistencias.aspx.vb
2023-07-20 13:10:56 -07:00

257 lines
12 KiB
VB.net

Option Explicit On
Option Strict On
Imports System.Data
Imports System.Linq
Imports Extensiones
Partial Class RH_CatAsistenciasInasistencias
Inherits ClsPaginas
#Region " PROPIEDADES "
Public Property PuedeEditar As Boolean
Get
Return CBool(ViewState("PuedeEditar"))
End Get
Set(value As Boolean)
ViewState("PuedeEditar") = value
End Set
End Property
Public Property PuedeEliminar As Boolean
Get
Return CBool(ViewState("PuedeEditar"))
End Get
Set(value As Boolean)
ViewState("PuedeEditar") = value
End Set
End Property
Private Property CveTipoAsisAEditar() As Integer 'Guardamos el ID de registro para saber cual registro Editar
Get
Return If(IsNothing(ViewState("CveTipoAsisAEditar")), -1, CInt(ViewState("CveTipoAsisAEditar")))
End Get
Set
ViewState("CveTipoAsisAEditar") = Value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
ViewState("Orden") = ""
CargaDatos()
End If
End Sub
Public Sub CargaDatos()
Dim ObjAsistenciasInasistencias As New ClsRH
If ObjAsistenciasInasistencias.GetAsistenciasInasistencias(UsuarioActual.CveEmpresa) Then
ViewState("DTAsistenciasInasistencias") = ObjAsistenciasInasistencias.DtResultados
Else
Me.GvDatos.DataSource = Nothing
End If
ObjAsistenciasInasistencias.Dispose()
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
End Sub
Protected Sub BtnAgregarMotivo_Click(sender As Object, e As EventArgs) Handles BtnAgregarMotivoD.Click 'Hacemos aparecer la ventana modal con los campos limpios
BtnEditarTiposDModal.Visible = False
BtnAgregarTiposDModal.Visible = True
CheckActiveSection.Visible = False
AplicaNoAplica.Checked = False
AplicaFalta.Checked = True
AplicaVacacion.Checked = False
AplicaIncapacidad.Checked = False
AplicaRetardo.Checked = False
AplicaAguinaldo.Checked = False
AplicaUtilidades.Checked = False
TipoTxt.Text = ""
TxtTipoCorto.Text = ""
UpModalTiposD.Update()
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD"))
End Sub
Protected Sub LbAgregar_Click(sender As Object, e As System.EventArgs) Handles BtnAgregarTiposDModal.Click 'esta funcion es la que agrega un nuevo motivo de baja se activa con el boton "Agregar" de la ventana modal"
Dim ObjAsistenciasInasistencias As New ClsRH
Dim chkAplicaFalta As Boolean = AplicaFalta.Checked
Dim chkAplicaNoAplica As Boolean = Not AplicaNoAplica.Checked
Dim chkAplicaVacacion As Boolean = AplicaVacacion.Checked
Dim chkAplicaIncapacidad As Boolean = AplicaIncapacidad.Checked
Dim chkAplicaRetardo As Boolean = AplicaRetardo.Checked
Dim chkAplicaAguinaldo As Boolean = AplicaAguinaldo.Checked
Dim chkAplicaUtilidades As Boolean = AplicaUtilidades.Checked
Dim aplicaPago As Integer = If(ChkAplicaPago.Checked, 1, 0)
Dim aplicaPagoDoble As Integer = If(ChkAplicaPagoDoble.Checked, 1, 0)
Dim aplicaPrimaVac As Integer = If(ChkAplicaPrimaVac.Checked, 1, 0)
If ObjAsistenciasInasistencias.AddAsistenciasInasistencias(TipoTxt.Text.Trim, chkAplicaFalta, chkAplicaNoAplica, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
chkAplicaVacacion, chkAplicaIncapacidad, chkAplicaRetardo, chkAplicaAguinaldo, chkAplicaUtilidades, aplicaPago, aplicaPagoDoble, aplicaPrimaVac, TxtTipoCorto.Text) Then
TipoTxt.Text = ""
Alert("El nuevo Tipo Asistencias/Inasistencias se guardó correctamente.", TipoMensaje.MsgInformacion)
UpTitulos.Update()
ViewState("DTAsistenciasInasistencias") = ObjAsistenciasInasistencias.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
GlobalDTAsistenciasInasistencias(UsuarioActual.CveEmpresa) = Nothing
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
End If
ObjAsistenciasInasistencias.Dispose()
End Sub
#Region "G V D A T O S"
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
End If
End Sub
Public Sub GvDatos_RowEditing(sender As Object, e As EventArgs) 'Este metodo muestra la pantalla modal con la información del renglon ya puesta en los campos del formulario
BtnAgregarTiposDModal.Visible = False
BtnEditarTiposDModal.Visible = True
CheckActiveSection.Visible = True
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) 'obtenemos el renglon que acabamos de seleccionar
TipoTxt.Text = GvRow.DataKey("Tipo")
TxtTipoCorto.Text = GvRow.DataKey("TipoCorto")
AplicaNoAplica.Checked = If(GvRow.DataKey("AplicaAsistencia") = "Aplica", True, False)
AplicaFalta.Checked = If(GvRow.DataKey("AplicaFalta") = "Aplica", True, False)
AplicaVacacion.Checked = If(GvRow.DataKey("AplicaVacacion") = "Aplica", True, False)
AplicaIncapacidad.Checked = If(GvRow.DataKey("AplicaIncapacidad") = "Aplica", True, False)
AplicaRetardo.Checked = If(GvRow.DataKey("AplicaRetardo") = "Aplica", True, False)
AplicaAguinaldo.Checked = If(GvRow.DataKey("AplicaAguinaldo") = "Aplica", True, False)
AplicaUtilidades.Checked = If(GvRow.DataKey("AplicaUtilidades") = "Aplica", True, False)
ChkAplicaPago.Checked = If(GvRow.DataKey("AplicaPago") = "Aplica", True, False)
ChkAplicaPagoDoble.Checked = If(GvRow.DataKey("AplicaPagoDoble") = "Aplica", True, False)
ChkAplicaPrimaVac.Checked = If(GvRow.DataKey("AplicaPrimaVac") = "Aplica", True, False)
ChkEstatus.Checked = If(GvRow.DataKey("Estatus") = "Activo", True, False)
CveTipoAsisAEditar = Convert.ToInt32(GvRow.DataKey("CveAsistenciasInasistencias")) 'Guardamos en una propiedad el id del registro del cual haremos cambios, se guarda y se utiliza en el metodo "GvDatos_RowUpdating"
UpDatos.Update()
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD"))
End Sub
Protected Sub GvDatos_RowUpdating(sender As Object, e As EventArgs) Handles BtnEditarTiposDModal.Click '(Leer primero "GvDatos_RowEditing")Se manda la informacion a un procedmiento que hace la actualizacion
Dim ObjAsistenciasInasistencias As New ClsRH
Dim Tipo As String = TipoTxt.Text.Trim
Dim TipoCorto As String = TxtTipoCorto.Text.Trim
Dim Estatus As Boolean = ChkEstatus.Checked
Dim ckAplicaFalta As Boolean = Not AplicaFalta.Checked
Dim AplicaAsistencia As Boolean = AplicaNoAplica.Checked
Dim CveAsistenciasInasistencias As Integer = CveTipoAsisAEditar 'aquí obtenemos el valor de la propiedad que utilizamos en el metodo "GvDatos_RowEditing"
Dim chkAplicaVacacion As Boolean = AplicaVacacion.Checked
Dim chkAplicaIncapacidad As Boolean = AplicaIncapacidad.Checked
Dim chkAplicaRetardo As Boolean = AplicaRetardo.Checked
Dim chkAplicaAguinaldo As Boolean = AplicaAguinaldo.Checked
Dim chkAplicaUtilidades As Boolean = AplicaUtilidades.Checked
Dim aplicaPago As Integer = If(ChkAplicaPago.Checked, 1, 0)
Dim aplicaPagoDoble As Integer = If(ChkAplicaPagoDoble.Checked, 1, 0)
Dim aplicaPrimaVac As Integer = If(ChkAplicaPrimaVac.Checked, 1, 0)
If ObjAsistenciasInasistencias.UpdateAsistenciasInasistencias(Tipo, ckAplicaFalta, AplicaAsistencia, Estatus, CveAsistenciasInasistencias,
chkAplicaVacacion, chkAplicaIncapacidad, chkAplicaRetardo, chkAplicaAguinaldo, chkAplicaUtilidades, aplicaPago, aplicaPagoDoble,
aplicaPrimaVac, TxtTipoCorto.Text) Then
GvDatos.EditIndex = -1
ViewState("DTAsistenciasInasistencias") = ObjAsistenciasInasistencias.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
GlobalDTAsistenciasInasistencias(UsuarioActual.CveEmpresa) = Nothing
Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion)
End If
ObjAsistenciasInasistencias.Dispose()
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
End Sub
Protected Sub GvDatos_RowCancelingEdit(sender As Object, e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GvDatos.RowCancelingEdit
GvDatos.EditIndex = -1
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
End Sub
Protected Sub GvDatos_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatos.RowDeleting
Dim ObjAsistenciasInasistencias As New ClsRH
If ObjAsistenciasInasistencias.RemoveAsistenciasInasistencias(GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then
GvDatos.EditIndex = -1
ViewState("DTAsistenciasInasistencias") = ObjAsistenciasInasistencias.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
GlobalDTAsistenciasInasistencias(UsuarioActual.CveEmpresa) = Nothing
Alert("El AsistenciasInasistencias se eliminó correctamente.", TipoMensaje.MsgInformacion)
End If
ObjAsistenciasInasistencias.Dispose()
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
End Sub
#End Region
#Region "O R D E N A M I E N T O"
Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Orden As String = ""
Dim Campo As String = ""
Dim Literal As Literal = Nothing
Const OrdenInicial As String = ""
Dim Arg(2) As String
Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c)
Campo = Arg(0)
Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(",", "_")), Literal)
If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-asc' style='color:#999' ></i>")
Else
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-desc' style='color:#999' ></i>")
End If
Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString
ViewState("Orden") = Orden
CargaGrid(Orden)
End Sub
Private Sub CargaGrid(Orden As String)
If Orden <> String.Empty Then
Dim DV As New DataView(CType(ViewState("DTAsistenciasInasistencias"), DataTable), "", Orden, DataViewRowState.CurrentRows)
GvDatos.DataSource = DV.ToTable()
DV.Dispose()
Else
GvDatos.DataSource = CType(ViewState("DTAsistenciasInasistencias"), DataTable)
End If
GvDatos.DataBind()
UpDatos.Update()
End Sub
#End Region
End Class