/// <summary> /// Mariela Calvo /// Abril/2020 /// Efecto: Visualmente elimina un asistente de una tarjeta /// Requiere: Clickear el boton "eliminar" de la tabla de nombramientos /// Modifica: - /// Devuelve: - /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnDetallesNombramiento(object sender, EventArgs e) { int idNombramiento = Convert.ToInt32((((LinkButton)(sender)).CommandArgument).ToString()); Nombramiento nombramiento = nombramientoServicios.ObtenerDetallesNombramiento(idNombramiento); txtAsistenteD.CssClass = "form-control"; txtDetalles.CssClass = "form-control"; txtSolicitudD.Visible = false; Label18.Visible = false; if (nombramiento.aprobado && nombramiento.solicitud == 1) { txtSolicitudD.Style.Add("background-color", "#0BA55E"); txtSolicitudD.Text = "APROBADO"; } else if (!nombramiento.aprobado && nombramiento.solicitud == 2) { txtSolicitudD.Style.Add("background-color", "#D96F6F"); txtSolicitudD.Text = "RECHAZADO"; } else if (!nombramiento.aprobado && nombramiento.solicitud == 0) { txtSolicitudD.Style.Add("background-color", "#E88C01"); txtSolicitudD.Text = "PENDIENTE"; } txtAsistenteD.Text = nombramiento.asistente.nombreCompleto; txtDetalles.Text = nombramiento.observaciones; ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalDetallesNombramiento();", true); }
protected void AsistenteAprobar_OnChanged(object sender, EventArgs e) { int idNombramiento = Convert.ToInt32(((LinkButton)(sender)).CommandArgument.ToString()); nombramientoS = nombramientoServicios.ObtenerDetallesNombramiento(idNombramiento); List <Nombramiento> listaAsistentes = (List <Nombramiento>)Session["listaAsistentes"]; List <Nombramiento> listaAsistentesFiltrada = (List <Nombramiento>)listaAsistentes.Where(nombramiento => nombramiento.idNombramiento == Convert.ToInt32(idNombramiento)).ToList(); foreach (Nombramiento nombramiento in listaAsistentesFiltrada) { txtNumeroCarné.Text = nombramiento.asistente.carnet; txtNombreAsistente.Text = nombramiento.asistente.nombreCompleto; txtCantidadHoras.Text = Convert.ToString(nombramiento.cantidadHorasNombrado); txtObservaciones.Enabled = true; AsistenteDDL.Enabled = true; btnGuardar.Visible = true; ButtonCerrar.Visible = true; BtnCerrar.Visible = false; } SeleccionarEstado(); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalObservacionesAsistente", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalObservacionesAsistente').hide();", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "observacionesAsistentes();", true); }
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 /// Mayo/2020 /// Efecto: Guardar los archivos del nombramiento del asistente /// Requiere: - /// Modifica: /// Devuelve: - /// </summary> public int editarArchivos(Nombramiento nombramiento, FileUpload fileUp, int tipo) { int editado = 0; foreach (HttpPostedFile file in fileUp.PostedFiles) { String nombreArchivo = Path.GetFileName(file.FileName); nombreArchivo = nombreArchivo.Replace(' ', '_'); DateTime fechaHoy = new DateTime(); fechaHoy = DateTime.Now; String carpeta = nombramiento.asistente.nombreCompleto + "-" + nombramiento.periodo.semestre + "_" + nombramiento.periodo.anoPeriodo;; String nuevoTextoConsecutivo = file.FileName; editado = Utilidades.OverWriteFile(fileUp, fechaHoy.Year, nombreArchivo, nuevoTextoConsecutivo, carpeta); if (editado == 0) { Archivo archivoNuevo = new Archivo(); archivoNuevo.nombreArchivo = nombreArchivo; archivoNuevo.rutaArchivo = Utilidades.path + fechaHoy.Year + "\\" + carpeta + "\\" + nombreArchivo; archivoNuevo.fechaCreacion = fechaHoy; archivoNuevo.creadoPor = "Mariela Calvo";//Session["nombreCompleto"].ToString(); archivoNuevo.tipoArchivo = tipo; int idA = archivoServicios.insertarArchivo(archivoNuevo); archivoServicios.insertarArchivoNombramiento(idA, nombramiento.idNombramiento); } } return(editado); }
/// <summary> /// Mariela Calvo /// Abril/2020 /// Efecto: Obtiene los nombramientos de los asistentes /// Requiere: - /// Modifica: /// Devuelve: Lista de nombramiento /// </summary> public List <Nombramiento> ObtenerNombramientos() { SqlConnection sqlConnection = conexion.ConexionControlAsistentes(); List <Nombramiento> nombramientos = new List <Nombramiento>(); String consulta = @"SELECT n.solicitud,u.id_unidad, n.induccion, n.id_nombramiento, a.id_asistente, a.nombre_completo,a.carnet,a.telefono, n.aprobado, p.semestre, p.ano_periodo,n.cantidad_horas, a.cantidad_periodos_nombrado, u.nombre as unidad, e.nombre_completo as nombre_encargado " + " FROM Asistente a JOIN Nombramiento n ON a.id_asistente=n.id_asistente JOIN Encargado_Asistente ea ON a.id_asistente=ea.id_asistente " + " JOIN Encargado e ON ea.id_encargado=e.id_encargado JOIN Encargado_Unidad eu ON ea.id_encargado=eu.id_encargado JOIN Unidad u ON eu.id_unidad=u.id_unidad " + " JOIN Periodo p ON n.id_periodo=p.id_periodo WHERE p.habilitado=1 AND n.disponible=1 "; SqlCommand sqlCommand = new SqlCommand(consulta, sqlConnection); SqlDataReader reader; sqlConnection.Open(); reader = sqlCommand.ExecuteReader(); while (reader.Read()) { Nombramiento nombramiento = new Nombramiento(); nombramiento.idNombramiento = Convert.ToInt32(reader["id_nombramiento"].ToString()); nombramiento.recibeInduccion = Convert.ToBoolean(reader["induccion"].ToString()); nombramiento.aprobado = Convert.ToBoolean(reader["aprobado"].ToString()); nombramiento.cantidadHorasNombrado = Convert.ToInt32(reader["cantidad_horas"].ToString()); nombramiento.solicitud = Convert.ToInt32(reader["solicitud"].ToString()); Asistente asistente = new Asistente(); asistente.idAsistente = Convert.ToInt32(reader["id_asistente"].ToString()); asistente.nombreCompleto = reader["nombre_completo"].ToString(); asistente.carnet = reader["carnet"].ToString(); asistente.cantidadPeriodosNombrado = ObtenerCantidadAsistencias(asistente.idAsistente); nombramiento.asistente = asistente; Periodo periodo = new Periodo(); periodo.semestre = reader["semestre"].ToString(); periodo.anoPeriodo = Convert.ToInt32(reader["ano_periodo"].ToString()); nombramiento.periodo = periodo; Unidad unidad = new Unidad(); unidad.nombre = reader["unidad"].ToString(); unidad.idUnidad = Convert.ToInt32(reader["id_unidad"].ToString());; Encargado encargado = new Encargado(); encargado.nombreCompleto = reader["nombre_encargado"].ToString(); unidad.encargado = encargado; nombramiento.unidad = unidad; nombramientos.Add(nombramiento); } sqlConnection.Close(); return(nombramientos); }
/// <summary> /// Mariela Calvo /// Abril/2020 /// Efecto: Guardar un nuevo nombramiento para una unidad en especifico junto con sus archivos /// Requiere: - /// Modifica: /// Devuelve: - /// </summary> protected void guardarNombramiento_Click(object sender, EventArgs e) { if (validarNombramiento()) { string periodoSemestre = periodosDDL.SelectedValue.ToString(); int idAsistente = asistenteSelecionado.idAsistente; int idPeriodo = Convert.ToInt32(periodosDDL.SelectedValue); Periodo periodo = periodoServicios.ObtenerPeriodoPorId(idPeriodo); Asistente asistente = (asistenteServicios.ObtenerAsistentesXUnidad(unidadEncargado.idUnidad)).FirstOrDefault(a => a.idAsistente == idAsistente); /* INSERCIÓN NOMBRAMIENTO ASISTENTE */ Nombramiento nombramiento = new Nombramiento(); nombramiento.asistente = asistente; nombramiento.periodo = periodo; Unidad unidad = new Unidad(); unidad.idUnidad = unidadEncargado.idUnidad; nombramiento.unidad = unidad; nombramiento.aprobado = false; nombramiento.recibeInduccion = Convert.ToBoolean(ChckBxInduccion.Checked); nombramiento.cantidadHorasNombrado = Convert.ToInt32(txtHorasN.Text); int idNombramiento = nombramientoServicios.insertarNombramiento(nombramiento); nombramiento.idNombramiento = idNombramiento; /* INSERCIÓN ARCHIVOS DEL ASISTENTE */ int tipo = 1; List <FileUpload> listaArchivosInsertar = new List <FileUpload>(); listaArchivosInsertar.Add(fileExpediente); listaArchivosInsertar.Add(fileInforme); listaArchivosInsertar.Add(fileCV); listaArchivosInsertar.Add(fileCuenta); List <Archivo> listaArchivos = guardarArchivos(nombramiento, listaArchivosInsertar); foreach (Archivo archivo in listaArchivos) { archivo.tipoArchivo = tipo; int idArchivo = archivoServicios.insertarArchivo(archivo); archivoServicios.insertarArchivoNombramiento(idArchivo, idNombramiento); tipo++; } List <Nombramiento> listaAsistentes = asistenteServicios.ObtenerAsistentesXUnidadSinNombrar(unidadEncargado.idUnidad); Session["listaAsistentes"] = listaAsistentes; Session["listaAsistentesFiltrada"] = listaAsistentes; MostrarAsistentes(); ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.success('" + "El asistente " + nombramiento.asistente.nombreCompleto + " fue registrado exitosamente!');", true); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalNuevoNombramiento", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalNuevoNombramientohide();", true); } else { ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "Formulario Incompleto');", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalNuevoNombramiento();", true); } }
/// <summary> /// Mariela Calvo /// Abril/2020 /// Efecto: Visualmente elimina un asistente de una tarjeta /// Requiere: Clickear el boton "eliminar" de la tabla de nombramientos /// Modifica: - /// Devuelve: - /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnEditarNombramiento(object sender, EventArgs e) { int idNombramiento = Convert.ToInt32((((LinkButton)(sender)).CommandArgument).ToString()); List <Nombramiento> nombramientos = nombramientoServicios.ObtenerNombramientosPorUnidad(unidadEncargado.idUnidad); nombramientoSeleccionado = nombramientos.FirstOrDefault(a => a.idNombramiento == idNombramiento); List <Archivo> archivos = nombramientoSeleccionado.listaArchivos; asistenteSelecionado = nombramientoSeleccionado.asistente; int AS = nombramientoSeleccionado.asistente.idAsistente; txtHorasM.CssClass = "form-control"; txtAsistenteM.CssClass = "form-control"; txtPeriodoM.CssClass = "form-control"; txtUnidadM.CssClass = "form-control"; fileExpedienteM.CssClass = "form-control"; fileInformeM.CssClass = "form-control"; fileCVM.CssClass = "form-control"; fileCuenta.CssClass = "form-control"; foreach (Archivo archivo in archivos) { if (archivo.tipoArchivo == 2) { btnInforme.CommandArgument = archivo.idArchivo + ""; } if (archivo.tipoArchivo == 1) { btnExpediente.CommandArgument = archivo.idArchivo + ""; } if (archivo.tipoArchivo == 3) { btnCV.CommandArgument = archivo.idArchivo + ""; } if (archivo.tipoArchivo == 4) { btnCuenta.CommandArgument = archivo.idArchivo + ""; } } txtUnidadM.Text = unidadEncargado.nombre; checkBM.Checked = nombramientoSeleccionado.recibeInduccion; txtHorasM.Text = nombramientoSeleccionado.cantidadHorasNombrado + ""; txtPeriodoM.Text = nombramientoSeleccionado.periodo.semestre + " Semestre - " + nombramientoSeleccionado.periodo.anoPeriodo; txtAsistenteM.Text = nombramientoSeleccionado.asistente.nombreCompleto; ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalEditarNombramiento();", true); }
// <summary> // Mariela Calvo // Abril/2019 // Efecto: Actualiza un Nombramiento de la base de datos // Requiere: Nombramiento // Modifica: - // Devuelve: - // </summary> // <param name="Unidad"></param> public void EditarNombramiento(Nombramiento nombramiento) { SqlConnection sqlConnection = conexion.ConexionControlAsistentes(); SqlCommand sqlCommand = new SqlCommand("update Nombramiento set cantidad_horas=@horas_, induccion=@induccion_ where id_nombramiento=@id_nombramiento_;", sqlConnection); sqlCommand.Parameters.AddWithValue("@id_nombramiento_", nombramiento.idNombramiento); sqlCommand.Parameters.AddWithValue("@induccion_", nombramiento.recibeInduccion); sqlCommand.Parameters.AddWithValue("@horas_", nombramiento.cantidadHorasNombrado); sqlConnection.Open(); sqlCommand.ExecuteScalar(); sqlConnection.Close(); }
/// <summary> /// Mariela Calvo /// Abril/2020 /// Efecto: Guardar los archivos del nombramiento del asistente /// Requiere: - /// Modifica: /// Devuelve: - /// </summary> public List <Archivo> guardarArchivos(Nombramiento nombramiento, List <FileUpload> files) { List <Archivo> listaArchivos = new List <Archivo>(); String archivosRepetidos = ""; foreach (FileUpload archivo in files) { foreach (HttpPostedFile file in archivo.PostedFiles) { String nombreArchivo = Path.GetFileName(file.FileName); nombreArchivo = nombreArchivo.Replace(' ', '_'); DateTime fechaHoy = new DateTime(); fechaHoy = DateTime.Now; String carpeta = nombramiento.asistente.nombreCompleto + "-" + nombramiento.periodo.semestre + "_" + nombramiento.periodo.anoPeriodo; int guardado = Utilidades.SaveFile(file, fechaHoy.Year, nombreArchivo, carpeta); if (guardado == 0) { Archivo archivoNuevo = new Archivo(); archivoNuevo.nombreArchivo = nombreArchivo; archivoNuevo.rutaArchivo = Utilidades.path + fechaHoy.Year + "\\" + carpeta + "\\" + nombreArchivo; archivoNuevo.fechaCreacion = fechaHoy; archivoNuevo.creadoPor = "Mariela Calvo";//Session["nombreCompleto"].ToString(); listaArchivos.Add(archivoNuevo); } else { archivosRepetidos += "* " + nombreArchivo + ", \n"; } } } if (archivosRepetidos.Trim() != "") { archivosRepetidos = archivosRepetidos.Remove(archivosRepetidos.Length - 3); ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "Los archivos " + archivosRepetidos + " no se pudieron guardar porque ya había archivos con ese nombre');", true); } return(listaArchivos); }
/// <summary> /// Mariela Calvo /// Abril/2020 /// Efecto: Visualmente elimina un asistente de una tarjeta /// Requiere: Clickear el boton "eliminar" de la tabla de nombramientos /// Modifica: - /// Devuelve: - /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnEliminarNombramiento(object sender, EventArgs e) { int idNombramiento = Convert.ToInt32((((LinkButton)(sender)).CommandArgument).ToString()); List <Nombramiento> nombramientos = nombramientoServicios.ObtenerNombramientosPorUnidad(unidadEncargado.idUnidad); nombramientoSeleccionado = nombramientos.FirstOrDefault(a => a.idNombramiento == idNombramiento); txtCarneE.CssClass = "form-control"; txtHorasNE.CssClass = "form-control"; txtPeriodosNE.CssClass = "form-control"; txtPeriodoNE.CssClass = "form-control"; txtCarneE.Text = nombramientoSeleccionado.asistente.carnet; txtHorasNE.Text = nombramientoSeleccionado.cantidadHorasNombrado + ""; txtPeriodosNE.Text = nombramientoSeleccionado.asistente.cantidadPeriodosNombrado + ""; txtPeriodoNE.Text = nombramientoSeleccionado.periodo.semestre + " Semestre - " + nombramientoSeleccionado.periodo.anoPeriodo; lbNombreAsistente.Text = nombramientoSeleccionado.asistente.nombreCompleto; ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalEliminarNombramiento();", true); }
public Nombramiento ObtenerDetallesNombramiento(int idNombramiento) { Nombramiento nombramiento = new Nombramiento(); SqlConnection sqlConnection = conexion.ConexionControlAsistentes(); String consulta = @"SELECT n.solicitud,n.observaciones, a.id_asistente, a.nombre_completo, n.aprobado FROM Nombramiento n JOIN Asistente a ON n.id_asistente=a.id_asistente WHERE n.disponible=1 AND a.disponible=1 AND n.id_nombramiento=@idNombramiento"; SqlCommand sqlCommand = new SqlCommand(consulta, sqlConnection); sqlCommand.Parameters.AddWithValue("@idNombramiento", idNombramiento); SqlDataReader reader; sqlConnection.Open(); reader = sqlCommand.ExecuteReader(); while (reader.Read()) { nombramiento.idNombramiento = idNombramiento; nombramiento.observaciones = reader["observaciones"].ToString(); nombramiento.aprobado = Convert.ToBoolean(reader["aprobado"].ToString()); nombramiento.solicitud = Convert.ToInt32(reader["solicitud"].ToString()); Asistente asistente = new Asistente(); asistente.idAsistente = Convert.ToInt32(reader["id_asistente"].ToString()); asistente.nombreCompleto = reader["nombre_completo"].ToString(); asistente.cantidadPeriodosNombrado = ObtenerCantidadAsistencias(asistente.idAsistente); nombramiento.asistente = asistente; nombramiento.solicitud = Convert.ToInt32(reader["solicitud"].ToString()); } sqlConnection.Close(); return(nombramiento); }
/// <summary> /// Mariela Calvo /// Abril/2020 /// Efecto: Guardar un nuevo nombramiento para una unidad en especifico junto con sus archivos /// Requiere: - /// Modifica: /// Devuelve: - /// </summary> protected void editarNombramiento_Click(object sender, EventArgs e) { nombramientoSeleccionado.listaArchivos = archivoServicios.ObtenerArchivosAsistente(nombramientoSeleccionado.idNombramiento, nombramientoSeleccionado.periodo.idPeriodo); int editado = 0; if (validarEditarNombramiento()) { /* INSERCIÓN NOMBRAMIENTO ASISTENTE */ Nombramiento nombramiento = nombramientoSeleccionado; nombramiento.recibeInduccion = checkBM.Checked; nombramiento.cantidadHorasNombrado = Convert.ToInt32(txtHorasM.Text); nombramientoServicios.EditarNombramiento(nombramiento); List <FileUpload> listaArchivosEditar = new List <FileUpload>(); List <int> tipoArchivos = new List <int>(); if (fileExpedienteM.HasFiles) { listaArchivosEditar.Add(fileExpedienteM); tipoArchivos.Add(1); } if (fileInformeM.HasFiles) { listaArchivosEditar.Add(fileInformeM); tipoArchivos.Add(2); } if (fileCVM.HasFiles) { listaArchivosEditar.Add(fileCVM); tipoArchivos.Add(3); } if (fileCuentaM.HasFiles) { listaArchivosEditar.Add(fileCVM); tipoArchivos.Add(4); } if (listaArchivosEditar.Count > 0) { foreach (FileUpload fileUp in listaArchivosEditar) { foreach (int tipo in tipoArchivos) { editado = editarArchivos(nombramientoSeleccionado, fileUp, tipo); } } } List <Nombramiento> listaAsistentes = asistenteServicios.ObtenerAsistentesXUnidadSinNombrar(unidadEncargado.idUnidad); Session["listaAsistentes"] = listaAsistentes; Session["listaAsistentesFiltrada"] = listaAsistentes; MostrarAsistentes(); ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.success('" + "Se editó el nombramiento del asistente " + nombramiento.asistente.nombreCompleto + " exitosamente!);", true); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalNuevoNombramiento", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalNuevoNombramientohide();", true); } else { ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "Formulario Incompleto! );", true); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalNuevoNombramiento", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalNuevoNombramiento').hide();", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalNuevoNombramiento();", true); } }
public void EditarNombramiento(Nombramiento nombramiento) { nombramientoDatos.EditarNombramiento(nombramiento); }
public int insertarNombramiento(Nombramiento nombramiento) { return(nombramientoDatos.insertarNombramientoAsistente(nombramiento)); }
/// <summary> /// Mariela Calvo /// Mayo/2020 /// Efecto: Obtiene los asistentes de acuerdo a su Unidad /// Requiere: - /// Modifica: /// Devuelve: Lista de asistentes /// </summary> public List <Nombramiento> ObtenerNombramientosReporte(int idUnidad, int idPeriodo) { SqlConnection sqlConnection = conexion.ConexionControlAsistentes(); List <Nombramiento> nombramientos = new List <Nombramiento>(); String consulta = @"SELECT a.id_asistente, a.nombre_completo,a.carnet,a.cantidad_periodos_nombrado, ea.id_encargado,e.nombre_completo as encargado, eu.id_unidad,u.nombre, p.id_periodo, p.semestre, p.ano_periodo, n.id_nombramiento, n.cantidad_horas 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 "; 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"; } 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"; } 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"; } 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"; } 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()) { Nombramiento nombramiento = new Nombramiento(); nombramiento.idNombramiento = Convert.ToInt32(reader["id_nombramiento"].ToString()); nombramiento.cantidadHorasNombrado = Convert.ToInt32(reader["cantidad_horas"].ToString()); Asistente asistente = new Asistente(); asistente.idAsistente = Convert.ToInt32(reader["id_asistente"].ToString()); asistente.nombreCompleto = reader["nombre_completo"].ToString(); asistente.carnet = reader["carnet"].ToString(); asistente.cantidadPeriodosNombrado = ObtenerCantidadAsistencias(asistente.idAsistente); nombramiento.asistente = asistente; Periodo periodo = new Periodo(); periodo.idPeriodo = periodo.anoPeriodo = Convert.ToInt32(reader["id_periodo"].ToString()); periodo.semestre = reader["semestre"].ToString(); periodo.anoPeriodo = Convert.ToInt32(reader["ano_periodo"].ToString()); nombramiento.periodo = periodo; Unidad unidad = new Unidad(); unidad.nombre = reader["nombre"].ToString(); unidad.idUnidad = idUnidad; Encargado encargado = new Encargado(); encargado.nombreCompleto = reader["encargado"].ToString(); unidad.encargado = encargado; nombramiento.unidad = unidad; List <Archivo> archivos = new List <Archivo>(); archivos = archivoDatos.getArchivosAsistente(asistente.idAsistente, periodo.idPeriodo); nombramiento.listaArchivos = archivos; nombramientos.Add(nombramiento); } sqlConnection.Close(); return(nombramientos); }