public int insertarNombramientoAsistente(Nombramiento nombramiento)
        {
            SqlConnection connection = conexion.ConexionControlAsistentes();

            String consulta
                = @"INSERT Nombramiento (id_asistente,id_periodo,id_unidad, aprobado, cantidad_horas,induccion) 
                    VALUES (@asistente,@periodo,@unidad,@aprobado,@horas,@induccion);
                    SELECT SCOPE_IDENTITY();";

            SqlCommand command = new SqlCommand(consulta, connection);

            command.Parameters.AddWithValue("@asistente", nombramiento.asistente.idAsistente);
            command.Parameters.AddWithValue("@periodo", nombramiento.periodo.idPeriodo);
            command.Parameters.AddWithValue("@unidad", nombramiento.unidad.idUnidad);
            command.Parameters.AddWithValue("@aprobado", nombramiento.aprobado);
            command.Parameters.AddWithValue("@horas", nombramiento.cantidadHorasNombrado);
            command.Parameters.AddWithValue("@induccion", nombramiento.recibeInduccion);

            connection.Open();
            int idNombramiento = Convert.ToInt32(command.ExecuteScalar());

            connection.Close();

            return(idNombramiento);
        }
Пример #2
0
        /// <summary>
        /// Mariela Calvo
        /// 04/nov/2019
        /// Efecto: inserta el encargado con su respectiva unidad
        /// Requiere:
        /// Modifica: -
        /// Devuelve: -
        /// </summary>
        /// <param name="insertar"></param>
        /// <returns></returns>
        public void insertarEncargadoDeUnidad(Unidad unidad, Encargado encargado)
        {
            SqlConnection sqlConnection = conexion.ConexionControlAsistentes();
            SqlCommand    sqlCommand    = new SqlCommand("insert into Encargado_Unidad(id_unidad, id_encargado)  " +
                                                         "values(@idUnidad_, @idEncargado_);SELECT SCOPE_IDENTITY();", sqlConnection);

            sqlCommand.Parameters.AddWithValue("@idUnidad_", unidad.idUnidad);
            sqlCommand.Parameters.AddWithValue("@idEncargado_", encargado.idEncargado);

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

            sqlConnection.Close();
        }
Пример #3
0
        public List <Unidad> ObtenerUnidades()
        {
            SqlConnection sqlConnection = conexion.ConexionControlAsistentes();
            List <Unidad> unidades      = new List <Unidad>();
            SqlCommand    sqlCommand    = new SqlCommand("SELECT U.id_unidad, U.nombre, U.descripcion,E.nombre_completo FROM Unidad U JOIN Encargado_Unidad EU ON U.id_unidad=EU.id_unidad"
                                                         + " JOIN Encargado E ON EU.id_encargado = E.id_encargado WHERE disponible=1; ", sqlConnection);

            SqlDataReader reader;

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

            while (reader.Read())
            {
                Unidad unidad = new Unidad();
                unidad.idUnidad    = Convert.ToInt32(reader["id_unidad"].ToString());
                unidad.nombre      = reader["nombre"].ToString();
                unidad.descripcion = reader["descripcion"].ToString();
                Encargado encargado = new Encargado();
                encargado.nombreCompleto = reader["nombre_completo"].ToString();
                unidad.encargado         = encargado;
                unidades.Add(unidad);
            }
            sqlConnection.Close();

            return(unidades);
        }
