Option Explicit On Option Strict On Imports System.Data Imports Extensiones Partial Class Contabilidad2_RepAnexoCatalogoMensual Inherits ClsPaginas #Region " PROPIEDADES " Public Property CveCuenta As Integer Get Return ViewState("CveCuenta").ToString.ToEntero End Get Set(value As Integer) ViewState("CveCuenta") = value End Set End Property Private Property listacolores As List(Of String) Get Return DirectCast(ViewState("listacolores"), List(Of String)) End Get Set(value As List(Of String)) ViewState("listacolores") = value End Set End Property Private Property listaCampos As List(Of String()) Get Return DirectCast(ViewState("listaCampos"), List(Of String())) End Get Set(value As List(Of String())) ViewState("listaCampos") = 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 listacolores = New List(Of String) listaCampos = New List(Of String()) listacolores.Add("#FF0F00") listacolores.Add("#FF6600") listacolores.Add("#F8FF01") listacolores.Add("#04D215") listacolores.Add("#2A0CD0") listacolores.Add("#8A0CCF") listacolores.Add("#CD0D74") listacolores.Add("#754DEB") listacolores.Add("#DDDDDD") listacolores.Add("#999999") listacolores.Add("#000000") listacolores.Add("#FF0F00") Dim EjercicioParametro, SubProyectoParametro, DivisorParametro, Periodo, TRCU As Integer CveCuenta = IfNull(Request("CveCuenta"), "-1").ToString.ToEntero EjercicioParametro = IfNull(Request("Ejercicio"), "-1").ToString.ToEntero SubProyectoParametro = IfNull(Request("CveSubProyecto"), "-1").ToString.ToEntero DivisorParametro = IfNull(Request("Divisor"), "-1").ToString.ToEntero Periodo = IfNull(Request("Periodo"), "-1").ToString.ToEntero TRCU = IfNull(Request("TRCU"), "-1").ToString.ToEntero InicializaValores() DdlEjercicio.SelectedValueExist(EjercicioParametro.ToString) DdlSubProyecto.SelectedValueExist(SubProyectoParametro.ToString) DdlDivisor.SelectedValueExist(DivisorParametro.ToString) DdlPeriodo.SelectedValueExist(Periodo) DdlTri.SelectedValueExist(TRCU) CargaDatos() End If End Sub #Region " INICIALIZA VALORES " Private Sub InicializaValores() CargaCombos() End Sub Private Sub CargaCombos() Dim Conta As New ClsContabilidad If Conta.GetEjercicios(UsuarioActual.CveEmpresa) Then DdlEjercicio.DataSource = Conta.DtResultados Else DdlEjercicio.DataSource = Nothing End If Conta.Dispose() DdlEjercicio.DataBind() DdlEjercicio.SelectedValueExist(Now.Year.ToString) DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa) DdlSubProyecto.DataBind() DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) DdlSubProyecto.SelectedValue = "-1" End Sub #End Region #Region " CARGA DATOS " Protected Sub BtnCargaAsignados_Click(sender As Object, e As EventArgs) Handles BtnCargaAsignados.Click CargaDatos() End Sub Private Sub CargaDatos() Dim Conta As New ClsContabilidad If Conta.GetAnexoCatalogoMensual(CveCuenta, DdlEjercicio.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlDivisor.SelectedValue.ToEntero, UsuarioActual.CveUsuario, DdlPeriodo.SelectedValue.ToEntero) Then GvMensual2.DataSource = Conta.DtResultados Else GvMensual2.DataSource = Nothing End If GvMensual2.DataBind() If DdlTri.SelectedValue.ToEntero = 0 Then GvMensual2.Columns(9).Visible = False GvMensual2.Columns(20).Visible = False GvMensual2.Columns(31).Visible = False GvMensual2.Columns(41).Visible = False GvMensual2.Columns(13).Visible = False GvMensual2.Columns(27).Visible = False GvMensual2.Columns(42).Visible = False ElseIf DdlTri.SelectedValue.ToEntero = 1 Then GvMensual2.Columns(9).Visible = True GvMensual2.Columns(20).Visible = True GvMensual2.Columns(31).Visible = True GvMensual2.Columns(41).Visible = True GvMensual2.Columns(13).Visible = False GvMensual2.Columns(27).Visible = False GvMensual2.Columns(42).Visible = False ElseIf DdlTri.SelectedValue.ToEntero = 2 Then GvMensual2.Columns(9).Visible = False GvMensual2.Columns(20).Visible = False GvMensual2.Columns(31).Visible = False GvMensual2.Columns(41).Visible = False GvMensual2.Columns(13).Visible = True GvMensual2.Columns(27).Visible = True GvMensual2.Columns(42).Visible = True End If UpMensual.Update() If GvMensual2.Rows.Count > 0 Then LnkExportar.Visible = True UpAcciones.Update() End If 'RegistraScript($"LimpiaCeros();") Conta.Dispose() End Sub #End Region #Region " GV ROW DATABOUND " Protected Sub GvMensual1_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvMensual2.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowIndex = 0 Then e.Row.Style.Add("font-weight", "bold") End If setgrafica(e) If e.Row.DataKey("Level").ToEntero = 0 Then e.Row.CssClass = "Totales" End If If e.Row.DataKey("Level").ToEntero = 1 Then e.Row.CssClass = "SubTotales" End If Dim Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre As Decimal Enero = e.Row.DBCampo("Enero").ToDecimal() Febrero = e.Row.DBCampo("Febrero").ToDecimal() Marzo = e.Row.DBCampo("Marzo").ToDecimal() Abril = e.Row.DBCampo("Abril").ToDecimal() Mayo = e.Row.DBCampo("Mayo").ToDecimal() Junio = e.Row.DBCampo("Junio").ToDecimal() Julio = e.Row.DBCampo("Julio").ToDecimal() Agosto = e.Row.DBCampo("Agosto").ToDecimal() Septiembre = e.Row.DBCampo("Septiembre").ToDecimal() Octubre = e.Row.DBCampo("Octubre").ToDecimal() Noviembre = e.Row.DBCampo("Noviembre").ToDecimal() Diciembre = e.Row.DBCampo("Diciembre").ToDecimal() Dim CveCunetaRow As Integer = e.Row.DataKey("CveCuenta").ToEntero For x = 2 To GvMensual2.Columns.Count - 1 If e.Row.Cells(x).Text.Replace("%", "").ToDecimal = 0 Then e.Row.Cells(x).Text = "-" ElseIf e.Row.Cells(x).Text.Replace("%", "").ToDecimal < 0 Then e.Row.Cells(x).ForeColor = Drawing.Color.Red End If If x = 2 Then e.Row.Cells(x).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Enero.ToString("###,###,##0"), Enero.ToString("###,###,###.00")) }" End If If x = 3 Then e.Row.Cells(x).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Febrero.ToString("###,###,##0"), Febrero.ToString("###,###,###.00")) }" End If If x = 6 Then e.Row.Cells(x).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Marzo.ToString("###,###,##0"), Marzo.ToString("###,###,###.00")) }" End If If x = 10 Then e.Row.Cells(x).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Abril.ToString("###,###,##0"), Abril.ToString("###,###,###.00")) }" End If If x = 14 Then e.Row.Cells(x).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Marzo.ToString("###,###,##0"), Marzo.ToString("###,###,###.00")) }" End If If x = 17 Then e.Row.Cells(x).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Enero.ToString("###,###,##0"), Enero.ToString("###,###,###.00")) }" End If If x = 21 Then e.Row.Cells(x).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Enero.ToString("###,###,##0"), Enero.ToString("###,###,###.00")) }" End If If x = 24 Then e.Row.Cells(x).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Enero.ToString("###,###,##0"), Enero.ToString("###,###,###.00")) }" End If If x = 28 Then e.Row.Cells(x).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Enero.ToString("###,###,##0"), Enero.ToString("###,###,###.00")) }" End If If x = 32 Then e.Row.Cells(x).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Enero.ToString("###,###,##0"), Enero.ToString("###,###,###.00")) }" End If If x = 35 Then e.Row.Cells(x).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Enero.ToString("###,###,##0"), Enero.ToString("###,###,###.00")) }" End If If x = 38 Then e.Row.Cells(x).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Enero.ToString("###,###,##0"), Enero.ToString("###,###,###.00")) }" End If Next If Enero = 0 Then e.Row.Cells(2).Text = "-" Else End If ' e.Row.Cells(1).Style.Add("text-indent", $"{e.Row.DBCampo("Level").ToString.ToEntero * 2}em") ' Level 0 Total 1 SubTotal 1 End If End Sub Public Sub setgrafica(e As GridViewRowEventArgs) Dim lista As New List(Of Object) lista.Add(New With {.Texto = "Enero", .Valor = e.Row.DBCampo("Enero").ToDecimal(), .Color = "#FF0F00"}) lista.Add(New With {.Texto = "Febrero", .Valor = e.Row.DBCampo("Febrero").ToDecimal(), .Color = "#FF6600"}) lista.Add(New With {.Texto = "Marzo", .Valor = e.Row.DBCampo("Marzo").ToDecimal(), .Color = "#F8FF01"}) lista.Add(New With {.Texto = "Abril", .Valor = e.Row.DBCampo("Abril").ToDecimal(), .Color = "#04D215"}) lista.Add(New With {.Texto = "Mayo", .Valor = e.Row.DBCampo("Mayo").ToDecimal(), .Color = "#2A0CD0"}) lista.Add(New With {.Texto = "Junio", .Valor = e.Row.DBCampo("Junio").ToDecimal(), .Color = "#8A0CCF"}) lista.Add(New With {.Texto = "Julio", .Valor = e.Row.DBCampo("Julio").ToDecimal(), .Color = "#CD0D74"}) lista.Add(New With {.Texto = "Agosto", .Valor = e.Row.DBCampo("Agosto").ToDecimal(), .Color = "#754DEB"}) lista.Add(New With {.Texto = "Septiembre", .Valor = e.Row.DBCampo("Septiembre").ToDecimal(), .Color = "#DDDDDD"}) lista.Add(New With {.Texto = "Octubre", .Valor = e.Row.DBCampo("Octubre").ToDecimal(), .Color = "#999999"}) lista.Add(New With {.Texto = "Noviembre", .Valor = e.Row.DBCampo("Noviembre").ToDecimal(), .Color = "#000000"}) lista.Add(New With {.Texto = "Diciembre", .Valor = e.Row.DBCampo("Diciembre").ToDecimal(), .Color = "#FF0F00"}) e.Row.FCHyperLink("Hypgrafica").Attributes.Add("data-values", Newtonsoft.Json.JsonConvert.SerializeObject(lista)) End Sub #End Region Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click Dim SubProyecto As String = "" If DdlSubProyecto.SelectedValue.ToEntero > 0 Then SubProyecto = DdlSubProyecto.SelectedItem.Text End If GvMensual2.ExportToExcelGembox("AnexoCatálogoMensual", UsuarioActual, $"01/01/{DdlEjercicio.SelectedValue}", $"31/12/{DdlEjercicio.SelectedValue}", "Anexo del Catálogo - Mensual", SubProyecto, DdlDivisor.SelectedValue.ToEntero, DatoTituloExtra:=$"Periodo {DdlPeriodo.SelectedItem.Text}") End Sub Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) End Sub End Class