/// <summary>
        /// Leonardo Carrion
        /// 10/mar/2021
        /// Efecto: devuelve el estado segun la descripcion ingresada
        /// Requiere: nombre estado
        /// Modifica: -
        /// Devuelve: estadoEjecucion
        /// </summary>
        /// <param name="estado"></param>
        /// <returns></returns>
        public EstadoEjecucion getEstadoEjecucionSegunNombre(String estado)
        {
            EstadoEjecucion estadoEjecucion = new EstadoEjecucion();

            SqlConnection sqlConnection = conexion.conexionPEP();

            String consulta = @"SELECT * from EstadoEjecucion where descripcion_estado = @descripcion";

            SqlCommand sqlCommand = new SqlCommand(consulta, sqlConnection);

            sqlCommand.Parameters.AddWithValue("@descripcion", estado);

            SqlDataReader reader;

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

            if (reader.Read())
            {
                estadoEjecucion.idEstado    = Convert.ToInt32(reader["id_estado"].ToString());
                estadoEjecucion.descripcion = reader["descripcion_estado"].ToString();
            }

            sqlConnection.Close();

            return(estadoEjecucion);
        }
Exemple #2
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);
            }
        }
Exemple #3
0
        /// <summary>
        /// Leonardo Carrion
        /// 23/feb/2021
        /// Efecto: devuelve la lista de ejecuciones segun el periodo y proyecto seleccionado
        /// Requiere: periodo y proyecto
        /// Modifica: -
        /// Devuelve: lista de ejecuciones
        /// </summary>
        /// <param name="periodo"></param>
        /// <param name="proyecto"></param>
        /// <returns></returns>
        public List <Ejecucion> getEjecucionesPorPeriodoYProyecto(Periodo periodo, Proyectos proyecto)
        {
            List <Ejecucion> listaEjecucion = new List <Ejecucion>();
            SqlConnection    sqlConnection  = conexion.conexionPEP();

            String consulta = @"select descripcion_estado,monto,numero_referencia,nombre_tramite,E.id_ejecucion,T.id_tramite,descripcion_tramite_otro, E.realizado_por,E.fecha
                                      from EstadoEjecucion Es,Ejecucion E,Tipos_tramite T
                                      where E.id_proyecto=@idProyecto and E.ano_periodo=@Periodo and E.id_tipo_tramite= T.id_tramite and E.id_estado= Es.id_estado order by  id_ejecucion desc";

            SqlCommand command = new SqlCommand(consulta, sqlConnection);

            command.Parameters.AddWithValue("@Periodo", periodo.anoPeriodo);
            command.Parameters.AddWithValue("@idProyecto", proyecto.idProyecto);

            SqlDataReader reader;

            sqlConnection.Open();
            reader = command.ExecuteReader();
            while (reader.Read())
            {
                EstadoEjecucion estadoEjecucion = new EstadoEjecucion();
                TipoTramite     tipoTramite     = new TipoTramite();
                Ejecucion       ejecucion       = new Ejecucion();
                ejecucion.idEjecucion              = Convert.ToInt32(reader["id_ejecucion"].ToString());
                ejecucion.monto                    = Convert.ToDouble(reader["monto"].ToString());
                ejecucion.numeroReferencia         = Convert.ToString(reader["numero_referencia"].ToString());
                tipoTramite.nombreTramite          = Convert.ToString(reader["nombre_tramite"].ToString());
                tipoTramite.idTramite              = Convert.ToInt32(reader["id_tramite"].ToString());
                ejecucion.tipoTramite              = tipoTramite;
                estadoEjecucion.descripcion        = Convert.ToString(reader["descripcion_estado"].ToString());
                ejecucion.estadoEjecucion          = estadoEjecucion;
                ejecucion.descripcionEjecucionOtro = Convert.ToString(reader["descripcion_tramite_otro"].ToString());
                ejecucion.realizadoPor             = reader["realizado_por"].ToString();
                ejecucion.fecha                    = Convert.ToDateTime(reader["fecha"].ToString());
                listaEjecucion.Add(ejecucion);
            }
            sqlConnection.Close();
            return(listaEjecucion);
        }