Пример #4
0
        /// <summary>
        /// Jean Carlos Monge Mendez
        /// 26/03/2020
        /// Efecto: Regresa la lista de tarjetas de la base de datos
        /// Requiere: -
        /// Modifica: -
        /// Devuelve: Lista de tarjetas
        /// </summary>
        /// <returns></returns>
        public List <Tarjeta> ObtenerTarjetas()
        {
            SqlConnection  sqlConnection = conexion.ConexionControlAsistentes();
            List <Tarjeta> tarjetas      = new List <Tarjeta>();
            String         consulta      = @"SELECT t.id_tarjeta, t.numeroTarjeta, t.disponible, t.tarjeta_extraviada, 
a.id_asistente, a.nombre_completo, a.carnet, a.telefono, a.cantidad_periodos_nombrado, t.pagada
FROM Tarjeta t LEFT JOIN Asistente a ON t.id_asistente = a.id_asistente;";
            SqlCommand     sqlCommand    = new SqlCommand(consulta, sqlConnection);
            SqlDataReader  reader;

            sqlConnection.Open();
            reader = sqlCommand.ExecuteReader();
            while (reader.Read())
            {
                Tarjeta   tarjeta   = new Tarjeta();
                Asistente asistente = new Asistente();
                if (!(reader["id_Asistente"] == System.DBNull.Value))
                {
                    asistente.idAsistente              = Convert.ToInt32(reader["id_Asistente"]);
                    asistente.nombreCompleto           = reader["nombre_completo"].ToString();
                    asistente.carnet                   = reader["carnet"].ToString();
                    asistente.cantidadPeriodosNombrado = Convert.ToInt32(reader["cantidad_periodos_nombrado"].ToString());
                }
                tarjeta.idTarjeta         = Convert.ToInt32(reader["id_tarjeta"].ToString());
                tarjeta.numeroTarjeta     = reader["numeroTarjeta"].ToString();
                tarjeta.disponible        = Convert.ToBoolean(reader["disponible"]);
                tarjeta.tarjetaExtraviada = Convert.ToBoolean(reader["tarjeta_extraviada"]);
                if (tarjeta.tarjetaExtraviada)
                {
                    sqlCommand.Parameters.AddWithValue("@pagada", tarjeta.pagada);
                }

                tarjeta.asistente = asistente;
                tarjetas.Add(tarjeta);
            }
            sqlConnection.Close();
            return(tarjetas);
        }
Пример #5
0
        /// <summary>
        /// Mariela Calvo
        /// Abril/2020
        /// Efecto: Inserta los archivos asociados al nombramiento de un asistente
        /// Requiere: -
        /// Modifica:
        /// Devuelve:
        /// </summary>
        public int insertarArchivo(Archivo archivo)
        {
            SqlConnection connection = conexion.ConexionControlAsistentes();

            String consulta
                = @"INSERT Archivo (fecha_creacion,nombre_archivo,ruta_archivo,tipo_archivo,creado_por) 
                    VALUES (GETDATE(),@nombreArchivo,@rutaArchivo,@tipoArchivo,@creado_por);
                    SELECT SCOPE_IDENTITY();";

            SqlCommand command = new SqlCommand(consulta, connection);

            //command.Parameters.AddWithValue("@fechaCreacion",archivo.fechaCreacion);
            command.Parameters.AddWithValue("@nombreArchivo", archivo.nombreArchivo);
            command.Parameters.AddWithValue("@rutaArchivo", archivo.rutaArchivo);
            command.Parameters.AddWithValue("@tipoArchivo", archivo.tipoArchivo);
            command.Parameters.AddWithValue("@creado_por", archivo.creadoPor);

            connection.Open();
            int idArchivo = Convert.ToInt32(command.ExecuteScalar());

            connection.Close();

            return(idArchivo);
        }
Пример #6
0
        public List <Proyecto> ObtenerProyectos()
        {
            SqlConnection   sqlConnection = conexion.ConexionControlAsistentes();
            List <Proyecto> proyectos     = new List <Proyecto>();
            SqlCommand      sqlCommand    = new SqlCommand(@"select p.id_proyecto, p.nombre, p.descripcion, p.fecha_inicio, p.fecha_finalizacion, p.disponible, p.finalizado, ap.id_asistente "
                                                           + "from Proyecto p join Asistente_Proyecto ap on p.id_proyecto = ap.id_proyecto " +
                                                           "where p.disponible=1", sqlConnection);

            List <Nombramiento> nombramientos = new List <Nombramiento>();

            nombramientos = nombramientoasistenteDatos.ObtenerNombramientos();

            SqlDataReader reader;

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

            while (reader.Read())
            {
                Proyecto proyecto = new Proyecto();
                proyecto.idProyecto        = Convert.ToInt32(reader["id_proyecto"].ToString());
                proyecto.nombre            = reader["nombre"].ToString();
                proyecto.descripcion       = reader["descripcion"].ToString();
                proyecto.fechaInicio       = Convert.ToDateTime(reader["fecha_inicio"].ToString());
                proyecto.fechaFinalizacion = Convert.ToDateTime(reader["fecha_finalizacion"].ToString());
                proyecto.disponible        = Convert.ToBoolean(reader["disponible"].ToString());
                proyecto.finalizado        = Convert.ToBoolean(reader["finalizado"].ToString());
                Asistente asistente = new Asistente();
                asistente.idAsistente = Convert.ToInt32(reader["id_asistente"].ToString());

                //Aquí no utilio el ObtenerAsistentesPorId, por el @id_unidad
                foreach (Nombramiento asist in nombramientos)
                {
                    if (asist.asistente.idAsistente == asistente.idAsistente)
                    {
                        asistente        = asist.asistente;
                        asistente.unidad = asist.unidad;
                    }
                }



                proyecto.asistente = asistente;

                proyectos.Add(proyecto);
            }
            sqlConnection.Close();

            return(proyectos);
        }
