Exemplo n.º 1
0
        /// <summary>
        /// Almacena la actualización del presupuesto egreso
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnEditarPartidaEgresoModal_Click(object sender, EventArgs e)
        {
            Entidades.PresupuestoEgresoPartida partidaEgreso = new Entidades.PresupuestoEgresoPartida();
            Double salario  = 0;
            String txtMonto = txtMontoNuevoEditar.Text.Replace(".", ",");

            if (Double.TryParse(txtMonto, out salario))
            {
                partidaEgreso.idPresupuestoEgreso = Convert.ToInt32(idPresupuestoEditar.Text);
                partidaEgreso.idPartida           = Convert.ToInt32(idPartidaEditar.Text);
                partidaEgreso.monto       = salario;
                partidaEgreso.descripcion = txtDescripcionEditar.Text;
                presupuestoServicios.editarPresupuestoEgresoPartida(partidaEgreso);

                int idPartida = (int)Session["idPartidaVer"];
                PresupuestoEgresoPartida presupuestoEgresoBuscar = new PresupuestoEgresoPartida();
                presupuestoEgresoBuscar.idPartida = idPartida;

                LinkedList <PresupuestoEgresoPartida> presupuestos = new LinkedList <PresupuestoEgresoPartida>();

                presupuestos = presupuestoServicios.presupuestoEgresoPartidasPorPresupuesto(presupuestoEgresoBuscar);
                Session["listaPresupuestosEgresosPartida"] = presupuestos;
                presupuestoEgresosPorPartida();
                MostrarDatosTabla();

                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalMostrarPresupuestoEgresos", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalMostrarPresupuestoEgresos').hide();", true);
                ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalMostrarPresupuestoEgresos();", true);
            }
            else
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalEditarPartidaEgreso", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalEditarPartidaEgreso').hide();", true);
                ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalEditarPartidaEgreso();", true);
                ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "El monto asignado es incorrecto" + "');", true);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Leonardo Carrion
        /// 09/oct/2019
        /// Efecto: Guarda la informacion del monto y descripcion en la base de datos
        /// Requiere: monto y descripcion y dar clic al boton de "Guardar"
        /// Modifica: -
        /// Devuelve: -
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnGuardarModalPartida_Click(object sender, EventArgs e)
        {
            String txtMont = txtMontoModalAgregarPartida.Text.Replace(".", ",");

            if (Double.TryParse(txtMont, out Double monto))
            {
                txtMontoModalAgregarPartida.Text = monto.ToString();
            }

            if (String.IsNullOrEmpty(txtDescripcionModalAgregarPartida.Text))
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalAgregarPartida", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalAgregarPartida').hide();", true);
                ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "Se debe agregar una descripcion" + "');", true);
                ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalAgregarPartida();", true);
            }
            else
            {
                EstadoPresupuesto estadoPresupuesto = new EstadoPresupuesto();
                estadoPresupuesto = estadoPresupuestoServicios.getEstadoPresupuestoPorNombre("Guardar");

                PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida();
                presupuestoEgresoPartida.estadoPresupuesto   = estadoPresupuesto;
                presupuestoEgresoPartida.descripcion         = txtDescripcionModalAgregarPartida.Text;
                presupuestoEgresoPartida.monto               = monto;
                presupuestoEgresoPartida.partida             = presupuestoEgresoPartidaSeleccionado.partida;
                presupuestoEgresoPartida.idPresupuestoEgreso = presupuestoEgresoPartidaSeleccionado.idPresupuestoEgreso;

                presupuestoEgreso_PartidaServicios.insertarPresupuestoEgreso_Partida(presupuestoEgresoPartida);

                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalAgregarPartida", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalAgregarPartida').hide();", true);
                ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.success('" + "Se guardo correctamente la información" + "');", true);

                cargarPartidas();
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Leonardo Carrion
        /// 08/oct/2019
        /// Efecto: devuelve la lista de partidas con los montos segun el presupuesto de egreso
        /// Requiere: presupuesto de egreso
        /// Modifica: -
        /// Devuelve: lista de presupuesto egreso partidas
        /// </summary>
        /// <param name="presupuestoEgreso"></param>
        /// <returns></returns>
        public List <PresupuestoEgresoPartida> getPresupuestoEgresoPartidas(PresupuestoEgreso presupuestoEgreso)
        {
            SqlConnection sqlConnection = conexion.conexionPEP();
            List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartida = new List <PresupuestoEgresoPartida>();

            SqlCommand sqlCommand = new SqlCommand(@"select PEP.*, P.descripcion_partida,P.numero_partida,EP.descripcion_estado_presupuesto 
                                                                                            from Presupuesto_Egreso_Partida PEP, Partida P,Estado_presupuestos EP
                                                                                            where PEP.id_presupuesto_egreso = @idPresupuestoEgreso and P.id_partida = PEP.id_partida and P.id_partida_padre is not null
                                                                                            and P.ano_periodo = (select ano_periodo from Proyecto where id_proyecto = (
                                                                                            select id_proyecto from Unidad where id_unidad = (select id_unidad from Presupuesto_Egreso where id_presupuesto_egreso = @idPresupuestoEgreso)
                                                                                            )) and P.disponible = 'True' and EP.id_estado_presupuesto = PEP.id_estado_presupuesto
                                                                                            union
                                                                                            select @idPresupuestoEgreso as id_presupuesto_egreso, P.id_partida, 0 as monto, '' as descripcion,(select id_estado_presupuesto from Estado_presupuestos where descripcion_estado_presupuesto='Guardar') as id_estado_presupuesto,1 as id_linea, P.descripcion_partida,P.numero_partida,'Espera' as descripcion_estado_presupuesto
                                                                                            from Partida P
                                                                                            where P.id_partida not in ( Select PEP.id_partida from Presupuesto_Egreso_Partida PEP where PEP.id_presupuesto_egreso = @idPresupuestoEgreso
                                                                                            ) and P.id_partida_padre is not null and P.ano_periodo = (select ano_periodo from Proyecto where id_proyecto = (
                                                                                            select id_proyecto from Unidad where id_unidad = (select id_unidad from Presupuesto_Egreso where id_presupuesto_egreso = @idPresupuestoEgreso)
                                                                                            )) and P.disponible = 'True'
                                                                                            order by P.numero_partida", sqlConnection);

            sqlCommand.Parameters.AddWithValue("@idPresupuestoEgreso", presupuestoEgreso.idPresupuestoEgreso);

            SqlDataReader reader;

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

            while (reader.Read())
            {
                PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida();
                Partida           partida           = new Partida();
                EstadoPresupuesto estadoPresupuesto = new EstadoPresupuesto();

                partida.idPartida          = Convert.ToInt32(reader["id_partida"].ToString());
                partida.descripcionPartida = reader["descripcion_partida"].ToString();
                partida.numeroPartida      = reader["numero_partida"].ToString();

                estadoPresupuesto.idEstadoPresupuesto = Convert.ToInt32(reader["id_estado_presupuesto"].ToString());
                estadoPresupuesto.descripcionEstado   = reader["descripcion_estado_presupuesto"].ToString();

                presupuestoEgresoPartida.partida             = partida;
                presupuestoEgresoPartida.estadoPresupuesto   = estadoPresupuesto;
                presupuestoEgresoPartida.idPresupuestoEgreso = Convert.ToInt32(reader["id_presupuesto_egreso"].ToString());
                presupuestoEgresoPartida.monto       = Convert.ToDouble(reader["monto"].ToString());
                presupuestoEgresoPartida.descripcion = reader["descripcion"].ToString();
                presupuestoEgresoPartida.idLinea     = Convert.ToInt32(reader["id_linea"].ToString());

                listaPresupuestoEgresoPartida.Add(presupuestoEgresoPartida);
            }

            sqlConnection.Close();

            return(listaPresupuestoEgresoPartida);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Leonardo Carrion
        /// 10/oct/2019
        /// Efecto: elimina de la base de datos el presupuesto de egreso partida
        /// Requiere: presupuesto de egreso partida
        /// Modifica: -
        /// Devuelve: -
        /// </summary>
        /// <param name="presupuestoEgresoPartida"></param>
        public void eliminarPresupuestoEgreso_Partida(PresupuestoEgresoPartida presupuestoEgresoPartida)
        {
            SqlConnection sqlConnection = conexion.conexionPEP();

            String consulta = @"delete Presupuesto_Egreso_Partida where id_presupuesto_egreso = @idPresupuestoEgreso and id_partida = @idPartida and id_linea = @idLinea";

            SqlCommand command = new SqlCommand(consulta, sqlConnection);

            command.Parameters.AddWithValue("@idPresupuestoEgreso", presupuestoEgresoPartida.idPresupuestoEgreso);
            command.Parameters.AddWithValue("@idPartida", presupuestoEgresoPartida.partida.idPartida);
            command.Parameters.AddWithValue("@idLinea", presupuestoEgresoPartida.idLinea);

            sqlConnection.Open();
            command.ExecuteReader();
            sqlConnection.Close();
        }
Exemplo n.º 5
0
        /// <summary>
        /// Leonardo Carrion
        /// 10/oct/2019
        /// Efecto: actualiza el estado del presupuesto de egreso partida
        /// Requiere: presupuesto egreso partida
        /// Modifica: el estado
        /// Devuelve: -
        /// </summary>
        /// <param name="presupuestoEgresoPartida"></param>
        public void actualizarEstadoPresupuestoEgreso_Partida(PresupuestoEgresoPartida presupuestoEgresoPartida)
        {
            SqlConnection sqlConnection = conexion.conexionPEP();

            String consulta = @"update Presupuesto_Egreso_Partida set id_estado_presupuesto = @idEstadoPresupuesto
                                            where id_presupuesto_egreso = @idPresupuestoEgreso and id_partida = @idPartida and id_linea = @idLinea";

            SqlCommand command = new SqlCommand(consulta, sqlConnection);

            command.Parameters.AddWithValue("@idPresupuestoEgreso", presupuestoEgresoPartida.idPresupuestoEgreso);
            command.Parameters.AddWithValue("@idPartida", presupuestoEgresoPartida.partida.idPartida);
            command.Parameters.AddWithValue("@idLinea", presupuestoEgresoPartida.idLinea);
            command.Parameters.AddWithValue("@idEstadoPresupuesto", presupuestoEgresoPartida.estadoPresupuesto.idEstadoPresupuesto);

            sqlConnection.Open();
            command.ExecuteReader();
            sqlConnection.Close();
        }
Exemplo n.º 6
0
        /// <summary>
        /// Leonardo Carrion
        /// 08/oct/2019
        /// Efecto: inserta en la base de datos la relacion entre presupuesto de egresos y partida
        /// Requiere: presupuesto de egreso partida
        /// Modifica: -
        /// Devuelve: -
        /// </summary>
        /// <param name="presupuestoEgresoPartida"></param>
        public void insertarPresupuestoEgreso_Partida(PresupuestoEgresoPartida presupuestoEgresoPartida)
        {
            SqlConnection sqlConnection = conexion.conexionPEP();

            String consulta = @"insert Presupuesto_Egreso_Partida (id_presupuesto_egreso,id_partida,monto,descripcion,id_estado_presupuesto) 
                                            values(@idPresupuestoEgreso,@idPartida,@monto,@descripcion,@idEstadoPresupuesto)";

            SqlCommand command = new SqlCommand(consulta, sqlConnection);

            command.Parameters.AddWithValue("@idPresupuestoEgreso", presupuestoEgresoPartida.idPresupuestoEgreso);
            command.Parameters.AddWithValue("@idPartida", presupuestoEgresoPartida.partida.idPartida);
            command.Parameters.AddWithValue("@monto", presupuestoEgresoPartida.monto);
            command.Parameters.AddWithValue("@descripcion", presupuestoEgresoPartida.descripcion);
            command.Parameters.AddWithValue("@idEstadoPresupuesto", presupuestoEgresoPartida.estadoPresupuesto.idEstadoPresupuesto);

            sqlConnection.Open();
            command.ExecuteReader();
            sqlConnection.Close();
        }
Exemplo n.º 7
0
        /// <summary>
        /// Leonardo Carrion
        /// 09/oct/2019
        /// Efecto: levanta modal para ver la descripcion de la partida seleccionada, agrega todas las descripciones
        /// Requiere: dar clic en el boton de "Ver"
        /// Modifica: -
        /// Devuelve: -
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnVerDescripcion_Click(object sender, EventArgs e)
        {
            int idPartida = Convert.ToInt32((((LinkButton)(sender)).CommandArgument).ToString());

            List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartidas = (List <PresupuestoEgresoPartida>)Session["listaPresupuestoEgresoPartidas"];

            foreach (PresupuestoEgresoPartida presupuestoEgresoPartida in listaPresupuestoEgresoPartidas)
            {
                if (presupuestoEgresoPartida.partida.idPartida == idPartida)
                {
                    presupuestoEgresoPartidaSeleccionado = presupuestoEgresoPartida;
                    break;
                }
            }

            lblPartidaSeleccionadaModalVerDescripcion.Text = presupuestoEgresoPartidaSeleccionado.partida.numeroPartida + " " + presupuestoEgresoPartidaSeleccionado.partida.descripcionPartida;
            txtDescripcionModalVerDescripcionPartida.Text  = presupuestoEgresoPartidaSeleccionado.descripcion;
            ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalVerDescripcionPartida();", true);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Leonardo Carrion
        /// 10/oct/2019
        /// Efecto: aprueba el presupuesto de egreso seleccionado
        /// Requiere: dar el boton de "Si"
        /// Modifica: el estado del prespuesto de egreso partida
        /// Devuelve: -
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSiAprobarEditar_Click(object sender, EventArgs e)
        {
            PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida();
            Partida           partida           = new Partida();
            EstadoPresupuesto estadoPresupuesto = new EstadoPresupuesto();

            estadoPresupuesto = estadoPresupuestoServicios.getEstadoPresupuestoPorNombre("Aprobar");
            partida.idPartida = Convert.ToInt32(info[0]);
            presupuestoEgresoPartida.idLinea             = Convert.ToInt32(info[2]);
            presupuestoEgresoPartida.idPresupuestoEgreso = Convert.ToInt32(info[1]);
            presupuestoEgresoPartida.monto             = Convert.ToDouble(info[3]);
            presupuestoEgresoPartida.partida           = partida;
            presupuestoEgresoPartida.estadoPresupuesto = estadoPresupuesto;

            Double montoA = montoAprobado + presupuestoEgresoPartida.monto;

            if (montoIngresos >= montoA)
            {
                presupuestoEgreso_PartidaServicios.actualizarEstadoPresupuestoEgreso_Partida(presupuestoEgresoPartida);

                List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartidasEditar = presupuestoEgreso_PartidaServicios.getPresupuestoEgresoPartidasPorPartidaYPresupEgreso(presupuestoEgresoPartidaSeleccionado);
                presupuestoEgresoSeleccionado.idPresupuestoEgreso = presupuestoEgresoPartida.idPresupuestoEgreso;
                presupuestoEgresoSeleccionado             = presupuestoEgresosServicios.getPresupuestosEgresosPorId(presupuestoEgresoSeleccionado);
                presupuestoEgresoSeleccionado.montoTotal += presupuestoEgresoPartida.monto;
                presupuestoEgresosServicios.actualizarMontoPresupuestoEgreso(presupuestoEgresoSeleccionado);

                Session["listaPresupuestoEgresoPartidasEditar"] = listaPresupuestoEgresoPartidasEditar;

                rpPartidasEditar.DataSource = listaPresupuestoEgresoPartidasEditar;
                rpPartidasEditar.DataBind();

                cargarPartidas();
                ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.success('" + "Se aprobo correctamente la información" + "');", true);
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "El monto aprobado es mayor al monto de ingresos. No se puede aprobar" + "');", true);
            }
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalAprobarEditar", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalAprobarEditar').hide();", true);
            ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalEditar();", true);
        }
Exemplo n.º 9
0
        /// <summary>
        /// Josseline M
        /// este metodo insertar un nuevo registro de una partida apartir de la unidad y partidac
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnNuevoIngresoPartidaModal_Click(object sender, EventArgs e)
        {
            PresupuestoEgresoPartida presupuestoEgresoPartida           = new PresupuestoEgresoPartida();
            LinkedList <Entidades.PresupuestoEgreso> presupuestoEgresos = new LinkedList <Entidades.PresupuestoEgreso>();

            presupuestoEgresos = this.presupuestoServicios.ObtenerPorUnidadEgresos(Int32.Parse(UnidadesDDL.SelectedValue));
            int            partidaBuscarPorPeriodo = (int)Session["periodoSeleccionado"];
            int            idPartidaN = 0;
            List <Partida> partidas   = new List <Partida>();

            partidas = partidaServicios.ObtenerPorPeriodo(partidaBuscarPorPeriodo);
            Session["partidasPorPeriodo"] = partidas;
            Double salario  = 0;
            String txtMonto = txtMontoIngresarModal.Text.Replace(".", ",");

            if (Double.TryParse(txtMonto, out salario))
            {
                txtMontoIngresarModal.Text = salario.ToString();

                foreach (Entidades.PresupuestoEgreso presupuestoA in presupuestoEgresos)
                {
                    presupuestoEgresoPartida.idPresupuestoEgreso = presupuestoA.idPresupuestoEgreso;
                    presupuestoEgresoPartida.idPartida           = Convert.ToInt32(txtIdPartida.Text);
                    presupuestoEgresoPartida.monto       = salario;
                    presupuestoEgresoPartida.descripcion = txtdescripcionNuevaPartida.Text;
                    presupuestoServicios.InsertarPresupuestoEgresoPartida(presupuestoEgresoPartida);
                    MostrarDatosTabla();
                    Response.Redirect("PresupuestoEgreso.aspx");
                }
            }
            else
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalIngresarPartida", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalIngresarPartida').hide();", true);
                ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalIngresarPartida();", true);
                ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "El monto asignado es incorrecto" + "');", true);
            }

            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalIngresarPartida", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalIngresarPartida').hide();", true);
        }
Exemplo n.º 10
0
        /// <summary>
        /// Leonardo Carrion
        /// 10/oct/2019
        /// Efecto:
        /// Requiere:
        /// Modifica:
        /// Devuelve:
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSiEliminarEditar_Click(object sender, EventArgs e)
        {
            PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida();
            Partida partida = new Partida();

            partida.idPartida = Convert.ToInt32(info[0]);
            presupuestoEgresoPartida.idLinea             = Convert.ToInt32(info[2]);
            presupuestoEgresoPartida.idPresupuestoEgreso = Convert.ToInt32(info[1]);
            presupuestoEgresoPartida.partida             = partida;
            presupuestoEgreso_PartidaServicios.eliminarPresupuestoEgreso_Partida(presupuestoEgresoPartida);

            List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartidasEditar = presupuestoEgreso_PartidaServicios.getPresupuestoEgresoPartidasPorPartidaYPresupEgreso(presupuestoEgresoPartidaSeleccionado);

            Session["listaPresupuestoEgresoPartidasEditar"] = listaPresupuestoEgresoPartidasEditar;

            rpPartidasEditar.DataSource = listaPresupuestoEgresoPartidasEditar;
            rpPartidasEditar.DataBind();

            cargarPartidas();
            ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.success('" + "Se elimino correctamente la información" + "');", true);
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalEliminarEditar", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalEliminarEditar').hide();", true);
            ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalEditar();", true);
        }
