Пример #1
0
        /// <summary>
        /// Leonardo Carrion
        /// 24/mar/2021
        /// Efecto: Cambia el estado de la ejecucion a aprobar y verifica que los montos de las partidas esten correctos
        /// Requiere: dar clic en el boton de Si
        /// Modifica: estado de ejecucion
        /// Devuelve: mesnsaje de confirmacion de accion
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSiAprobar_Click(object sender, EventArgs e)
        {
            Entidades.Ejecucion  ejecucion             = (Entidades.Ejecucion)Session["ejecucionAprobar"];
            List <PartidaUnidad> listaUnidadesPartidas = ejecucionUnidadParitdaServicios.getUnidadesPartidasMontoPorEjecucion(ejecucion);

            Double montoResta = listaUnidadesPartidas.Sum(part => part.monto);

            if ((ejecucion.monto - montoResta) == 0)
            {
                Boolean correcto = true;
                foreach (PartidaUnidad partidaUnidad in listaUnidadesPartidas)
                {
                    Unidad unidad = new Unidad();
                    unidad.idUnidad = partidaUnidad.idUnidad;
                    Partida partida = new Partida();
                    partida.idPartida = partidaUnidad.idPartida;
                    Double montoDisponible = ejecucionUnidadParitdaServicios.getMontoDisponible(unidad, partida);
                    if ((montoDisponible - partidaUnidad.monto) < 0)
                    {
                        correcto = false;
                        break;
                    }
                }

                if (correcto)
                {
                    EstadoEjecucion estadoEjecucion = new EstadoEjecucion();
                    estadoEjecucion = estadoEjecucionServicios.getEstadoEjecucionSegunNombre("Aprobado");

                    Periodo periodo = new Periodo();
                    periodo.anoPeriodo = Convert.ToInt32(ddlPeriodos.SelectedValue);

                    Proyectos proyecto = new Proyectos();
                    proyecto.idProyecto = Convert.ToInt32(ddlProyectos.SelectedValue);

                    ejecucion.anoPeriodo      = periodo.anoPeriodo;
                    ejecucion.idProyecto      = proyecto.idProyecto;
                    ejecucion.estadoEjecucion = estadoEjecucion;
                    ejecucionServicios.EditarEjecucion(ejecucion);
                    mostrarDatosTabla();

                    ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "cerrarModalAprobar();", true);
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.success('" + "Se aprobó correctamente la ejecución número " + ejecucion.idEjecucion.ToString() + "');", true);
                }
                else
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "Favor revisar los montos disponibles de cada partida" + "');", true);
                }
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "El monto de la ejecución debe ser igual al monto repartido entre las unidades" + "');", true);
            }
        }
Пример #2
0
        /// <summary>
        /// Leonardo Carrion
        /// 24/mar/2021
        /// Efecto: levanta modal para confirmar si se desea aprobar la ejecucion
        /// Requiere: dar clic en el boton de aprobar
        /// Modifica: -
        /// Deuvelve: -
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnAprobar_Click(object sender, EventArgs e)
        {
            int idEjecucion = Convert.ToInt32((((LinkButton)(sender)).CommandArgument).ToString());

            List <Entidades.Ejecucion> listaEjecuciones = new List <Entidades.Ejecucion>();

            Periodo periodo = new Periodo();

            periodo.anoPeriodo = Convert.ToInt32(ddlPeriodos.SelectedValue);

            Proyectos proyecto = new Proyectos();

            proyecto.idProyecto = Convert.ToInt32(ddlProyectos.SelectedValue);

            listaEjecuciones = ejecucionServicios.getEjecucionesPorPeriodoYProyecto(periodo, proyecto);

            Entidades.Ejecucion ejecucion = (Entidades.Ejecucion)listaEjecuciones.Where(eje => eje.idEjecucion == idEjecucion).ToList().First();

            Session["ejecucionAprobar"] = ejecucion;
            lblConfirmarAprobar.Text    = "¿Seguro o segura que desea aprobar la ejecución número " + ejecucion.idEjecucion + "?";
            ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalAprobar();", true);
        }