Пример #7
0
        public int insertarEncargadoAsistente(int idEncargado, int idAsistente)
        {
            SqlConnection connection = conexion.ConexionControlAsistentes();

            String consulta
                = @"INSERT Encargado_Asistente(id_Encargado,id_asistente) 
                    VALUES (@idEncargado,@idAsistente);";

            SqlCommand command = new SqlCommand(consulta, connection);

            command.Parameters.AddWithValue("@idEncargado", idEncargado);
            command.Parameters.AddWithValue("@idAsistente", idAsistente);
            connection.Open();
            command.ExecuteScalar();

            connection.Close();

            return(idEncargado);
        }
Пример #8
0
        /// <summary>
        /// Mariela Calvo
        /// 04/nov/2019
        /// Efecto: devuelve los encargados de las unidades
        /// Requiere:
        /// Modifica: -
        /// Devuelve: encargados
        /// </summary>
        /// <param name="listaEncargados"></param>
        /// <returns></returns>
        public List <Encargado> listaEncargados()
        {
            SqlConnection    sqlConnection = conexion.ConexionControlAsistentes();
            List <Encargado> encargados    = new List <Encargado>();
            SqlCommand       sqlCommand    = new SqlCommand("SELECT id_encargado, nombre_completo from Encargado", sqlConnection);

            SqlDataReader reader;

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

            while (reader.Read())
            {
                Encargado encargado = new Encargado();
                encargado.idEncargado    = Convert.ToInt32(reader["id_encargado"].ToString());
                encargado.nombreCompleto = reader["nombre_completo"].ToString();
                encargados.Add(encargado);
            }
            sqlConnection.Close();

            return(encargados);
        }
Пример #9
0
        /// <summary>
        /// Jesús Torres R
        /// 27/03/2020
        /// Efecto: Regresa la lista de usuarios de la base de datos
        /// Requiere: -
        /// Modifica: -
        /// Devuelve: Lista de usuarios
        /// </summary>
        /// <returns>List</returns>
        public List <Usuario> ObtenerUsuarios()
        {
            SqlConnection  sqlConnection = conexion.ConexionControlAsistentes();
            List <Usuario> usuarios      = new List <Usuario>();

            String consulta = @"SELECT u.id_usuario, u.nombre_completo as usuario, u.contrasenia, u.disponible, 
								a.id_asistente, a.nombre_completo, a.carnet, a.telefono, a.cantidad_periodos_nombrado 
								FROM Usuario u LEFT JOIN Asistente a ON u.id_asistente = a.id_asistente WHERE u.eliminada=0;"                                ;

            SqlCommand    sqlCommand = new SqlCommand(consulta, sqlConnection);
            SqlDataReader reader;

            sqlConnection.Open();
            reader = sqlCommand.ExecuteReader();
            while (reader.Read())
            {
                Asistente asistente = new Asistente();

                if ((reader["id_Asistente"].ToString()) == "")
                {
                    asistente = null;
                }
                else
                {
                    asistente.idAsistente              = Convert.ToInt32(reader["id_Asistente"].ToString());
                    asistente.idAsistente              = Convert.ToInt32(reader["id_Asistente"].ToString());
                    asistente.nombreCompleto           = reader["nombre_completo"].ToString();
                    asistente.carnet                   = reader["carnet"].ToString();
                    asistente.cantidadPeriodosNombrado = Convert.ToInt32(reader["cantidad_periodos_nombrado"].ToString());
                }

                Usuario usuario = new Usuario();
                usuario.idUsuario  = Convert.ToInt32(reader["id_usuario"].ToString());
                usuario.nombre     = reader["usuario"].ToString();
                usuario.disponible = Convert.ToBoolean(reader["disponible"]);
                usuario.contraseña = reader["contrasenia"].ToString();
                usuario.asistente  = asistente;
                usuarios.Add(usuario);
            }
            sqlConnection.Close();
            return(usuarios);
        }