Exemplo n.º 11
0
        /// <summary>
        /// Almacena la actualización del presupuesto egreso
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnEliminarPartidaEgresoModal_Click(object sender, EventArgs e)
        {
            Entidades.PresupuestoEgresoPartida partidaEgreso = new Entidades.PresupuestoEgresoPartida();

            partidaEgreso.idPresupuestoEgreso = Convert.ToInt32(idPresupuestoEliminar.Text);
            partidaEgreso.idPartida           = Convert.ToInt32(idPartidaEliminar.Text);

            presupuestoServicios.eliminarPresupuestoEgresoPartida(partidaEgreso);

            int idPartida = (int)Session["idPartidaVer"];
            PresupuestoEgresoPartida presupuestoEgresoBuscar = new PresupuestoEgresoPartida();

            presupuestoEgresoBuscar.idPartida = idPartida;

            LinkedList <PresupuestoEgresoPartida> presupuestos = new LinkedList <PresupuestoEgresoPartida>();

            presupuestos = presupuestoServicios.presupuestoEgresoPartidasPorPresupuesto(presupuestoEgresoBuscar);
            Session["listaPresupuestosEgresosPartida"] = presupuestos;
            presupuestoEgresosPorPartida();
            MostrarDatosTabla();

            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalMostrarPresupuestoEgresos", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalMostrarPresupuestoEgresos').hide();", true);
            ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalMostrarPresupuestoEgresos();", true);
        }
