Option Explicit On Option Strict On Imports System.Data Imports System.Linq Imports Extensiones Partial Class AC_CatPrograma Inherits ClsPaginas Private Property CvePrograma() As Integer 'Guardamos el ID de registro para saber cual registro Editar Get Return If(IsNothing(ViewState("CvePrograma")), -1, CInt(ViewState("CvePrograma"))) End Get Set ViewState("CvePrograma") = 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") = "" CargaDatos() CargaProgramaCONAC() End If End Sub Public Sub CargaDatos() Dim ObjPrograma As New ClsAC If ObjPrograma.GetProgramas() Then ViewState("DTProgramas") = ObjPrograma.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) GlobalDTAC_Programas = ObjPrograma.DtResultados Else Me.GvDatos.DataSource = Nothing End If ObjPrograma.Dispose() If ViewState("Orden").ToString() <> String.Empty Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") End If End Sub Protected Sub BtnMostrarModal_Click(sender As Object, e As EventArgs) Handles BtnMostrarModal.Click TxtPrograma.Text = "" DdlProgramaCONAC.SelectedValue = "-1" ChkEstatus.Checked = True CheckActiveSection.Visible = False UpModalTiposD.Update() RegistraScript(String.Format("$('#{0}').modal();", "DivModal")) End Sub Protected Sub LbAgregar_Click(sender As Object, e As System.EventArgs) Handles LbAgregar.Click Dim ObjPrograma As New ClsAC If LbAgregar.Text = "Agregar" Then If ObjPrograma.AddPrograma(TxtPrograma.Text.Trim, DdlProgramaCONAC.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then TxtPrograma.Text = "" Alert("El Programa se guardó correctamente.", TipoMensaje.MsgInformacion) 'UpTitulos.Update() ViewState("DTProgramas") = ObjPrograma.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) GlobalDTAC_Programas = ObjPrograma.DtResultados End If Else If ObjPrograma.UpdatePrograma(TxtPrograma.Text, DdlProgramaCONAC.SelectedValue.ToEntero, ChkEstatus.Checked, CvePrograma) Then GvDatos.EditIndex = -1 ViewState("DTProgramas") = ObjPrograma.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) GlobalDTAC_Programas = ObjPrograma.DtResultados Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion) End If End If If ViewState("Orden").ToString() <> String.Empty Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") End If RegistraScript(String.Format("$('#{0}').modal('hide');", "DivModal")) ObjPrograma.Dispose() End Sub Private Sub CargaProgramaCONAC() DdlProgramaCONAC.DataSource = GlobalDTAC_ProgramasCONAC DdlProgramaCONAC.DataBind() End Sub #Region "G V D A T O S" Protected Sub LnkEditar_Click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) 'obtenemos el renglon que acabamos de seleccionar CvePrograma = GvRow.DataKey("CvePrograma").ToEntero TxtPrograma.Text = GvRow.DataKey("Programa") DdlProgramaCONAC.SelectedValue = GvRow.DataKey("CveProgramaCONAC") CheckActiveSection.Visible = True ChkEstatus.Checked = GvRow.DataKey("Estatus") = "Activo" LbAgregar.Text = "Actualizar" UpModalTiposD.Update() RegistraScript(String.Format("$('#{0}').modal();", "DivModal")) End Sub Protected Sub LnkEliminar_Click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) 'obtenemos el renglon que acabamos de seleccionar Dim ObjPrograma As New ClsAC If ObjPrograma.RemovePrograma(GvRow.DataKey("CvePrograma").ToEntero) Then GvDatos.EditIndex = -1 ViewState("DTProgramas") = ObjPrograma.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) GlobalDTAC_Programas = ObjPrograma.DtResultados Alert("El Registro se eliminó correctamente.", TipoMensaje.MsgInformacion) End If ObjPrograma.Dispose() If ViewState("Orden").ToString() <> String.Empty Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") End If End Sub 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(250) ' e.Row.Cells(1).Width = Unit.Pixel(150) ' e.Row.Cells(2).Width = Unit.Pixel(100) ' e.Row.Cells(3).Width = Unit.Pixel(100) ' e.Row.Cells(4).Width = Unit.Pixel(100) ' e.Row.Cells(5).Width = Unit.Pixel(53) ' e.Row.Cells(6).Width = Unit.Pixel(68) 'End If 'e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left 'If e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5 Then ' e.Row.FCDropDownList("DdlProgramaCONAC").DataSource = GlobalDTAC_ProgramasCONAC ' e.Row.FCDropDownList("DdlProgramaCONAC").DataBind() ' e.Row.FCDropDownList("DdlProgramaCONAC").SelectedValue = e.Row.DBCampo("CveProgramaCONAC") 'End If End If End Sub Protected Sub GvDatos_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatos.RowDeleting Dim ObjPrograma As New ClsAC If ObjPrograma.RemovePrograma(GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then GvDatos.EditIndex = -1 ViewState("DTProgramas") = ObjPrograma.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) GlobalDTAC_Programas = ObjPrograma.DtResultados Alert("El Registro se eliminó correctamente.", TipoMensaje.MsgInformacion) End If ObjPrograma.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 ObjPrograma As New ClsAC Dim Programa As String = DirectCast(GvDatos.Rows(e.RowIndex).FindControl("TxtPrograma"), TextBox).Text.Trim Dim Estatus As Boolean = GvDatos.Rows(e.RowIndex).FCCheckBox("ChkEstatus").Checked Dim CvePrograma As Integer = GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero 'Dim Programa As String = DirectCast(GvDatos.Rows(e.RowIndex).FindControl("TxtPrograma"), TextBox).Text.Trim Dim ProgramaCONAC As Integer = DirectCast(GvDatos.Rows(e.RowIndex).FindControl("DdlProgramaCONAC"), DropDownList).SelectedValue.ToEntero If ObjPrograma.UpdatePrograma(Programa, ProgramaCONAC, Estatus, CvePrograma) Then GvDatos.EditIndex = -1 ViewState("DTProgramas") = ObjPrograma.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) GlobalDTAC_Programas = ObjPrograma.DtResultados Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion) End If ObjPrograma.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("") 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("DTProgramas"), DataTable), "", Orden, DataViewRowState.CurrentRows) GvDatos.DataSource = DV.ToTable() DV.Dispose() Else GvDatos.DataSource = CType(ViewState("DTProgramas"), DataTable) End If GvDatos.DataBind() UpDatos.Update() End Sub #End Region End Class