Пример #10
0
        /// <summary>
        /// Obtiene todos los periodos de la base de datos
        /// </summary>
        /// <returns>Retorna una lista <code>LinkedList<Periodo></code> que contiene todos los periodos</returns>
        public List <Periodo> ObtenerPeriodos()
        {
            SqlConnection  sqlConnection = conexion.ConexionControlAsistentes();
            List <Periodo> periodos      = new List <Periodo>();
            SqlCommand     sqlCommand    = new SqlCommand("SELECT id_periodo,ano_periodo, habilitado,semestre FROM Periodo WHERE disponible=1; ", sqlConnection);

            SqlDataReader reader;

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

            while (reader.Read())
            {
                Periodo periodo = new Periodo();
                periodo.idPeriodo  = Convert.ToInt32(reader["id_periodo"].ToString());
                periodo.anoPeriodo = Convert.ToInt32(reader["ano_periodo"].ToString());
                periodo.habilitado = Convert.ToBoolean(reader["habilitado"].ToString());
                periodo.semestre   = reader["semestre"].ToString();
                periodos.Add(periodo);
            }
            sqlConnection.Close();

            return(periodos);
        }
        /// <summary>
        /// Mariela Calvo
        /// Mayo/2020
        /// Efecto: Devuelve la consulta necesaria para ser mostrada en el reporte
        /// Requiere: -
        /// Modifica:
        /// Devuelve:
        /// </summary>
        ///
        public List <ReporteAsistente> ObtenerReporteAsistente(int idUnidad, int idPeriodo)
        {
            SqlConnection           sqlConnection = conexion.ConexionControlAsistentes();
            List <ReporteAsistente> listaReporte  = new List <ReporteAsistente>();

            String consulta = @"SELECT a.id_asistente, a.nombre_completo as asistente ,a.carnet,a.cantidad_periodos_nombrado, ea.id_encargado,e.nombre_completo as encargado, eu.id_unidad,u.nombre as unidad, p.id_periodo, p.semestre, p.ano_periodo, 
                              n.id_nombramiento, n.cantidad_horas,pr.id_proyecto,pr.nombre as proyecto,pr.descripcion, t.id_tarjeta,t.numeroTarjeta as tarjeta,us.id_usuario, us.nombre_completo as usuario
                              FROM Asistente a
                              JOIN Encargado_Asistente ea ON a.id_asistente=ea.id_asistente
                              JOIN Encargado_Unidad eu ON ea.id_encargado=eu.id_encargado
                              JOIN Encargado e ON ea.id_encargado=e.id_encargado
                              JOIN Unidad u ON eu.id_unidad=u.id_unidad
                              JOIN Nombramiento n ON a.id_asistente = n.id_asistente
                              JOIN Periodo p ON n.id_periodo=p.id_periodo 
                              FULL OUTER JOIN Asistente_Proyecto ap ON a.id_asistente=ap.id_asistente
                              FULL OUTER JOIN Proyecto pr ON ap.id_proyecto=pr.id_proyecto
                              FULL OUTER JOIN Tarjeta t ON a.id_asistente=t.id_asistente
                              FULL OUTER JOIN Usuario us ON a.id_asistente=us.id_asistente  ";


            if (idUnidad != 0 && idPeriodo != 0)
            {
                consulta += "WHERE n.solicitud=1 AND p.id_periodo=@idPeriodo AND eu.id_unidad=@idUnidad " +
                            "GROUP BY  p.id_periodo, a.id_asistente, a.nombre_completo,a.carnet,a.cantidad_periodos_nombrado, ea.id_encargado,e.nombre_completo," +
                            "eu.id_unidad,u.nombre, p.semestre, p.ano_periodo, n.id_nombramiento, n.cantidad_horas,pr.id_proyecto,pr.nombre,pr.descripcion,t.id_tarjeta," +
                            "t.numeroTarjeta,us.id_usuario, us.nombre_completo " +
                            "ORDER BY p.ano_periodo ASC";
            }
            else if (idUnidad != 0)
            {
                consulta += "WHERE n.solicitud=1 AND eu.id_unidad=@idUnidad " +
                            "GROUP BY  p.id_periodo, a.id_asistente, a.nombre_completo,a.carnet,a.cantidad_periodos_nombrado, ea.id_encargado,e.nombre_completo," +
                            "eu.id_unidad,u.nombre, p.semestre, p.ano_periodo, n.id_nombramiento, n.cantidad_horas,pr.id_proyecto,pr.nombre,pr.descripcion,t.id_tarjeta," +
                            "t.numeroTarjeta,us.id_usuario, us.nombre_completo " +
                            "ORDER BY p.ano_periodo ASC";
            }
            else if (idPeriodo != 0)
            {
                consulta += "WHERE n.solicitud=1 AND  p.id_periodo=@idPeriodo " +
                            "GROUP BY  p.id_periodo, a.id_asistente, a.nombre_completo,a.carnet,a.cantidad_periodos_nombrado, ea.id_encargado,e.nombre_completo," +
                            "eu.id_unidad,u.nombre, p.semestre, p.ano_periodo, n.id_nombramiento, n.cantidad_horas,pr.id_proyecto,pr.nombre,pr.descripcion,t.id_tarjeta," +
                            "t.numeroTarjeta,us.id_usuario, us.nombre_completo " +
                            "ORDER BY p.ano_periodo ASC";
            }
            else
            {
                consulta += "WHERE n.solicitud=1 " +
                            "GROUP BY  p.id_periodo, a.id_asistente, a.nombre_completo,a.carnet,a.cantidad_periodos_nombrado, ea.id_encargado,e.nombre_completo," +
                            "eu.id_unidad,u.nombre, p.semestre, p.ano_periodo, n.id_nombramiento, n.cantidad_horas,pr.id_proyecto,pr.nombre,pr.descripcion,t.id_tarjeta," +
                            "t.numeroTarjeta,us.id_usuario, us.nombre_completo " +
                            "ORDER BY p.ano_periodo ASC";
            }
            SqlCommand sqlCommand = new SqlCommand(consulta, sqlConnection);

            sqlCommand.Parameters.AddWithValue("@idUnidad", idUnidad);
            sqlCommand.Parameters.AddWithValue("@idPeriodo", idPeriodo);


            SqlDataReader reader;

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

            while (reader.Read())
            {
                ReporteAsistente reporteAsistente = new ReporteAsistente();
                // NOMBRAMIENTO
                reporteAsistente.idNombramiento = Convert.ToInt32(reader["id_nombramiento"].ToString());
                reporteAsistente.cantidadHoras  = Convert.ToInt32(reader["cantidad_horas"].ToString());

                // ASISTENTE
                reporteAsistente.idAsistente = Convert.ToInt32(reader["id_asistente"].ToString());
                reporteAsistente.asistente   = reader["asistente"].ToString();
                reporteAsistente.carnet      = reader["carnet"].ToString();
                reporteAsistente.cantidadPeriodosNombrados = ObtenerCantidadAsistencias(reporteAsistente.idAsistente);

                // PERIODO
                reporteAsistente.idPeriodo = Convert.ToInt32(reader["id_periodo"].ToString());
                reporteAsistente.periodo   = reader["semestre"].ToString() + " Semestre - " + Convert.ToInt32(reader["ano_periodo"].ToString());;

                // UNIDAD
                Unidad unidad = new Unidad();
                reporteAsistente.idUnidad = Convert.ToInt32(reader["id_unidad"].ToString());
                reporteAsistente.unidad   = reader["unidad"].ToString();

                // ENCARGADO
                reporteAsistente.idUnidad  = Convert.ToInt32(reader["id_encargado"].ToString());
                reporteAsistente.encargado = reader["encargado"].ToString();

                // PROYECTO
                if ((reader["id_proyecto"].ToString()) == "")
                {
                    reporteAsistente.idProyecto          = 0;
                    reporteAsistente.proyecto            = "Sin asignar";
                    reporteAsistente.descripcionProyecto = "Sin asignar";
                }
                else
                {
                    reporteAsistente.idProyecto          = Convert.ToInt32(reader["id_proyecto"].ToString());
                    reporteAsistente.proyecto            = reader["proyecto"].ToString();
                    reporteAsistente.descripcionProyecto = reader["descripcion"].ToString();
                }

                // TARJETA
                if ((reader["id_tarjeta"].ToString()) == "")
                {
                    reporteAsistente.idTarjeta = 0;
                    reporteAsistente.tarjeta   = "Sin asignar";
                }
                else
                {
                    reporteAsistente.idTarjeta = Convert.ToInt32(reader["id_tarjeta"].ToString());
                    reporteAsistente.tarjeta   = reader["tarjeta"].ToString();
                }

                // USUARIO
                if ((reader["id_usuario"].ToString()) == "")
                {
                    reporteAsistente.idUsuario = 0;
                    reporteAsistente.usuario   = "Sin asignar";
                }
                else
                {
                    reporteAsistente.idUsuario = Convert.ToInt32(reader["id_usuario"].ToString());
                    reporteAsistente.usuario   = reader["usuario"].ToString();
                }



                listaReporte.Add(reporteAsistente);
            }

            sqlConnection.Close();

            return(listaReporte);
        }
