Option Explicit On Option Strict On Imports System.Data Imports System.Linq Imports Extensiones Partial Class Nomina_CatPeriodos Inherits ClsPaginas Private Property Comando As String Get Return ViewState("Comando").ToString End Get Set(value As String) ViewState("Comando") = value End Set End Property Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then ViewState("Orden") = "" CargaTipoPeriodo() cargaEjercicios() CargaDatos() ''Permiso Registro 'If PermisoRegistro Then ' LbAgregar.Enabled = True 'Else ' LbAgregar.Enabled = False 'End If End If End Sub Public Sub CargaDatos() Dim ObjNom_Periodos As New ClsNominas If ObjNom_Periodos.GetPeriodos(DdlTipoPeriodo.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlEjercicio.SelectedValue.ToEntero, -1, -1, DdlEstatus.SelectedValue.ToEntero) Then ViewState("DTNom_Periodos") = ObjNom_Periodos.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) GlobalDTNom_Periodos = ObjNom_Periodos.DtResultados Else Me.GvDatos.DataSource = Nothing End If ObjNom_Periodos.Dispose() If ViewState("Orden").ToString() <> String.Empty Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") End If End Sub #Region " C O M B O S" Private Sub CargaTipoPeriodo() DdlTipoPeriodo.DataSource = GlobalDTTipoPeriodo DdlTipoPeriodoAdd.DataSource = GlobalDTTipoPeriodo DdlTipoPeriodo.DataBind() DdlTipoPeriodoAdd.DataBind() End Sub Private Sub cargaEjercicios() Dim objconta As New ClsContabilidad If objconta.GetEjercicios(UsuarioActual.CveEmpresa) Then DdlEjercicio.DataSource = objconta.DtResultados Else DdlEjercicio.DataSource = Nothing End If objconta.Dispose() DdlEjercicio.DataBind() DdlEjercicio.Items.Insert(0, New ListItem("Todos", "-1")) End Sub #End Region #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(100) 'e.Row.Cells(1).Width = Unit.Pixel(80) 'e.Row.Cells(2).Width = Unit.Pixel(80) 'e.Row.Cells(3).Width = Unit.Pixel(80) 'e.Row.Cells(4).Width = Unit.Pixel(100) 'e.Row.Cells(5).Width = Unit.Pixel(100) 'e.Row.Cells(6).Width = Unit.Pixel(80) 'e.Row.Cells(7).Width = Unit.Pixel(80) 'e.Row.Cells(8).Width = Unit.Pixel(80) 'e.Row.Cells(9).Width = Unit.Pixel(80) 'e.Row.Cells(10).Width = Unit.Pixel(80) 'e.Row.Cells(11).Width = Unit.Pixel(80) 'e.Row.Cells(12).Width = Unit.Pixel(80) 'e.Row.Cells(13).Width = Unit.Pixel(100) 'e.Row.Cells(14).Width = Unit.Pixel(53) 'e.Row.Cells(15).Width = Unit.Pixel(68) 'e.Row.Cells(15).Width = Unit.Pixel(100) End If e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(2).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(4).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(5).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(7).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(8).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(9).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(10).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(11).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(12).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(13).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(14).HorizontalAlign = HorizontalAlign.Center e.Row.FCCheckBox("ChkEsInicioMes").Checked = Convert.ToBoolean(e.Row.DataKey("EsInicioMes").ToString) e.Row.FCCheckBox("ChkEsFinMes").Checked = Convert.ToBoolean(e.Row.DataKey("EsFinMes").ToString) e.Row.FCCheckBox("ChkEsInicioSS").Checked = Convert.ToBoolean(e.Row.DataKey("EsInicioSS").ToString) e.Row.FCCheckBox("ChkEsFinSS").Checked = Convert.ToBoolean(e.Row.DataKey("EsFinSS").ToString) e.Row.FCCheckBox("ChkEsInicioAño").Checked = Convert.ToBoolean(e.Row.DataKey("EsInicioAño").ToString) e.Row.FCCheckBox("ChkEsFinAño").Checked = Convert.ToBoolean(e.Row.DataKey("EsFinAño").ToString) e.Row.FCCheckBox("ChkFueCalculado").Checked = Convert.ToBoolean(e.Row.DataKey("FueCalculado").ToString) If e.Row.DataKey("Estatus").ToString.ToEntero = 1 Then e.Row.FCLiteral("LtlEstatus").Text = "Actual" ElseIf e.Row.DataKey("Estatus").ToString.ToEntero = 2 Or e.Row.DataKey("Estatus").ToString.ToEntero = 3 Then e.Row.FCLiteral("LtlEstatus").Text = "Cerrado" Else e.Row.FCLiteral("LtlEstatus").Text = "" End If End If End Sub Protected Sub GvDatos_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatos.RowDeleting Dim ObjNom_Periodos As New ClsNominas If ObjNom_Periodos.RemovePeriodo(GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then GvDatos.EditIndex = -1 ViewState("DTNom_Periodos") = ObjNom_Periodos.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) GlobalDTNom_Periodos = ObjNom_Periodos.DtResultados Alert("El Periodo se eliminó correctamente.", TipoMensaje.MsgInformacion) End If ObjNom_Periodos.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 #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("") Else ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo) Literal.Text = String.Format("") 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("DTNom_Periodos"), DataTable), "", Orden, DataViewRowState.CurrentRows) GvDatos.DataSource = DV.ToTable() DV.Dispose() Else GvDatos.DataSource = CType(ViewState("DTNom_Periodos"), DataTable) End If GvDatos.DataBind() UpDatos.Update() End Sub #End Region Private Sub LnkAddPeriodo_Click(sender As Object, e As EventArgs) Handles LnkAddPeriodo.Click LimpiarModal() Comando = "Agregar" lblTiulomodal.Text = "Agregar Periodo" RegistraScript("$('#divAddPeriodo').modal('show');") End Sub Protected Sub BtnAgregar_Click(sender As Object, e As System.EventArgs) Handles BtnAgregar.Click Dim ObjNom_Periodos As New ClsNominas Dim EsInicioMes As Boolean Dim EsFinMes As Boolean Dim EsInicioSS As Boolean Dim EsFinSS As Boolean Dim EsInicioAño As Boolean Dim EsFinAño As Boolean Dim FueCalculado As Boolean Dim Numero As Integer = TxtNumeroAdd.Text.Trim.ToEntero Dim FechaInicio As Date = TxtFechaInicioAdd.Text.Trim.ToDate Dim FechaFin As Date = TxtFechaFinAdd.Text.Trim.ToDate Dim Mes As Integer = FechaFin.Month Dim Ejercicio As Integer = FechaFin.Year Dim CveTipoPeriodo As Integer = DdlTipoPeriodoAdd.SelectedValue.ToEntero Dim Estatus As Integer = DdlEstatusAdd.SelectedValue.ToEntero Dim CvePeriodo As Integer = hdnCvePerido.Value.ToEntero For Each item As ListItem In CBLchk.Items Select Case item.Value.ToEntero() Case 1 If item.Selected Then EsInicioMes = True Else EsInicioMes = False Case 2 If item.Selected Then EsFinMes = True Else EsFinMes = False Case 3 If item.Selected Then EsInicioSS = True Else EsInicioSS = False Case 4 If item.Selected Then EsFinSS = True Else EsFinSS = False Case 5 If item.Selected Then EsInicioAño = True Else EsInicioAño = False Case 6 If item.Selected Then EsFinAño = True Else EsFinAño = False Case 7 If item.Selected Then FueCalculado = True Else FueCalculado = False End Select Next If Comando = "Agregar" Then If ObjNom_Periodos.AddPeriodo(CveTipoPeriodo, Ejercicio, Mes, Numero, FechaInicio, FechaFin, EsInicioMes, EsFinMes, EsInicioSS, EsFinSS, EsInicioAño, EsFinAño, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then Alert("El nuevo Periodo se guardó correctamente.", TipoMensaje.MsgInformacion) UpDatos.Update() ViewState("DTNom_Periodos") = ObjNom_Periodos.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) GlobalDTNom_Periodos = ObjNom_Periodos.DtResultados CargaDatos() If String.IsNullOrEmpty(ViewState("Orden").ToString()) Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") End If End If ElseIf Comando = "Actualizar" Then If ObjNom_Periodos.UpdatePeriodo(FechaInicio, FechaFin, EsInicioMes, EsFinMes, EsInicioSS, EsFinSS, EsInicioAño, EsFinAño, FueCalculado, CveTipoPeriodo, Ejercicio, Mes, Numero, Estatus, CvePeriodo, UsuarioActual.CveEmpresa) Then Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion) UpDatos.Update() ViewState("DTNom_Periodos") = ObjNom_Periodos.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) GlobalDTNom_Periodos = ObjNom_Periodos.DtResultados CargaDatos() If String.IsNullOrEmpty(ViewState("Orden").ToString()) Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") End If End If End If RegistraScript("$('#divAddPeriodo').modal('hide');") 'ObjNom_Periodos.Dispose() End Sub Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click CargaDatos() End Sub Protected Sub LnkEditar_Click(sender As Object, e As EventArgs) LimpiarModal() Comando = "Actualizar" lblTiulomodal.Text = "Actualizar Periodo" Dim GvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow) DdlTipoPeriodoAdd.SelectedValueExist(GvRow.DataKey("CveTipoPeriodo").ToString.ToEntero) TxtNumeroAdd.Text = GvRow.DataKey("Numero").ToString TxtFechaInicioAdd.Text = GvRow.DataKey("FechaInicio").ToString TxtFechaFinAdd.Text = GvRow.DataKey("FechaFin").ToString DdlEstatusAdd.SelectedValueExist(GvRow.DataKey("Estatus").ToString.ToEntero) hdnCvePerido.Value = GvRow.DataKey("CvePeriodo").ToString For Each item As ListItem In CBLchk.Items Select Case item.Value.ToEntero() Case 1 item.Selected = Convert.ToBoolean(GvRow.DataKey("EsInicioMes").ToString) Case 2 item.Selected = Convert.ToBoolean(GvRow.DataKey("EsFinMes").ToString) Case 3 item.Selected = Convert.ToBoolean(GvRow.DataKey("EsInicioSS").ToString) Case 4 item.Selected = Convert.ToBoolean(GvRow.DataKey("EsFinSS").ToString) Case 5 item.Selected = Convert.ToBoolean(GvRow.DataKey("EsInicioAño").ToString) Case 6 item.Selected = Convert.ToBoolean(GvRow.DataKey("EsFinAño").ToString) Case 7 item.Selected = Convert.ToBoolean(GvRow.DataKey("FueCalculado").ToString) End Select Next UpModalPerido.Update() RegistraScript("$('#divAddPeriodo').modal('show')") End Sub Private Sub LimpiarModal() DdlTipoPeriodoAdd.SelectedValueExist(-1) TxtNumeroAdd.Text = "" TxtFechaInicioAdd.Text = "" TxtFechaFinAdd.Text = "" DdlEstatusAdd.SelectedValueExist(-1) For Each item As ListItem In CBLchk.Items Select Case item.Value.ToEntero() Case 1 item.Selected = False Case 2 item.Selected = False Case 3 item.Selected = False Case 4 item.Selected = False Case 5 item.Selected = False Case 6 item.Selected = False Case 7 item.Selected = False End Select Next UpModalPerido.Update() End Sub End Class