235 lines
11 KiB
VB.net
235 lines
11 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports Extensiones
|
|
Imports System.Data
|
|
Partial Class RH_AsistenciaDetalle
|
|
Inherits ClsPaginas
|
|
#Region "PROPIEDADES"
|
|
Private ReadOnly Property CvePersonal As Integer
|
|
Get
|
|
Return ViewState("CvePersonal").ToString.ToEntero
|
|
End Get
|
|
End Property
|
|
|
|
#End Region
|
|
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
If Not IsPostBack Then
|
|
ViewState("Orden") = ""
|
|
If Request("CvePersonal") IsNot Nothing AndAlso IsNumeric(Request("CvePersonal")) AndAlso Request("CvePersonal").ToEntero > 0 Then
|
|
ViewState("CvePersonal") = Request("CvePersonal")
|
|
CargaProyecto()
|
|
CargaDatos()
|
|
Else
|
|
ViewState("CvePersonal") = -1
|
|
End If
|
|
End If
|
|
End Sub
|
|
Private Sub CargaDatos()
|
|
Dim ObjAsistenciaDetalle As New ClsRH
|
|
If ObjAsistenciaDetalle.GetAsistenciasDetalle() Then
|
|
ViewState("DTAsistenciaDetalle") = ObjAsistenciaDetalle.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
GvDatos.DataSource = ObjAsistenciaDetalle.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
Else
|
|
Me.GvDatos.DataSource = Nothing
|
|
End If
|
|
|
|
ObjAsistenciaDetalle.Dispose()
|
|
GvDatos.DataBind()
|
|
UpDatos.Update()
|
|
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
|
|
If e.Row.RowIndex = 0 Then
|
|
e.Row.Cells(0).Width = Unit.Pixel(200)
|
|
e.Row.Cells(1).Width = Unit.Pixel(200)
|
|
e.Row.Cells(2).Width = Unit.Pixel(100)
|
|
e.Row.Cells(3).Width = Unit.Pixel(100)
|
|
e.Row.Cells(4).Width = Unit.Pixel(200)
|
|
e.Row.Cells(5).Width = Unit.Pixel(105)
|
|
e.Row.Cells(6).Width = Unit.Pixel(55)
|
|
End If
|
|
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
|
|
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Left
|
|
e.Row.Cells(4).HorizontalAlign = HorizontalAlign.Left
|
|
|
|
If e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5 Then
|
|
e.Row.FCDropDownList("DdlProyectoAsignadoEdit").DataSource = GlobalDTProyectos(UsuarioActual.CveEmpresa)
|
|
e.Row.FCDropDownList("DdlProyectoAsignadoEdit").DataBind()
|
|
e.Row.FCDropDownList("DdlProyectoAsignadoEdit").SelectedValue = e.Row.DBCampo("CveProyecto")
|
|
|
|
e.Row.FCDropDownList("DdlSubProyectoAsignadoEdit").Items.Clear()
|
|
e.Row.FCDropDownList("DdlSubProyectoAsignadoEdit").DataSource = GlobalDTSubProyectos(e.Row.DBCampo("CveProyecto").ToEntero).FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa, "", {"CveSubProyecto", "SubProyecto"})
|
|
e.Row.FCDropDownList("DdlSubProyectoAsignadoEdit").DataBind()
|
|
e.Row.FCDropDownList("DdlSubProyectoAsignadoEdit").SelectedValue = e.Row.DBCampo("CveSubProyecto")
|
|
|
|
|
|
e.Row.FCDropDownList("DdlTipoHora").SelectedValue = e.Row.DBCampo("TipoHora")
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub GvDatos_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatos.RowDeleting
|
|
Dim ObjAsistDetall As New ClsRH
|
|
|
|
Dim CveAsistencia As Integer = GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero
|
|
Dim CveSubProyecto As Integer = DirectCast(GvDatos.Rows(e.RowIndex).FindControl("LtlCveSubProyecto"), Literal).Text.ToEntero
|
|
|
|
If ObjAsistDetall.RemoveAsistenciasDetalle(CveAsistencia, CveSubProyecto) Then
|
|
GvDatos.EditIndex = -1
|
|
ViewState("DTAsistenciaDetalle") = ObjAsistDetall.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
GlobalDTAsistenciaDetalle = ObjAsistDetall.DtResultados
|
|
Alert("El Detalle de la Asistencia se eliminó correctamente.", TipoMensaje.MsgInformacion)
|
|
End If
|
|
|
|
ObjAsistDetall.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_RowUpdating(sender As Object, e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GvDatos.RowUpdating
|
|
|
|
Dim ObjAsistenciaDetalle As New ClsRH
|
|
|
|
'Dim Departamento As String = DirectCast(GvDatos.Rows(e.RowIndex).FindControl("TxtDepartamento"), TextBox).Text.Trim
|
|
'Dim Estatus As Boolean = GvDatos.Rows(e.RowIndex).FCCheckBox("ChkEstatus").Checked
|
|
Dim CveSubProyecto As Integer = DirectCast(GvDatos.Rows(e.RowIndex).FindControl("DdlSubProyectoAsignadoEdit"), DropDownList).SelectedValue.ToEntero
|
|
Dim HoraInicio As Date = (DateTime.Today & " " & DirectCast(GvDatos.Rows(e.RowIndex).FindControl("TxtHoraInicio"), TextBox).Text.Trim).ToDateTime
|
|
Dim HoraFin As Date = (DateTime.Today & " " & DirectCast(GvDatos.Rows(e.RowIndex).FindControl("TxtHoraFin"), TextBox).Text.Trim).ToDateTime
|
|
Dim TipoHora As Integer = DirectCast(GvDatos.Rows(e.RowIndex).FindControl("DdlTipoHora"), DropDownList).SelectedValue.ToEntero
|
|
|
|
Dim CveAsistencia As Integer = GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero
|
|
|
|
If ObjAsistenciaDetalle.UpdateAsistenciaDetalle(CveSubProyecto, HoraInicio, HoraFin, TipoHora, CveAsistencia) Then
|
|
GvDatos.EditIndex = -1
|
|
ViewState("DTAsistenciaDetalle") = ObjAsistenciaDetalle.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
GlobalDTAsistenciaDetalle = ObjAsistenciaDetalle.DtResultados
|
|
Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion)
|
|
End If
|
|
|
|
ObjAsistenciaDetalle.Dispose()
|
|
|
|
If ViewState("Orden").ToString() <> String.Empty Then
|
|
CargaGrid(ViewState("Orden").ToString())
|
|
Else
|
|
CargaGrid("")
|
|
End If
|
|
|
|
End Sub
|
|
Protected Sub GvDatos_RowEditing(sender As Object, e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GvDatos.RowEditing
|
|
GvDatos.EditIndex = e.NewEditIndex
|
|
|
|
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("DTAsistenciaDetalle"), DataTable), "", Orden, DataViewRowState.CurrentRows)
|
|
GvDatos.DataSource = DV.ToTable()
|
|
DV.Dispose()
|
|
Else
|
|
GvDatos.DataSource = CType(ViewState("DTAsistenciaDetalle"), DataTable)
|
|
End If
|
|
GvDatos.DataBind()
|
|
UpDatos.Update()
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "COMBOS"
|
|
Public Sub CargaProyecto()
|
|
DdlProyectoAsignado.DataSource = GlobalDTProyectos(UsuarioActual.CveEmpresa)
|
|
DdlProyectoAsignado.DataBind()
|
|
End Sub
|
|
Public Sub CargaSubProyecto()
|
|
DdlSubProyectoAsignado.Items.Clear()
|
|
DdlSubProyectoAsignado.DataSource = GlobalDTSubProyectos(DdlProyectoAsignado.SelectedValue.ToEntero).FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
|
|
DdlSubProyectoAsignado.DataBind()
|
|
|
|
DdlSubProyectoAsignado.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
End Sub
|
|
Protected Sub DdlProyectoAsignado_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyectoAsignado.SelectedIndexChanged
|
|
CargaSubProyecto()
|
|
End Sub
|
|
Protected Sub DdlProyectoAsignadoEdit_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
Dim GvDatos As GridViewRow = DirectCast(DirectCast(sender, DropDownList).BindingContainer, GridViewRow)
|
|
Dim CveProyecto As String = DirectCast(sender, DropDownList).SelectedValue
|
|
|
|
GvDatos.FCDropDownList("DdlSubProyectoAsignadoEdit").Items.Clear()
|
|
GvDatos.FCDropDownList("DdlSubProyectoAsignadoEdit").DataSource = GlobalDTSubProyectos(CveProyecto.ToEntero).FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa, "", {"CveSubProyecto", "SubProyecto"})
|
|
GvDatos.FCDropDownList("DdlSubProyectoAsignadoEdit").DataBind()
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
Protected Sub LbAgregar_Click(sender As Object, e As EventArgs) Handles LbAgregar.Click
|
|
Dim ObjAsistencias As New ClsRH
|
|
Dim ObjAsistenciasDetalle As New ClsRH
|
|
|
|
If ObjAsistencias.AddAsistencia(CvePersonal, -1, DdlSubProyectoAsignado.SelectedValue.ToEntero, NowADS(), 6, 100, 0, 0, -1, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, "G") Then
|
|
If ObjAsistencias.CveAsistencia > 0 AndAlso
|
|
ObjAsistenciasDetalle.AddAsistenciasDetalle(ObjAsistencias.CveAsistencia, DdlSubProyectoAsignado.SelectedValue.ToEntero, TxtHoraInicio.Text.Trim.ToDateTime, TxtHoraFin.Text.Trim.ToDateTime, DdlTipoHora.SelectedValue.ToEntero) Then
|
|
TxtHoraInicio.Text = ""
|
|
TxtHoraFin.Text = ""
|
|
Alert("El nuevo Registro se guardó correctamente.", TipoMensaje.MsgInformacion)
|
|
UpTitulos.Update()
|
|
ViewState("DTAsistenciaDetalle") = ObjAsistenciasDetalle.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
GlobalDTAsistenciaDetalle = ObjAsistenciasDetalle.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
|
|
If ViewState("Orden").ToString() <> String.Empty Then
|
|
CargaGrid(ViewState("Orden").ToString())
|
|
Else
|
|
CargaGrid("")
|
|
End If
|
|
End If
|
|
ObjAsistenciasDetalle.Dispose()
|
|
End If
|
|
ObjAsistencias.Dispose()
|
|
End Sub
|
|
|
|
End Class
|