Exemplo n.º 12
0
        /// <summary>
        /// Leonardo Carrion
        /// 09/oct/2019
        /// Efecto: levanta el modal con los egresos que se han realizado en la partida seleccionada
        /// Requiere: dar clic en el boton de "Editar"
        /// Modifica: -
        /// Devuelve: -
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnEditarPartida_Click(object sender, EventArgs e)
        {
            int idPartida = Convert.ToInt32((((LinkButton)(sender)).CommandArgument).ToString());

            List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartidas = (List <PresupuestoEgresoPartida>)Session["listaPresupuestoEgresoPartidas"];

            foreach (PresupuestoEgresoPartida presupuestoEgresoPartida in listaPresupuestoEgresoPartidas)
            {
                if (presupuestoEgresoPartida.partida.idPartida == idPartida)
                {
                    presupuestoEgresoPartidaSeleccionado = presupuestoEgresoPartida;
                    break;
                }
            }

            List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartidasEditar = presupuestoEgreso_PartidaServicios.getPresupuestoEgresoPartidasPorPartidaYPresupEgreso(presupuestoEgresoPartidaSeleccionado);

            Session["listaPresupuestoEgresoPartidasEditar"] = listaPresupuestoEgresoPartidasEditar;

            rpPartidasEditar.DataSource = listaPresupuestoEgresoPartidasEditar;
            rpPartidasEditar.DataBind();

            ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalEditar();", true);
        }