Пример #12
0
        /// <summary>
        /// Obtiene las Asistentes de la base de datos segun el periodo
        /// </summary>
        /// <returns>Retorna una lista <code>LinkedList<Asistente></code> que contiene las Asistentes</returns>
        public List <Asistente> ObtenerAsistentes()
        {
            SqlConnection    sqlConnection = conexion.ConexionControlAsistentes();
            List <Asistente> asistentes    = new List <Asistente>();

            String consulta = @"SELECT a.id_asistente, a.nombre_completo,a.carnet,a.telefono,n.aprobado, p.semestre,n.id_periodo, p.ano_periodo,n.cantidad_horas, a.cantidad_periodos_nombrado, u.nombre as unidad,  e.nombre_completo as nombre_encargado ,n.solicitud ,n.observaciones" +
                              " FROM Asistente a JOIN Nombramiento n ON a.id_asistente=n.id_asistente JOIN Periodo p ON n.id_periodo=p.id_periodo JOIN Unidad u ON n.id_unidad=u.id_unidad JOIN Encargado_Unidad eu ON u.id_unidad=eu.id_unidad JOIN Encargado e ON e.id_encargado = eu.id_encargado where p.habilitado=1  AND a.disponible=1; ";

            SqlCommand sqlCommand = new SqlCommand(consulta, sqlConnection);


            SqlDataReader reader;

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

            while (reader.Read())
            {
                Asistente asistente = new Asistente();
                asistente.idAsistente    = Convert.ToInt32(reader["id_Asistente"].ToString());
                asistente.nombreCompleto = reader["nombre_completo"].ToString();
                asistente.carnet         = reader["carnet"].ToString();
                Periodo periodo = new Periodo();
                periodo.semestre   = reader["semestre"].ToString();
                periodo.anoPeriodo = Convert.ToInt32(reader["ano_periodo"].ToString());
                periodo.idPeriodo  = Convert.ToInt32(reader["id_periodo"].ToString());
                asistente.cantidadPeriodosNombrado = ObtenerCantidadAsistencias(asistente.idAsistente);
                Unidad unidad = new Unidad();
                unidad.nombre = reader["unidad"].ToString();
                Encargado encargado = new Encargado();
                encargado.nombreCompleto = reader["nombre_encargado"].ToString();
                unidad.encargado         = encargado;
                asistentes.Add(asistente);
            }

            sqlConnection.Close();

            return(asistentes);
        }