Option Explicit On
Option Strict On
Imports System.Data
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Contratos_RepPresupuestos
Inherits ClsPaginas
#Region "P R O P I E D A D E S"
Public Property DtPresupuestos() As DataTable
Get
Return DirectCast(ViewState("DtPresupuestos"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtPresupuestos") = 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()
End If
End Sub
#Region " INICIALIZA VALORES "
Private Sub InicializaValores()
TxtFiltrosFechaInicio.Text = $"01/09/{Now.Year - 1}"
TxtFiltrosFechaFin.Text = $"31/08/{Now.Year}"
DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa)
DdlTipoGasto.DataBind()
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
DdlClasificacion.Items.Insert(0, New ListItem("Todos", "-1"))
DdlClasificacion.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
#End Region
#Region " CARGA DATOS "
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
Protected Sub BtnConsultarFiltros_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
Private Sub CargaDatos()
Dim CveTipoGasto = DdlTipoGasto.SelectedValue.ToEntero
Dim Agrupador = DdlAgrupador.SelectedValue.ToEntero
Dim FechaInicio = If(IsDate(TxtFiltrosFechaInicio.Text), TxtFiltrosFechaInicio.Text.ToDate, MinFecha)
Dim FechaFin = If(IsDate(TxtFiltrosFechaFin.Text), TxtFiltrosFechaFin.Text.ToDate, MaxFecha)
Dim EsMensual = ChkMensual.Checked
If Not EsMensual Then
Dim ObjPresupuestos As New ClsContratos
If ObjPresupuestos.GetPresupuestosRep(-1, CveTipoGasto, Agrupador, FechaInicio, FechaFin, UsuarioActual.CveEmpresa, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveUsuario, DdlClasificacion.SelectedValue.ToEntero) Then
DtPresupuestos = ObjPresupuestos.DtResultados
GvDatos.DataSource = DtPresupuestos
End If
ObjPresupuestos.Dispose()
DivDatosMensual.Visible = False
DivRepDatos.Visible = True
DivIndicadores.Visible = True
GvDatos.DataBind()
GvDatos.HeaderRow.Cells(0).Text = If(Agrupador = 1, "Clasificación", "Centro de Costo")
UpDatos.Update()
Else
Dim ObjPresupuestos As New ClsContratos
If ObjPresupuestos.GetPresupuestosMensualRep(-1, CveTipoGasto, Agrupador, FechaInicio, FechaFin, UsuarioActual.CveEmpresa, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveUsuario, DdlClasificacion.SelectedValue.ToEntero) Then
DtPresupuestos = ObjPresupuestos.DtResultados
GvDatosMensual.DataSource = DtPresupuestos
End If
ObjPresupuestos.Dispose()
DivDatosMensual.Visible = True
DivRepDatos.Visible = False
DivIndicadores.Visible = False
GvDatosMensual.DataBind()
GvDatosMensual.HeaderRow.Cells(0).Text = If(Agrupador = 1, "Clasificación", "Centro de Costo")
UpDatosMensual.Update()
End If
Select Case Agrupador
Case 1 'CLASIFICACON
HpGrafica.Visible = False
CargaIndicadores(EsMensual)
Case 2 'CENTRO DE COSTO
HpGrafica.Visible = True
CargaIndicadores(EsMensual)
End Select
UpAcciones.Update()
UpModalGrafica.Update()
UpIndicadores.Update()
If EsMensual Then
RegistraScript($"CargaChartMensual({HdnJsonProyecto.Value},{HdnJsonGraficos.Value});", "2")
Else
RegistraScript($"CargaChartProyecto({HdnJsonProyecto.Value});", "2")
End If
End Sub
Private Sub CargaIndicadores(EsMensual As Boolean, Optional Tipo As String = "1")
If DtPresupuestos IsNot Nothing And GvDatos.Rows.Count > 0 Then
Dim DtDatos = DtPresupuestos.FiltraParametros($"Tipo = {Tipo}")
If EsMensual Then
Dim jsonGraphs = New JArray()
Dim jsonData = New JArray()
Dim Random = New Random()
Dim JEnero As New JObject
Dim JNombreEnero = New JProperty("Mes", "Enero")
JEnero.Add(JNombreEnero)
Dim JFebrero As New JObject
Dim JNombreFebrero = New JProperty("Mes", "Febrero")
JFebrero.Add(JNombreFebrero)
Dim JMarzo As New JObject
Dim JNombreMarzo = New JProperty("Mes", "Marzo")
JMarzo.Add(JNombreMarzo)
Dim JAbril As New JObject
Dim JNombreAbril = New JProperty("Mes", "Abril")
JAbril.Add(JNombreAbril)
Dim JMayo As New JObject
Dim JNombreMayo = New JProperty("Mes", "Mayo")
JMayo.Add(JNombreMayo)
Dim JJunio As New JObject
Dim JNombreJunio = New JProperty("Mes", "Junio")
JJunio.Add(JNombreJunio)
Dim JJulio As New JObject
Dim JNombreJulio = New JProperty("Mes", "Julio")
JJulio.Add(JNombreJulio)
Dim JAgosto As New JObject
Dim JNombreAgosto = New JProperty("Mes", "Agosto")
JAgosto.Add(JNombreAgosto)
Dim JSeptiembre As New JObject
Dim JNombreSeptiembre = New JProperty("Mes", "Septiembre")
JSeptiembre.Add(JNombreSeptiembre)
Dim JOctubre As New JObject
Dim JNombreOctubre = New JProperty("Mes", "Octubre")
JOctubre.Add(JNombreOctubre)
Dim JNoviembre As New JObject
Dim JNombreNoviembre = New JProperty("Mes", "Noviembre")
JNoviembre.Add(JNombreNoviembre)
Dim JDiciembre As New JObject
Dim JNombreDiciembre = New JProperty("Mes", "Diciembre")
JDiciembre.Add(JNombreDiciembre)
For Each Dr As DataRow In DtDatos.Rows
Dim NombreValorAgrupador As String = $"Valor{ Dr("Agrupador").ToString()}"
Dim HtmlColor = String.Format("#{0:X6}", Random.Next(&H1000000))
Dim jGraph = New JObject(New JProperty("valueAxis", "v1"),
New JProperty("lineColor", HtmlColor),
New JProperty("bullet", "round"),
New JProperty("bulletBorderThickness", 1),
New JProperty("hideBulletsCount", 30),
New JProperty("fillAlphas", 0),
New JProperty("title", Dr("Agrupador").ToString()),
New JProperty("valueField", NombreValorAgrupador)
)
jsonGraphs.Add(jGraph)
Dim ValorEnero = Dr("EneroEjercido").ToString.ToDecimal()
Dim JValorEnero = New JProperty(NombreValorAgrupador, ValorEnero)
JEnero.Add(JValorEnero)
Dim ValorFebrero = Dr("FebreroEjercido").ToString.ToDecimal()
Dim JValorFebrero = New JProperty(NombreValorAgrupador, ValorFebrero)
JFebrero.Add(JValorFebrero)
Dim ValorMarzo = Dr("MarzoEjercido").ToString.ToDecimal()
Dim JValorMarzo = New JProperty(NombreValorAgrupador, ValorMarzo)
JMarzo.Add(JValorMarzo)
Dim ValorAbril = Dr("AbrilEjercido").ToString.ToDecimal()
Dim JValorAbril = New JProperty(NombreValorAgrupador, ValorAbril)
JAbril.Add(JValorAbril)
Dim ValorMayo = Dr("MayoEjercido").ToString.ToDecimal()
Dim JValorMayo = New JProperty(NombreValorAgrupador, ValorMayo)
JMayo.Add(JValorMayo)
Dim ValorJunio = Dr("JunioEjercido").ToString.ToDecimal()
Dim JValorJunio = New JProperty(NombreValorAgrupador, ValorJunio)
JJunio.Add(JValorJunio)
Dim ValorJulio = Dr("JulioEjercido").ToString.ToDecimal()
Dim JValorJulio = New JProperty(NombreValorAgrupador, ValorJulio)
JJulio.Add(JValorJulio)
Dim ValorAgosto = Dr("AgostoEjercido").ToString.ToDecimal()
Dim JValorAgosto = New JProperty(NombreValorAgrupador, ValorAgosto)
JAgosto.Add(JValorAgosto)
Dim ValorSeptiembre = Dr("SeptiembreEjercido").ToString.ToDecimal()
Dim JValorSeptiembre = New JProperty(NombreValorAgrupador, ValorSeptiembre)
JSeptiembre.Add(JValorSeptiembre)
Dim ValorOctubre = Dr("OctubreEjercido").ToString.ToDecimal()
Dim JValorOctubre = New JProperty(NombreValorAgrupador, ValorOctubre)
JOctubre.Add(JValorOctubre)
Dim ValorNoviembre = Dr("NoviembreEjercido").ToString.ToDecimal()
Dim JValorNoviembre = New JProperty(NombreValorAgrupador, ValorNoviembre)
JNoviembre.Add(JValorNoviembre)
Dim ValorDiciembre = Dr("DiciembreEjercido").ToString.ToDecimal()
Dim JValorDiciembre = New JProperty(NombreValorAgrupador, ValorDiciembre)
JDiciembre.Add(JValorDiciembre)
Next
jsonData.Add(JEnero)
jsonData.Add(JFebrero)
jsonData.Add(JMarzo)
jsonData.Add(JAbril)
jsonData.Add(JMayo)
jsonData.Add(JJunio)
jsonData.Add(JJulio)
jsonData.Add(JAgosto)
jsonData.Add(JSeptiembre)
jsonData.Add(JOctubre)
jsonData.Add(JNoviembre)
jsonData.Add(JDiciembre)
HdnJsonProyecto.Value = jsonData.ToString
HdnJsonGraficos.Value = jsonGraphs.ToString
Else
Dim DrPresupuesto = DtPresupuestos.FiltroPrimero("Tipo = 0 AND CveAgrupador IS NULL")
Dim Autorizado = DrPresupuesto("Autorizado").ToString.ToDecimal
Dim Ejercido = DrPresupuesto("Ejercido").ToString.ToDecimal
Dim PorEjercer = DrPresupuesto("PorEjercer").ToString.ToDecimal
Dim EjercidoPorcentaje = DrPresupuesto("EjercidoPorcentaje").ToString.ToDecimal
Dim PorEjercerPorcentaje = DrPresupuesto("PorEjercerPorcentaje").ToString.ToDecimal
LtlAutorizado.Text = Autorizado.FormatoNumero
LtlEjercido.Text = Ejercido.FormatoNumero
LtlPorEjercer.Text = PorEjercer.FormatoNumero
PBEjercido.Style.Remove("width")
PBEjercido.Style.Add("width", $"{EjercidoPorcentaje.ToString}%")
PBPorEjercer.Style.Remove("width")
PBPorEjercer.Style.Add("width", $"{PorEjercerPorcentaje.ToString}%")
LtlPorcentajeEjercido.Text = EjercidoPorcentaje.FormatoNumero + " %"
LtlPorcentajePorEjercer.Text = PorEjercerPorcentaje.FormatoNumero + " %"
Dim json = New JArray(
From dr In DtDatos
Select New JObject(
New JProperty("Agrupador", dr("Agrupador").ToString()),
New JProperty("Autorizado", dr("Autorizado").ToString().ToDecimal().FormatoNumero),
New JProperty("Ejercido", dr("Ejercido").ToString().ToDecimal().FormatoNumero),
New JProperty("PorEjercer", dr("PorEjercer").ToString().ToDecimal().FormatoNumero),
New JProperty("AutorizadoProporcion", 100),
New JProperty("EjercidoProporcion", dr("EjercidoPorcentaje").ToString().ToDecimal()),
New JProperty("PorEjercerProporcion", dr("PorEjercerPorcentaje").ToString().ToDecimal()))
)
HdnJsonProyecto.Value = json.ToString
End If
Else
LtlAutorizado.Text = ""
LtlEjercido.Text = ""
LtlPorEjercer.Text = ""
PBEjercido.Style.Remove("width")
PBPorEjercer.Style.Remove("width")
End If
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Select Case e.Row.DBCampo("Tipo").ToEntero
Case 0
e.Row.CssClass = "Totales"
Case 1
e.Row.CssClass = "SubTotales"
End Select
If e.Row.DBCampo("Autorizado").ToDecimal = 0 Then
e.Row.Cells(1).Text = "-"
End If
If e.Row.DBCampo("Ejercido").ToDecimal = 0 Then
e.Row.Cells(2).Text = "-"
End If
If e.Row.DBCampo("EjercidoPorcentaje").ToDecimal = 0 Then
e.Row.Cells(3).Text = "-"
End If
If e.Row.DBCampo("PorEjercer").ToDecimal = 0 Then
e.Row.Cells(4).Text = "-"
End If
If e.Row.DBCampo("PorEjercerPorcentaje").ToDecimal = 0 Then
e.Row.Cells(5).Text = "-"
End If
If e.Row.DBCampo("Pagado").ToDecimal = 0 Then
e.Row.Cells(6).Text = "-"
End If
If e.Row.RowIndex > 0 Then
Dim CveAgrupador = e.Row.DBCampo("CveAgrupador").ToEntero
Dim EsProyecto = False
Dim FechaFin = e.Row.DBCampo("FechaFFiltro").ToDate.ToShortDateString
Dim FechaInicio = e.Row.DBCampo("FechaIFiltro").ToDate.ToShortDateString
If Not CveAgrupador > 0 Then
If DdlAgrupador.SelectedValue.ToEntero = 2 Then
CveAgrupador = e.Row.DBCampo("CveProyecto").ToEntero
Else
CveAgrupador = e.Row.DBCampo("CveClasificacion").ToEntero
End If
EsProyecto = True
End If
Dim Css = "Texto"
Dim Liga = $"/Contratos/RepPresupuestosDetalle.aspx?&CveAgrupador={CveAgrupador}&CveClasificacion={e.Row.DBCampo("CveClasificacionFiltro")}&CveProyecto={e.Row.DBCampo("CveProyectoFiltro")}&CveSubProyecto={e.Row.DBCampo("CveSubProyectoFiltro")}&CveTipoGasto={e.Row.DBCampo("CveTipoGastoFiltro")}&Agrupador={e.Row.DBCampo("AgrupadorFiltro")}&Mensual={False}&EsProyecto={EsProyecto}&FechaFin={FechaFin}&FechaInicio={FechaInicio}"
e.Row.Cells(0).Text = "" + e.Row.Cells(0).Text + ""
End If
End If
End Sub
#End Region
Protected Sub ChkMensual_CheckedChanged(sender As Object, e As EventArgs) Handles ChkMensual.CheckedChanged
DivRepDatos.Visible = Not ChkMensual.Checked
DivDatosMensual.Visible = ChkMensual.Checked
UpDatos.Update()
UpDatosMensual.Update()
End Sub
Protected Sub GvDatosMensual_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
Select Case e.Row.DBCampo("Tipo").ToEntero
Case 0
e.Row.CssClass = "Totales"
Case 1
e.Row.CssClass = "SubTotales"
End Select
If e.Row.DBCampo("EneroEjercido").ToDecimal = 0 Then
e.Row.Cells(3).Text = "-"
End If
If e.Row.DBCampo("EneroPagado").ToDecimal = 0 Then
e.Row.Cells(5).Text = "-"
End If
If e.Row.DBCampo("FebreroEjercido").ToDecimal = 0 Then
e.Row.Cells(7).Text = "-"
End If
If e.Row.DBCampo("FebreroPagado").ToDecimal = 0 Then
e.Row.Cells(9).Text = "-"
End If
If e.Row.DBCampo("MarzoEjercido").ToDecimal = 0 Then
e.Row.Cells(11).Text = "-"
End If
If e.Row.DBCampo("MarzoPagado").ToDecimal = 0 Then
e.Row.Cells(13).Text = "-"
End If
If e.Row.DBCampo("AbrilEjercido").ToDecimal = 0 Then
e.Row.Cells(15).Text = "-"
End If
If e.Row.DBCampo("AbrilPagado").ToDecimal = 0 Then
e.Row.Cells(17).Text = "-"
End If
If e.Row.DBCampo("MayoEjercido").ToDecimal = 0 Then
e.Row.Cells(19).Text = "-"
End If
If e.Row.DBCampo("MayoPagado").ToDecimal = 0 Then
e.Row.Cells(21).Text = "-"
End If
If e.Row.DBCampo("JunioEjercido").ToDecimal = 0 Then
e.Row.Cells(23).Text = "-"
End If
If e.Row.DBCampo("JunioPagado").ToDecimal = 0 Then
e.Row.Cells(25).Text = "-"
End If
If e.Row.DBCampo("JulioEjercido").ToDecimal = 0 Then
e.Row.Cells(27).Text = "-"
End If
If e.Row.DBCampo("JulioPagado").ToDecimal = 0 Then
e.Row.Cells(29).Text = "-"
End If
If e.Row.DBCampo("AgostoEjercido").ToDecimal = 0 Then
e.Row.Cells(31).Text = "-"
End If
If e.Row.DBCampo("AgostoPagado").ToDecimal = 0 Then
e.Row.Cells(33).Text = "-"
End If
If e.Row.DBCampo("SeptiembreEjercido").ToDecimal = 0 Then
e.Row.Cells(35).Text = "-"
End If
If e.Row.DBCampo("SeptiembrePagado").ToDecimal = 0 Then
e.Row.Cells(37).Text = "-"
End If
If e.Row.DBCampo("OctubreEjercido").ToDecimal = 0 Then
e.Row.Cells(39).Text = "-"
End If
If e.Row.DBCampo("OctubrePagado").ToDecimal = 0 Then
e.Row.Cells(41).Text = "-"
End If
If e.Row.DBCampo("NoviembreEjercido").ToDecimal = 0 Then
e.Row.Cells(43).Text = "-"
End If
If e.Row.DBCampo("NoviembrePagado").ToDecimal = 0 Then
e.Row.Cells(45).Text = "-"
End If
If e.Row.DBCampo("DiciembreEjercido").ToDecimal = 0 Then
e.Row.Cells(47).Text = "-"
End If
If e.Row.DBCampo("DiciembrePagado").ToDecimal = 0 Then
e.Row.Cells(49).Text = "-"
End If
If e.Row.DBCampo("TotalEjercido").ToDecimal = 0 Then
e.Row.Cells(50).Text = "-"
End If
If e.Row.DBCampo("TotalPagado").ToDecimal = 0 Then
e.Row.Cells(52).Text = "-"
End If
If e.Row.RowIndex > 0 Then
If DdlAgrupador.SelectedValue.ToEntero = 2 Then
If e.Row.DBCampo("CveAgrupador").ToEntero > 0 Or e.Row.DBCampo("CveProyecto").ToEntero > 0 Then
Dim CveAgrupador = e.Row.DBCampo("CveAgrupador").ToEntero
Dim EsProyecto = False
If Not e.Row.DBCampo("CveAgrupador").ToEntero > 0 Then
CveAgrupador = e.Row.DBCampo("CveProyecto").ToEntero
EsProyecto = True
End If
Dim FechaFin = e.Row.DBCampo("FechaFFiltro").ToDate.ToShortDateString
Dim FechaInicio = e.Row.DBCampo("FechaIFiltro").ToDate.ToShortDateString
Dim Css = "Texto"
Dim Liga = $"/Contratos/RepPresupuestosDetalle.aspx?&CveAgrupador={CveAgrupador}&CveClasificacion={e.Row.DBCampo("CveClasificacionFiltro")}&CveProyecto={e.Row.DBCampo("CveProyectoFiltro")}&CveSubProyecto={e.Row.DBCampo("CveSubProyectoFiltro")}&CveTipoGasto={e.Row.DBCampo("CveTipoGastoFiltro")}&Agrupador={e.Row.DBCampo("AgrupadorFiltro")}&Mensual={True}&EsProyecto={EsProyecto}&FechaFin={FechaFin}&FechaInicio={FechaInicio}"
e.Row.Cells(0).Text = "" + e.Row.Cells(0).Text + ""
End If
Else
If e.Row.DBCampo("CveAgrupador").ToEntero > 0 Then
Dim CveAgrupador = e.Row.DBCampo("CveAgrupador").ToEntero
Dim EsProyecto = False
If Not e.Row.DBCampo("CveAgrupador").ToEntero > 0 Then
CveAgrupador = e.Row.DBCampo("CveProyecto").ToEntero
EsProyecto = True
End If
Dim FechaFin = e.Row.DBCampo("FechaFFiltro").ToDate.ToShortDateString
Dim FechaInicio = e.Row.DBCampo("FechaIFiltro").ToDate.ToShortDateString
Dim Css = "Texto"
Dim Liga = $"/Contratos/RepPresupuestosDetalle.aspx?&CveAgrupador={CveAgrupador}&CveClasificacion={e.Row.DBCampo("CveClasificacionFiltro")}&CveProyecto={e.Row.DBCampo("CveProyectoFiltro")}&CveSubProyecto={e.Row.DBCampo("CveSubProyectoFiltro")}&CveTipoGasto={e.Row.DBCampo("CveTipoGastoFiltro")}&Agrupador={e.Row.DBCampo("AgrupadorFiltro")}&Mensual={True}&EsProyecto={EsProyecto}&FechaFin={FechaFin}&FechaInicio={FechaInicio}"
e.Row.Cells(0).Text = "" + e.Row.Cells(0).Text + ""
End If
End If
End If
End If
End Sub
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaSubProyecto()
End Sub
#Region " IMPRESION - NUEVO "
Protected Sub ImgExcel_Click(sender As Object, e As System.EventArgs) Handles ImgExcel.Click
GenerarPDF("EXCEL")
End Sub
Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
GenerarPDF()
End Sub
Private Sub GenerarPDF(Optional Formato As String = "PDF")
Dim Agrupador = If(DdlAgrupador.SelectedValue = "-1", "", $" Agrupador: {DdlAgrupador.SelectedItem.Text}")
Dim Proyecto = If(DdlProyecto.SelectedValue = "-1", "", $" Proyecto: {DdlProyecto.SelectedItem.Text}")
Dim SubProyecto = If(DdlSubProyecto.SelectedValue = "-1", "", $" SubProyecto: {DdlSubProyecto.SelectedItem.Text}")
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $" Clasificación: {DdlClasificacion.SelectedItem.Text}")
Dim TipoGasto = If(DdlTipoGasto.SelectedValue = "-1", "", $" Tipo Gasto: {DdlTipoGasto.SelectedItem.Text}")
Dim FechaIn As String = $" Fecha Inicio: {TxtFiltrosFechaInicio.Text}"
Dim FechaFn As String = $" Fecha Fin: {TxtFiltrosFechaFin.Text}"
If TxtFiltrosFechaInicio.Text = "" Then FechaIn = ""
If TxtFiltrosFechaFin.Text = "" Then FechaFn = ""
If DtPresupuestos.Rows.Count > 0 Then
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
params.Add(New ReportParameter("AgrupadoPor", $"{FechaIn}{FechaFn}{Agrupador}{Proyecto}{SubProyecto}{Clasificacion}{TipoGasto}"))
params.Add(New ReportParameter("Autorizado", LtlAutorizado.Text.FormatoNumero()))
params.Add(New ReportParameter("Ejercido", LtlEjercido.Text.FormatoNumero()))
params.Add(New ReportParameter("PorEjercer", LtlPorEjercer.Text.FormatoNumero()))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", $"file://{Imagen.FullName}"))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepPresupuestoAnual.rdlc", DtPresupuestos, params, "Reporte de Presupuestos Anual", Formato)
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
End Sub
#End Region
End Class