257 lines
12 KiB
VB.net
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 = 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 = 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
|