Option Explicit On Option Strict On Imports System.Data Imports System.Linq Imports Extensiones Partial Class AC_PresupuestoEgresos2 Inherits ClsPaginas #Region "PROPIEDADES" Private Property CvePresupuestoEgresos As Integer Get CvePresupuestoEgresos = ViewState("CvePresupuestoEgresos").ToString.ToEntero End Get Set(value As Integer) ViewState("CvePresupuestoEgresos") = value End Set End Property Private Property EsProyecto As Integer Get EsProyecto = ViewState("EsProyecto").ToString.ToEntero End Get Set(value As Integer) ViewState("EsProyecto") = value End Set End Property Private Property Bloqueado As Integer Get Bloqueado = ViewState("Bloqueado").ToString.ToEntero End Get Set(value As Integer) ViewState("Bloqueado") = value End Set End Property #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then CvePresupuestoEgresos = IfNull(Request("CvePresupuestoEgresos"), "0").ToString.ToEntero EsProyecto = IfNull(Request("EsProyecto"), "1").ToString.ToEntero Bloqueado = IfNull(Request("Bloqueado"), "0").ToString.ToEntero CargaDefault() If CvePresupuestoEgresos > 0 Then CargaDatos() End If If Bloqueado = 1 Then btnGuardar.Visible = False btnDividir.Visible = False CboProgramaOperativo.Enabled = False CboFuenteFinanciamiento.Enabled = False CboTipoGasto.Enabled = False CboUnidadAdministrativa.Enabled = False CboClasificacionOG.Enabled = False DdlEjercicio.Enabled = False txtTotal.Enabled = False txtEnero.Enabled = False txtFebrero.Enabled = False txtMarzo.Enabled = False txtAbril.Enabled = False txtMayo.Enabled = False txtJunio.Enabled = False txtJulio.Enabled = False txtAgosto.Enabled = False txtSeptiembre.Enabled = False txtOctubre.Enabled = False txtNoviembre.Enabled = False txtDiciembre.Enabled = False BtnCancelar.Text = "Regresar" If EsProyecto = 0 Then Alert("Este Anteproyecto ya se genero como Presupuesto.", TipoMensaje.MsgInformacion) Else Alert("Este Presupuesto ya se Autorizó.", TipoMensaje.MsgInformacion) End If End If End If End Sub #Region " VALORES INICIALES " Private Sub CargaDefault() txtEnero.Attributes.Add("onKeyUp", "sumaTotal();") txtFebrero.Attributes.Add("onKeyUp", "sumaTotal();") txtMarzo.Attributes.Add("onKeyUp", "sumaTotal();") txtAbril.Attributes.Add("onKeyUp", "sumaTotal();") txtMayo.Attributes.Add("onKeyUp", "sumaTotal();") txtJunio.Attributes.Add("onKeyUp", "sumaTotal();") txtJulio.Attributes.Add("onKeyUp", "sumaTotal();") txtAgosto.Attributes.Add("onKeyUp", "sumaTotal();") txtSeptiembre.Attributes.Add("onKeyUp", "sumaTotal();") txtOctubre.Attributes.Add("onKeyUp", "sumaTotal();") txtNoviembre.Attributes.Add("onKeyUp", "sumaTotal();") txtDiciembre.Attributes.Add("onKeyUp", "sumaTotal();") CargaEjercicios() CargaProgramaOperativo() CargaFuenteFinanciamiento() CargaTipoGasto() CargaUnidadAdministrativa() CargaClasificacionOG() End Sub #Region "COMBOS" Private Sub CargaEjercicios() Dim ClsConta As New ClsContPAQi(UsuarioActual.Empresa) If ClsConta.GetEjercicios() Then DdlEjercicio.DataSource = ClsConta.DtResultados Else DdlEjercicio.DataSource = Nothing End If ClsConta.Dispose() DdlEjercicio.DataBind() DdlEjercicio.SelectedValueExist(UsuarioActual.Empresa.EjercicioActual.ToString) End Sub Private Sub CargaProgramaOperativo() CboProgramaOperativo.Items.Clear() CboProgramaOperativo.DataSource = GlobalDTAC_ProgramaOperativo(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("Ejercicio = {0} AND Bloqueado = 1", DdlEjercicio.SelectedValue.ToEntero)) CboProgramaOperativo.DataBind() CboProgramaOperativo.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub Private Sub CargaFuenteFinanciamiento() CboFuenteFinanciamiento.DataSource = GlobalDTAC_FuentesFinanciamiento(UsuarioActual.CveEmpresa) CboFuenteFinanciamiento.DataBind() CboFuenteFinanciamiento.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub Private Sub CargaTipoGasto() CboTipoGasto.DataSource = GlobalDTAC_TipoGasto CboTipoGasto.DataBind() CboTipoGasto.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub Private Sub CargaUnidadAdministrativa() CboUnidadAdministrativa.DataSource = GlobalDTAC_UnidadesAdministrativas(UsuarioActual.CveEmpresa) CboUnidadAdministrativa.DataBind() CboUnidadAdministrativa.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub Private Sub CargaClasificacionOG() Dim Filtro As New StringBuilder Filtro.AppendFormat("Afectable = {0}", "True") CboClasificacionOG.DataSource = GlobalDTACClasificadorObjetoGasto(UsuarioActual.CveEmpresa).FiltraParametros(Filtro.ToString, "CodigoClasificacion") CboClasificacionOG.DataBind() CboClasificacionOG.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub #End Region #End Region Protected Sub DdlEjercicio_SelectedIndexChanged(sender As Object, e As EventArgs) CargaProgramaOperativo() End Sub Public Sub CargaDatos() Dim objAC As New ClsAC If objAC.GetPresupuestoEgresos(CvePresupuestoEgresos, CBool(EsProyecto), -1, UsuarioActual.CveEmpresa) Then If objAC.DtResultados.Rows.Count = 1 Then DdlEjercicio.SelectedValue = objAC.DtResultados.Rows(0)("Ejercicio").ToString CargaProgramaOperativo() CboProgramaOperativo.SelectedValue = objAC.DtResultados.Rows(0)("CveProgramaOperativo").ToString CboFuenteFinanciamiento.SelectedValue = objAC.DtResultados.Rows(0)("CveFuenteFinanciamiento").ToString CboTipoGasto.SelectedValue = objAC.DtResultados.Rows(0)("CveTipoGasto").ToString CboUnidadAdministrativa.SelectedValue = objAC.DtResultados.Rows(0)("CveUnidadAdministrativa").ToString CboClasificacionOG.SelectedValue = objAC.DtResultados.Rows(0)("CveClasificacion").ToString txtTotal.Text = objAC.DtResultados.Rows(0)("Total").ToString.FormatoNumero txtEnero.Text = objAC.DtResultados.Rows(0)("Enero").ToString.FormatoNumero txtFebrero.Text = objAC.DtResultados.Rows(0)("Febrero").ToString.FormatoNumero txtMarzo.Text = objAC.DtResultados.Rows(0)("Marzo").ToString.FormatoNumero txtAbril.Text = objAC.DtResultados.Rows(0)("Abril").ToString.FormatoNumero txtMayo.Text = objAC.DtResultados.Rows(0)("Mayo").ToString.FormatoNumero txtJunio.Text = objAC.DtResultados.Rows(0)("Junio").ToString.FormatoNumero txtJulio.Text = objAC.DtResultados.Rows(0)("Julio").ToString.FormatoNumero txtAgosto.Text = objAC.DtResultados.Rows(0)("Agosto").ToString.FormatoNumero txtSeptiembre.Text = objAC.DtResultados.Rows(0)("Septiembre").ToString.FormatoNumero txtOctubre.Text = objAC.DtResultados.Rows(0)("Octubre").ToString.FormatoNumero txtNoviembre.Text = objAC.DtResultados.Rows(0)("Noviembre").ToString.FormatoNumero txtDiciembre.Text = objAC.DtResultados.Rows(0)("Diciembre").ToString.FormatoNumero End If End If objAC.Dispose() End Sub Protected Sub btnGuardar_Click(sender As Object, e As EventArgs) Handles btnGuardar.Click Dim objAC As New ClsAC() 'Valida Ejercicio If objAC.GetEjerciciosPresupuestoEgresos(UsuarioActual.CveEmpresa) AndAlso objAC.DtResultados.Rows.Count > -1 Then Dim DtEjercicios = objAC.DtResultados.FiltraParametros(String.Format("Ejercicio = {0}", DdlEjercicio.SelectedValue)) If DtEjercicios.Rows.Count > 0 AndAlso DtEjercicios.Rows(0)("Bloqueado").ToString = "1" Then Alert("El Presupuesto de Egresos del ejercicio seleccionado ya esta bloqueado, solo puede generar Presupuestos en ceros.", TipoMensaje.MsgAdvertencia) objAC.Dispose() Exit Sub End If Else Alert("Ocurrió un error al verificar el Ejercicio. Por favor vuelva a intentar.", TipoMensaje.MsgError) objAC.Dispose() Exit Sub End If Dim Total As Double = txtTotal.Text.ToDouble Dim Enero As Double = txtEnero.Text.ToDouble Dim Febrero As Double = txtFebrero.Text.ToDouble Dim Marzo As Double = txtMarzo.Text.ToDouble Dim Abril As Double = txtAbril.Text.ToDouble Dim Mayo As Double = txtMayo.Text.ToDouble Dim Junio As Double = txtJunio.Text.ToDouble Dim Julio As Double = txtJulio.Text.ToDouble Dim Agosto As Double = txtAgosto.Text.ToDouble Dim Septiembre As Double = txtSeptiembre.Text.ToDouble Dim Octubre As Double = txtOctubre.Text.ToDouble Dim Noviembre As Double = txtNoviembre.Text.ToDouble Dim Diciembre As Double = txtDiciembre.Text.ToDouble ' Dim Ejercicio As Integer = 2015 Dim CveProgramaOperativo As Integer = CboProgramaOperativo.SelectedValue.ToString.ToEntero Dim CveFuenteFinanciamiento As Integer = CboFuenteFinanciamiento.SelectedValue.ToString.ToEntero Dim CveTipoGasto As Integer = CboTipoGasto.SelectedValue.ToString.ToEntero Dim CveUnidadAdministrativa As Integer = CboUnidadAdministrativa.SelectedValue.ToString.ToEntero Dim CveClasificacionOG As Integer = CboClasificacionOG.SelectedValue.ToString.ToEntero 'If txtTotal.Text.ToDecimal > 0 Then ' Alert("El Presupuesto de Egresos del ejercicio seleccionado se generaro proyecto. Después de este proceso se tendrá que autorizar el presupuesto de esta partida.", TipoMensaje.MsgAdvertencia) 'Else If CvePresupuestoEgresos = 0 Then If objAC.AddPresupuestoEgresos(DdlEjercicio.SelectedValue.ToEntero, CveProgramaOperativo, CveFuenteFinanciamiento, CveTipoGasto, CveUnidadAdministrativa, CveClasificacionOG, Total, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) > 0 Then Alert("El Presupuesto de Egreso se guardo Correctamente como Anteproyecto", TipoMensaje.MsgInformacion) '"document.location.href=""/AC/CatPresupuestoEgresos.aspx""" Limpia() End If Else If objAC.UpdatePresupuestoEgresos(CvePresupuestoEgresos, CveProgramaOperativo, CveFuenteFinanciamiento, CveTipoGasto, CveUnidadAdministrativa, CveClasificacionOG, Total, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre) Then Alert("El Presupuesto de Egreso se actualizo Correctamente", TipoMensaje.MsgInformacion, "document.location.href=""/AC/CatPresupuestoEgresos.aspx""") End If End If objAC.Dispose() End Sub Private Sub Limpia() txtTotal.Text = "" txtEnero.Text = "" txtFebrero.Text = "" txtMarzo.Text = "" txtAbril.Text = "" txtMayo.Text = "" txtJunio.Text = "" txtJulio.Text = "" txtAgosto.Text = "" txtSeptiembre.Text = "" txtOctubre.Text = "" txtNoviembre.Text = "" txtDiciembre.Text = "" CboClasificacionOG.SelectedValue = "-1" End Sub Protected Sub BtnProyecto_Click(sender As Object, e As EventArgs) Dim AC As New ClsAC Dim Total As Double = txtTotal.Text.ToDouble Dim Enero As Double = txtEnero.Text.ToDouble Dim Febrero As Double = txtFebrero.Text.ToDouble Dim Marzo As Double = txtMarzo.Text.ToDouble Dim Abril As Double = txtAbril.Text.ToDouble Dim Mayo As Double = txtMayo.Text.ToDouble Dim Junio As Double = txtJunio.Text.ToDouble Dim Julio As Double = txtJulio.Text.ToDouble Dim Agosto As Double = txtAgosto.Text.ToDouble Dim Septiembre As Double = txtSeptiembre.Text.ToDouble Dim Octubre As Double = txtOctubre.Text.ToDouble Dim Noviembre As Double = txtNoviembre.Text.ToDouble Dim Diciembre As Double = txtDiciembre.Text.ToDouble 'Dim Ejercicio As Integer = 2015 Dim CveProgramaOperativo As Integer = CboProgramaOperativo.SelectedValue.ToString.ToEntero Dim CveFuenteFinanciamiento As Integer = CboFuenteFinanciamiento.SelectedValue.ToString.ToEntero Dim CveTipoGasto As Integer = CboTipoGasto.SelectedValue.ToString.ToEntero Dim CveUnidadAdministrativa As Integer = CboUnidadAdministrativa.SelectedValue.ToString.ToEntero Dim CveClasificacionOG As Integer = CboClasificacionOG.SelectedValue.ToString.ToEntero If CvePresupuestoEgresos > 0 Then If AC.ProyectoPresupuestoEgresos(DdlEjercicio.SelectedValue.ToEntero, CveProgramaOperativo, CveFuenteFinanciamiento, CveTipoGasto, CveUnidadAdministrativa, CveClasificacionOG, Total, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CvePresupuestoEgresos) Then Alert("El Presupuesto de Egreso se ACTUALIZO Correctamente como PROYECTO", TipoMensaje.MsgInformacion, "document.location.href=""/AC/CatPresupuestoEgresos.aspx""") End If Else Alert("ERROR", TipoMensaje.MsgError) End If End Sub End Class