Option Explicit On Option Strict On Imports System.Data Imports Extensiones Partial Class Contratos_RepPresupuestosDetalleCompras Inherits ClsPaginas #Region "P R O P I E D A D E S" Public Property Gpo() As Integer Get Return DirectCast(ViewState("Gpo"), Integer) End Get Set(ByVal value As Integer) ViewState("Gpo") = value End Set End Property #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then InicializaValores() CargaUrlParametros() CargaDatos() End If End Sub #Region " INICIALIZA VALORES " Private Sub InicializaValores() TxtFiltrosFechaInicio.Text = $"01/09/{Now.Year - 1}" TxtFiltrosFechaFin.Text = $"31/08/{Now.Year}" DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) DdlClasificacion.Items.Insert(0, New ListItem("Todas", "-1")) DdlClasificacion.DataBind() DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa) DdlTipoGasto.DataBind() DdlProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1).FiltraParametros("", "", {"CveProyecto", "Proyecto"}), GlobalDTProyectos(UsuarioActual.CveEmpresa, -1).FiltraParametros("", "", {"CveProyecto", "Proyecto"})) DdlProyecto.Items.Insert(0, New ListItem("Todos", "-1")) DdlProyecto.DataBind() CargaSubProyecto() UpFiltros.Update() End Sub Private Sub CargaSubProyecto() DdlSubProyecto.Items.Clear() If DdlProyecto.SelectedValue.ToEntero > 0 Or UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then DdlSubProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa, 1)) End If DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) DdlSubProyecto.DataBind() End Sub Private Sub CargaUrlParametros() Dim CveClasificacion = IfNull(Request("CveClasificacion"), -1).ToString.ToEntero Dim FechaInicio = IfNull(Request("FechaInicio"), $"01/09/{Now.Year}").ToString Dim FechaFin = IfNull(Request("FechaFin"), $"31/08/{Now.Year + 1}").ToString Dim CveProyecto = IfNull(Request("CveProyecto"), -1).ToString.ToEntero Dim CveSubProyecto = IfNull(Request("CveSubProyecto"), -1).ToString.ToEntero Dim CveTipoGasto = IfNull(Request("CveTipoGasto"), -1).ToString.ToEntero Dim Agrupador = IfNull(Request("Agrupador"), -1).ToString.ToEntero Gpo = IfNull(Request("CveAgrupador"), -1).ToString.ToEntero Dim EsProyecto = CBool(IfNull(Request("EsProyecto"), False)) If Agrupador = 1 Then Agrupador = 2 Else Agrupador = 1 DdlClasificacion.SelectedValueExist(CveClasificacion) If Agrupador = 2 Then DdlClasificacion.SelectedValueExist(Gpo) DdlProyecto.SelectedValueExist(CveProyecto) CargaSubProyecto() DdlSubProyecto.SelectedValueExist(CveSubProyecto) ElseIf Agrupador = 1 Then If Not EsProyecto Then Dim Dr As DataRow = GlobalDTSubProyectos(-1, Gpo)(0) DdlProyecto.SelectedValueExist(Dr("CveProyecto")) CargaSubProyecto() DdlSubProyecto.SelectedValueExist(Gpo) Else DdlProyecto.SelectedValueExist(Gpo) CargaSubProyecto() DdlSubProyecto.SelectedValueExist(CveSubProyecto) End If End If DdlTipoGasto.SelectedValueExist(CveTipoGasto) TxtFiltrosFechaInicio.Text = FechaInicio TxtFiltrosFechaFin.Text = FechaFin End Sub #End Region #Region " CARGA DATOS " Protected Sub BtnConsultarFiltros_Click(sender As Object, e As EventArgs) CargaDatos() End Sub Private Sub CargaDatos() Dim ObjPresupuestos As New ClsContratos If ObjPresupuestos.GetPresupuestosRepDetalleCompras(DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero, DdlTipoGasto.SelectedValue.ToEntero, TxtFiltrosFechaInicio.Text.ToDate, TxtFiltrosFechaFin.Text.ToDate, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then GvDatos.DataSource = ObjPresupuestos.DtResultados End If ObjPresupuestos.Dispose() GvDatos.DataBind() UpDatos.Update() End Sub #End Region Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) CargaSubProyecto() End Sub Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowIndex = 0 Then e.Row.CssClass = "Totales" End If End If End Sub End Class