Exemplo n.º 13
0
        public List <PresupuestoEgresoPartida> ObtenerPorPartida(string idPartida)
        {
            SqlConnection sqlConnection = conexion.conexionPEP();
            List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartida = new List <PresupuestoEgresoPartida>();

            String consulta = @"select id_presupuesto_egreso,id_partida,monto, descripcion,es.id_estado_presupuesto,id_linea  from Presupuesto_Egreso_Partida Pre ,Estado_presupuestos es

                                 where id_partida=@id_partida_  and pre.id_estado_presupuesto=es.id_estado_presupuesto and pre.id_estado_presupuesto=2;";

            SqlCommand sqlCommand = new SqlCommand(consulta, sqlConnection);

            sqlCommand.Parameters.AddWithValue("@id_partida_", idPartida);

            SqlDataReader reader;

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

            while (reader.Read())
            {
                PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida();
                EstadoPresupuesto        estadoPresupuesto        = new EstadoPresupuesto();
                estadoPresupuesto.idEstadoPresupuesto        = Convert.ToInt32(reader["id_estado_presupuesto"].ToString());
                presupuestoEgresoPartida.estadoPresupuesto   = estadoPresupuesto;
                presupuestoEgresoPartida.idPresupuestoEgreso = Convert.ToInt32(reader["id_presupuesto_egreso"].ToString());
                presupuestoEgresoPartida.monto       = Convert.ToDouble(reader["monto"].ToString());
                presupuestoEgresoPartida.descripcion = reader["descripcion"].ToString();
                presupuestoEgresoPartida.idLinea     = Convert.ToInt32(reader["id_linea"].ToString());

                listaPresupuestoEgresoPartida.Add(presupuestoEgresoPartida);
            }

            sqlConnection.Close();

            return(listaPresupuestoEgresoPartida);
        }
        /// <summary>
        /// Leonardo Carrion
        /// 08/nov/2019
        /// Efecto: ingresa en el presupuesto de egresos los montos en las partidas y unidades correspondientes
        /// Requiere: dar clic en el boton de "Ingresar datos al presupuesto de egresos" y haber distribuido todos los funcionarios
        /// Modifica: presupuesto de egresos
        /// Devuelve: -
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnIngresarPresupuestoEgresos_Click(object sender, EventArgs e)
        {
            List <Funcionario> listaFuncionarios     = (List <Funcionario>)Session["listaFuncionarios"];
            List <Funcionario> listaFuncionariosTemp = listaFuncionarios.Where(funcionario => funcionario.porcentajeAsignado < 100).ToList();

            if (listaFuncionariosTemp.Count > 0)
            {
                Toastr("error", "Se deben de distribuir todos los funcionarios completamente");
            }
            else
            {
                int     idProyecto = Convert.ToInt32(ddlProyecto.SelectedValue);
                int     id         = Convert.ToInt32(ddlPeriodo.SelectedItem.Text);
                Periodo periodo    = new Periodo();
                periodo.anoPeriodo = id;

                Proyectos proyecto = new Proyectos();
                proyecto.idProyecto = idProyecto;

                //primero se comprueba que el monto de que se va a sumar a los egresos no sobrepase el monto de ingresos
                Double montoSumaEgresos = 0;
                foreach (Funcionario funcionario in listaFuncionarios)
                {
                    List <Proyeccion> listaProyeccion = proyeccionServicios.getProyeccionesPorPeriodoYFuncionario(periodo, funcionario);

                    montoSumaEgresos += listaProyeccion.Sum(proyeccion => proyeccion.montoCargasTotal);
                    montoSumaEgresos += listaProyeccion.Sum(proyeccion => proyeccion.montoSalario);
                }

                List <Unidad> listaUnidades = unidadServicios.ObtenerPorProyecto(idProyecto);

                List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartidasEliminar = new List <PresupuestoEgresoPartida>();//lista de presupuestos partidas ya aprobados, hay q borrar si es el caso
                List <int> listaIdEgresos = new List <int>();

                foreach (Unidad unidad in listaUnidades)
                {
                    List <PresupuestoEgreso> listaPresupuestoEgresos = presupuestoEgresosServicios.getPresupuestosEgresosPorUnidad(unidad);
                    listaIdEgresos = (List <int>)listaPresupuestoEgresos.Select(pres => pres.idPresupuestoEgreso).ToList();
                    listaIdEgresos = (List <int>)listaIdEgresos.Distinct().ToList();
                    foreach (int idEgreso in listaIdEgresos)
                    {
                        PresupuestoEgreso presupuestoEgreso = new PresupuestoEgreso();
                        presupuestoEgreso.idPresupuestoEgreso = idEgreso;
                        listaPresupuestoEgresoPartidasEliminar.AddRange(presupuestoEgreso_PartidaServicios.getPresupuestoEgresoPartidasPorPresupEgresoYDesc(presupuestoEgreso, "Planilla (generado automáticamente)"));
                    }
                    montoSumaEgresos += listaPresupuestoEgresos.Sum(presupuesto => presupuesto.montoTotal);
                }

                Double montoIngresos = 0;
                List <Entidades.PresupuestoIngreso> listaPresupuestosIngresos = presupuestoIngresoServicios.getPresupuestosIngresosPorProyecto(proyecto);

                foreach (Entidades.PresupuestoIngreso presupuestoIngreso in listaPresupuestosIngresos)
                {
                    if (!presupuestoIngreso.estadoPresupIngreso.descEstado.Equals("Guardar"))
                    {
                        montoIngresos += presupuestoIngreso.monto;
                    }
                }

                montoSumaEgresos = montoSumaEgresos - (listaPresupuestoEgresoPartidasEliminar.Sum(pres => pres.monto));

                if (montoIngresos < montoSumaEgresos)
                {
                    Toastr("error", "El monto de ingresos es menor que el monto que se va a egregar a los egresos. Monto ingresos: " + montoIngresos + " Monto egresos: " + montoSumaEgresos);
                }
                else
                { //si se puede ingresar los montos
                    //se actualiza el monto de los egresos para eliminar la distribucion hecha antes
                    foreach (int idEgreso in listaIdEgresos)
                    {
                        List <PresupuestoEgresoPartida> presupuestoEgresoPartidasTemp = (List <PresupuestoEgresoPartida>)listaPresupuestoEgresoPartidasEliminar.Where(pres => pres.idPresupuestoEgreso == idEgreso).ToList();

                        PresupuestoEgreso presupuestoEgreso = new PresupuestoEgreso();
                        presupuestoEgreso.idPresupuestoEgreso = idEgreso;
                        presupuestoEgreso            = presupuestoEgresosServicios.getPresupuestosEgresosPorId(presupuestoEgreso);
                        presupuestoEgreso.montoTotal = presupuestoEgreso.montoTotal - (presupuestoEgresoPartidasTemp.Sum(pres => pres.monto));
                        presupuestoEgresosServicios.actualizarMontoPresupuestoEgreso(presupuestoEgreso);
                    }

                    //se elimina el presupuesto de egresos partidas ya ingresados, para que no queden cosas sucias en la base de datos
                    foreach (PresupuestoEgresoPartida presupuestoEgresoPartidaEliminar in listaPresupuestoEgresoPartidasEliminar)
                    {
                        presupuestoEgreso_PartidaServicios.eliminarPresupuestoEgreso_Partida(presupuestoEgresoPartidaEliminar);
                    }

                    List <PresupuestoEgresoPartida> presupuestoEgresoPartidas = new List <PresupuestoEgresoPartida>();
                    EstadoPresupuesto estadoPresupuesto = new EstadoPresupuesto();
                    estadoPresupuesto = estadoPresupuestoServicios.getEstadoPresupuestoPorNombre("Aprobar");

                    foreach (Funcionario funcionario in listaFuncionarios)
                    {
                        List <JornadaUnidadFuncionario> unidadesFuncionario = jornadaUnidadFuncionarioServicios.getJornadaUnidadFuncionario(funcionario.idFuncionario, idProyecto);
                        List <Proyeccion> listaProyeccion = proyeccionServicios.getProyeccionesPorPeriodoYFuncionario(periodo, funcionario);

                        foreach (Proyeccion proyeccion in listaProyeccion)
                        {
                            List <Proyeccion_CargaSocial> listaProyeccion_CargaSociales = proyeccion_CargaSocialServicios.getProyeccionCargaSocialPorProyeccionPorProyeccion(proyeccion);


                            foreach (JornadaUnidadFuncionario jornadaUnidadFuncionario in unidadesFuncionario)
                            {
                                Unidad unidad = new Unidad();
                                unidad.idUnidad = jornadaUnidadFuncionario.idUnidad;
                                List <PresupuestoEgreso> listaPresupuestoEgresos = presupuestoEgresosServicios.getPresupuestosEgresosPorUnidad(unidad);
                                PresupuestoEgreso        presupuestoEgreso       = listaPresupuestoEgresos.First();

                                foreach (Proyeccion_CargaSocial proyeccion_CargaSocial in listaProyeccion_CargaSociales)
                                {
                                    Double monto = 0;
                                    monto = proyeccion_CargaSocial.monto;
                                    monto = (monto * (jornadaUnidadFuncionario.jornadaAsignada / 100));

                                    PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida();
                                    presupuestoEgresoPartida.monto   = monto;
                                    presupuestoEgresoPartida.partida = proyeccion_CargaSocial.cargaSocial.partida;

                                    presupuestoEgresoPartida.idPresupuestoEgreso = presupuestoEgreso.idPresupuestoEgreso;

                                    presupuestoEgresoPartidas.Add(presupuestoEgresoPartida);
                                }
                                //salario y concepto de pago
                                Double montoSalario = 0, montoConceptoPago = 0;
                                montoConceptoPago = funcionario.conceptoPagoLey;
                                montoConceptoPago = (montoConceptoPago * (jornadaUnidadFuncionario.jornadaAsignada / 100));
                                montoSalario      = proyeccion.montoSalario - funcionario.conceptoPagoLey;
                                montoSalario      = (montoSalario * (jornadaUnidadFuncionario.jornadaAsignada / 100));

                                PresupuestoEgresoPartida presupuestoEgresoPartidaSalario = new PresupuestoEgresoPartida();
                                presupuestoEgresoPartidaSalario.monto = montoSalario;
                                Partida partida = new Partida();
                                partida.numeroPartida = "0-01-03-01";
                                partida = partidaServicios.getPartidaPorNumeroYPeriodo(partida, periodo);
                                presupuestoEgresoPartidaSalario.partida             = partida;
                                presupuestoEgresoPartidaSalario.idPresupuestoEgreso = presupuestoEgreso.idPresupuestoEgreso;

                                presupuestoEgresoPartidas.Add(presupuestoEgresoPartidaSalario);

                                PresupuestoEgresoPartida presupuestoEgresoPartidaConcepto = new PresupuestoEgresoPartida();
                                presupuestoEgresoPartidaConcepto.monto = montoConceptoPago;
                                Partida partidaConcepto = new Partida();
                                partidaConcepto.numeroPartida = "0-01-03-02";
                                partidaConcepto = partidaServicios.getPartidaPorNumeroYPeriodo(partidaConcepto, periodo);
                                presupuestoEgresoPartidaConcepto.partida             = partidaConcepto;
                                presupuestoEgresoPartidaConcepto.idPresupuestoEgreso = presupuestoEgreso.idPresupuestoEgreso;

                                presupuestoEgresoPartidas.Add(presupuestoEgresoPartidaConcepto);
                            }
                        }
                    }

                    //se seleccionan los id's de los egresos
                    List <int> egresos = (List <int>)presupuestoEgresoPartidas.Select(pres => pres.idPresupuestoEgreso).ToList();
                    egresos = (List <int>)egresos.Distinct().ToList();
                    List <int> partidas = (List <int>)presupuestoEgresoPartidas.Select(pres => pres.partida.idPartida).ToList();
                    partidas = (List <int>)partidas.Distinct().ToList();

                    foreach (int idEgreso in egresos)
                    {
                        PresupuestoEgreso presupuestoEgreso = new PresupuestoEgreso();
                        presupuestoEgreso.idPresupuestoEgreso = idEgreso;
                        presupuestoEgreso = presupuestoEgresosServicios.getPresupuestosEgresosPorId(presupuestoEgreso);


                        foreach (int idPartida in partidas)
                        {
                            List <PresupuestoEgresoPartida> presupuestoEgresoPartidasTemp = (List <PresupuestoEgresoPartida>)presupuestoEgresoPartidas.Where(pres => pres.idPresupuestoEgreso == idEgreso && pres.partida.idPartida == idPartida).ToList();
                            Double montoTemp = 0;
                            montoTemp += presupuestoEgresoPartidasTemp.Sum(pres => pres.monto);

                            if (montoTemp > 0)
                            {
                                PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida();
                                Partida partida = new Partida();

                                partida.idPartida = idPartida;
                                presupuestoEgresoPartida.idPresupuestoEgreso = idEgreso;
                                presupuestoEgresoPartida.partida             = partida;
                                presupuestoEgresoPartida.monto             = montoTemp;
                                presupuestoEgresoPartida.estadoPresupuesto = estadoPresupuesto;
                                presupuestoEgresoPartida.descripcion       = "Planilla (generado automáticamente)";

                                presupuestoEgreso_PartidaServicios.insertarPresupuestoEgreso_Partida(presupuestoEgresoPartida);

                                presupuestoEgreso.montoTotal += montoTemp;
                            }
                        }

                        presupuestoEgresosServicios.actualizarMontoPresupuestoEgreso(presupuestoEgreso);
                    }

                    Toastr("success", "Se ingreso correctamente los datos en el presupuesto de egresos");
                }
            }
        }
 /// <summary>
 /// Leonardo Carrion
 /// 10/oct/2019
 /// Efecto: elimina de la base de datos el presupuesto de egreso partida
 /// Requiere: presupuesto de egreso partida
 /// Modifica: -
 /// Devuelve: -
 /// </summary>
 /// <param name="presupuestoEgresoPartida"></param>
 public void eliminarPresupuestoEgreso_Partida(PresupuestoEgresoPartida presupuestoEgresoPartida)
 {
     presupuestoEgreso_PartidaDatos.eliminarPresupuestoEgreso_Partida(presupuestoEgresoPartida);
 }
 /// <summary>
 /// Leonardo Carrion
 /// 10/oct/2019
 /// Efecto: actualiza los datos del presupuesto de egresos partida
 /// Requiere: presupuesto de egresos partida
 /// Modifica: monto, descripcion y estado
 /// Devuelve: -
 /// </summary>
 /// <param name="presupuestoEgresoPartida"></param>
 public void actualizarPresupuestoEgreso_Partida(PresupuestoEgresoPartida presupuestoEgresoPartida)
 {
     presupuestoEgreso_PartidaDatos.actualizarPresupuestoEgreso_Partida(presupuestoEgresoPartida);
 }
 /// <summary>
 /// Leonardo Carrion
 /// 09/oct/2019
 /// Efecto: devuelve lista de presupuestos de egresos partidas segun los datos consultados
 /// Requiere: presupuesto de egreso y partida
 /// Modifica: -
 /// Devuelve: lista de presupuesto de egresos
 /// </summary>
 /// <param name="presupuestoEgresoPartidaConsulta"></param>
 /// <returns></returns>
 public List <PresupuestoEgresoPartida> getPresupuestoEgresoPartidasPorPartidaYPresupEgreso(PresupuestoEgresoPartida presupuestoEgresoPartidaConsulta)
 {
     return(presupuestoEgreso_PartidaDatos.getPresupuestoEgresoPartidasPorPartidaYPresupEgreso(presupuestoEgresoPartidaConsulta));
 }
 /// <summary>
 /// Leonardo Carrion
 /// 08/oct/2019
 /// Efecto: inserta en la base de datos la relacion entre presupuesto de egresos y partida
 /// Requiere: presupuesto de egreso partida
 /// Modifica: -
 /// Devuelve: -
 /// </summary>
 /// <param name="presupuestoEgresoPartida"></param>
 public void insertarPresupuestoEgreso_Partida(PresupuestoEgresoPartida presupuestoEgresoPartida)
 {
     presupuestoEgreso_PartidaDatos.insertarPresupuestoEgreso_Partida(presupuestoEgresoPartida);
 }