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); }
/// <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(); }
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); }
/// <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); }
/// <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); }
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); }
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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }