protected void btnAprobarIngresoModalAprobar_Click(object sender, EventArgs e)
        {
            EstadoPresupIngreso estadoPresupIngreso = estadoPresupIngresoServicios.getEstadoPresupIngresoPorNombre("Registrar");

            presupuestoIngresoSeleccionado.estadoPresupIngreso = estadoPresupIngreso;

            presupuestoIngresoServicios.actualizarEstadoPresupuestoIngreso(presupuestoIngresoSeleccionado);
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalAprobarIngreso", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalAprobarIngreso').hide();", true);
            ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.success('" + "Se aprobo correctamente el presupuesto" + "');", true);

            List <Entidades.PresupuestoIngreso> listaPresupuestosIngresos = presupuestoIngresoServicios.getPresupuestosIngresosPorProyecto(proyectoSeleccionado);

            Session["listaPresupuestosIngresos"] = listaPresupuestosIngresos;

            cargarDatosTblIngresos();
        }
        /// <summary>
        /// Leonardo Carrion
        /// 30/sep/2019
        /// Efecto: Guarda en la base de datos el ingreso en el proyecto seleccionado
        /// Requiere: llenar el dato de monto y darle clic al boton de "Guardar"
        /// Modifica: tabla de ingresos
        /// Devuelve: -
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnNuevoIngresoModal_Click(object sender, EventArgs e)
        {
            Entidades.PresupuestoIngreso presupuestoIngreso = new Entidades.PresupuestoIngreso();
            presupuestoIngreso.proyecto = proyectoSeleccionado;

            List <Entidades.PresupuestoIngreso> listaPresupuestosIngresos = (List <Entidades.PresupuestoIngreso>)Session["listaPresupuestosIngresos"];

            if (listaPresupuestosIngresos.Count > 0)
            {
                presupuestoIngreso.esInicial = false;
            }
            else
            {
                presupuestoIngreso.esInicial = true;
            }

            Double monto    = 0;
            String txtMonto = txtMontoModalNuevo.Text.Replace(".", ",");

            if (Double.TryParse(txtMonto, out monto))
            {
                txtMontoModalNuevo.Text = monto.ToString();
            }

            presupuestoIngreso.monto = monto;

            EstadoPresupIngreso estadoPresupIngreso = estadoPresupIngresoServicios.getEstadoPresupIngresoPorNombre("Guardar");

            presupuestoIngreso.estadoPresupIngreso = estadoPresupIngreso;

            presupuestoIngresoServicios.InsertarPresupuestoIngreso(presupuestoIngreso);

            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalNuevoIngreso", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalNuevoIngreso').hide();", true);
            ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.success('" + "Se ingreso correctamente el presupuesto" + "');", true);

            listaPresupuestosIngresos            = presupuestoIngresoServicios.getPresupuestosIngresosPorProyecto(proyectoSeleccionado);
            Session["listaPresupuestosIngresos"] = listaPresupuestosIngresos;

            cargarDatosTblIngresos();
        }
        /// <summary>
        /// Leonardo Carrion
        /// 27/sep/2019
        /// Efecto: devuelve lista de presupuestos de ingresos segun el proyecto ingresado
        /// Requiere: proyecto a consultar
        /// Modifica: -
        /// Devuelve: lista de presupuestos de ingresos
        /// </summary>
        /// <param name="proyecto"></param>
        /// <returns></returns>
        public List <PresupuestoIngreso> getPresupuestosIngresosPorProyecto(Proyectos proyecto)
        {
            SqlConnection             sqlConnection       = conexion.conexionPEP();
            List <PresupuestoIngreso> presupuestoIngresos = new List <PresupuestoIngreso>();

            SqlCommand sqlCommand = new SqlCommand("SELECT PI.id_presupuesto_ingreso, PI.id_estado_presup_ingreso, PI.monto, PI.es_inicial, PI.id_proyecto, EPI.desc_estado FROM Presupuesto_Ingreso PI, Estado_presup_ingreso EPI where id_proyecto=@id_proyecto_ and EPI.id_estado_presup_ingreso = PI.id_estado_presup_ingreso;", sqlConnection);

            sqlCommand.Parameters.AddWithValue("@id_proyecto_", proyecto.idProyecto);

            SqlDataReader reader;

            sqlConnection.Open();
            reader = sqlCommand.ExecuteReader();

            while (reader.Read())
            {
                PresupuestoIngreso  presupuestoIngreso  = new PresupuestoIngreso();
                EstadoPresupIngreso estadoPresupIngreso = new EstadoPresupIngreso();
                estadoPresupIngreso.idEstadoPresupIngreso = Convert.ToInt32(reader["id_estado_presup_ingreso"].ToString());
                estadoPresupIngreso.descEstado            = reader["desc_estado"].ToString();

                presupuestoIngreso.idPresupuestoIngreso = Convert.ToInt32(reader["id_presupuesto_ingreso"].ToString());
                presupuestoIngreso.estadoPresupIngreso  = estadoPresupIngreso;
                presupuestoIngreso.monto     = Convert.ToDouble(reader["monto"].ToString());
                presupuestoIngreso.esInicial = Convert.ToBoolean(reader["es_inicial"].ToString());

                presupuestoIngreso.proyecto            = new Proyectos();
                presupuestoIngreso.proyecto.idProyecto = Convert.ToInt32(reader["id_proyecto"].ToString());

                presupuestoIngresos.Add(presupuestoIngreso);
            }

            sqlConnection.Close();

            return(presupuestoIngresos);
        }