/// <summary> /// Inserta una nueva residencia en la base de datos. /// </summary> /// <param name="residencia"></param> /// Contiene los datos que constituyen a una residencia. /// <returns> /// Retorna -1 si la sentencia no se ejecuto correctamente. /// </returns> public static int InsertarResidencia(ResidenciaPOJO residencia) { try { Conexion con = new Conexion(); MySqlCommand cmd = new MySqlCommand("INSERT INTO inforesidencia VALUES(null,@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10); SELECT last_insert_id();"); cmd.Parameters.AddWithValue("@P1", residencia.NombreProyec); cmd.Parameters.AddWithValue("@P2", residencia.Modalidad); cmd.Parameters.AddWithValue("@P3", residencia.Periodo); cmd.Parameters.AddWithValue("@P4", residencia.Anio); cmd.Parameters.AddWithValue("@P5", residencia.AsesorExt); cmd.Parameters.AddWithValue("@P6", residencia.PuestoAsesor); cmd.Parameters.AddWithValue("@P7", residencia.Responsable); cmd.Parameters.AddWithValue("@P8", residencia.PuestoResp); cmd.Parameters.AddWithValue("@P9", residencia.IdEmpresa); cmd.Parameters.AddWithValue("@P10", residencia.IdAlumno); return(con.ejecutarSentencia(cmd, true)); } catch (Exception ex) { Console.WriteLine(ex.Message); return(-1); } finally { if (Conexion.conexion != null) { Conexion.conexion.Close(); } } }
/// <summary> /// Evento capaz de abrir la ventana FrmLiberacionFinalDetalle /// utilizando la residencia seleccionada de la lista. /// </summary> private void btnLiberar_Click(object sender, EventArgs e) { ResidenciaPOJO res = ResidenciaDAO.ObtenerResidenciaXMatricula(dgvLista.CurrentRow.Cells[0].Value.ToString()); FrmLiberacionFinalDetalle frmMostrar = new FrmLiberacionFinalDetalle(res, doce.ID); frmMostrar.FormClosed += new FormClosedEventHandler(cargarDatos); frmMostrar.Show(); }
/// <summary> /// Llena los componentes encargados de mostrar los datos /// necesarios para la liberación final. /// </summary> /// <param name="res"></param> /// Residencias previamente seleccionada. /// <param name="idDocente"></param> /// Identificador del docente. public FrmLiberacionFinalDetalle(ResidenciaPOJO res, String idDocente) { InitializeComponent(); resi = res; doce = DocenteDAO.ObtenerDocente(idDocente); AlumnoPOJO al = AlumnoDAO.ObtenerAlumno(res.IdAlumno); txtCarrera.Text = CarreraDAO.ObtenerUno(al.Carrera).Nombre; txtNoControl.Text = al.Matricula; txtNombre.Text = al.NombreCompleto; txtSemestre.Text = al.Semestre + ""; }
/// <summary> /// Llena la tabla con las solicitudes obtenidas a través /// de la consulta a la base de datos. /// </summary> private void cargarDatos(object sender, FormClosedEventArgs e) { List <SolicitudPOJO> solicitudes = SolicitudDAO.ObtenerSolicitudesPendientes(); List <TablaSolicitudes> listaTabla = new List <TablaSolicitudes>(); for (int i = 0; i < solicitudes.Count; i++) { AlumnoPOJO objAlum = AlumnoDAO.ObtenerAlumno(solicitudes[i].IdAlumno); ResidenciaPOJO objResidencia = ResidenciaDAO.ObtenerResidencia(solicitudes[i].IdResidencia); EmpresaPOJO objEmpresa = EmpresaDAO.ObtenerEmpresa(objResidencia.IdEmpresa); listaTabla.Add(new TablaSolicitudes(objAlum.Matricula, objAlum.NombreCompleto, objAlum.Semestre, objResidencia.NombreProyec, objResidencia.Modalidad, objResidencia.Periodo, objEmpresa.Nombre)); } dgvLista.DataSource = null; dgvLista.DataSource = listaTabla; }
/// <summary> /// Llena la tabla con los datos obtenidos a través de la /// consulta. /// </summary> private void cargarDatos() { dgvLista.DataSource = null; List <DictamenPOJO> dictamenes = DictamenDAO.ObtenerProyectosTerminados(); for (int i = 0; i < dictamenes.Count; i++) { TablaResumenPOJO elemento = new TablaResumenPOJO(); DictamenPOJO dic = new DictamenPOJO(); ResidenciaPOJO res = ResidenciaDAO.ObtenerResidencia(dictamenes[i].IdResidencia); List <DictamenPOJO> revisores = DictamenDAO.ObtenerDictamenesRevisores(res.ID); elemento.DictamenFinal = dictamenes[i].Estatus; elemento.Calificacion = dictamenes[i].Calificacion; elemento.Proyecto = res.NombreProyec; elemento.Empresa = EmpresaDAO.ObtenerEmpresa(res.IdEmpresa).Nombre; elemento.NombreAlumno = AlumnoDAO.ObtenerAlumno(res.IdAlumno).NombreCompleto; elemento.Matricula = res.IdAlumno; dic = DictamenDAO.ObtenerDictamenAsesor(res.ID); elemento.Asesor = DocenteDAO.ObtenerDocente(dic.IdDocente).NombreCompleto; elemento.DictamenAsesor = dic.Estatus; elemento.ComentarioAsesor = dic.Comentario; for (int j = 0; j < revisores.Count; j++) { if (j == 0) { elemento.Revisor1 = DocenteDAO.ObtenerDocente(revisores[j].IdDocente).NombreCompleto; elemento.DictamenRevisor1 = revisores[j].Estatus; elemento.ComentarioRevisor1 = revisores[j].Comentario; } else { elemento.Revisor2 = DocenteDAO.ObtenerDocente(revisores[j].IdDocente).NombreCompleto; elemento.DictamenRevisor2 = revisores[j].Estatus; elemento.ComentarioRevisor2 = revisores[j].Comentario; } } tabla.Add(elemento); } dgvLista.DataSource = tabla; }
/// <summary> /// Remplaza a la residencia ubicada en la base de datos por la /// residencia ingresada como parametro. /// </summary> /// <param name="residencia"></param> /// Contiene los datos de la residencia que remplazará a la /// residencia almacenada. /// <returns> /// Retorna true si la sentencia se ejecuto correctamente, /// de otro modo retorna false. /// </returns> public static bool ActualizarResidencia(ResidenciaPOJO residencia) { try { Conexion con = new Conexion(); MySqlCommand cmd = new MySqlCommand("UPDATE inforesidencia SET NombreProyecto=@P1, Modalidad=@P2, " + "Periodo=@P3, Anio=@P4, AsesorExt=@P5, PuestoAsesor=@P6, Responsable=@P7, PuestoRespo=@P8, " + "IdEmpresa=@P9, IdAlumno=@P10 WHERE ID=@P0"); cmd.Parameters.AddWithValue("@P0", residencia.ID); cmd.Parameters.AddWithValue("@P1", residencia.NombreProyec); cmd.Parameters.AddWithValue("@P2", residencia.Modalidad); cmd.Parameters.AddWithValue("@P3", residencia.Periodo); cmd.Parameters.AddWithValue("@P4", residencia.Anio); cmd.Parameters.AddWithValue("@P5", residencia.AsesorExt); cmd.Parameters.AddWithValue("@P6", residencia.PuestoAsesor); cmd.Parameters.AddWithValue("@P7", residencia.Responsable); cmd.Parameters.AddWithValue("@P8", residencia.PuestoResp); cmd.Parameters.AddWithValue("@P9", residencia.IdEmpresa); cmd.Parameters.AddWithValue("@P10", residencia.IdAlumno); con.ejecutarSentencia(cmd, false); return(true); } catch (Exception ex) { Console.WriteLine(ex.Message); return(false); } finally { if (Conexion.conexion != null) { Conexion.conexion.Close(); } } }
/// <summary> /// Almacena todos los cambios realizados en la /// base de datos. /// </summary> private void btnGuardarCambios_Click(object sender, EventArgs e) { if (spnCalificacionFinal.Enabled == false) { DialogResult dr = MessageBox.Show("¿Mantener los cambios realizados?", "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.No) { return; } for (int i = 3; i < 9; i++) { if (tablaDocumentos[1, (i - 3)].Value.Equals(true)) { EntregaDAO.CambiarEstadoDocumento("Entregado", matricula, i); } else { EntregaDAO.CambiarEstadoDocumento("Pendiente", matricula, i); } } MessageBox.Show("Documentos guardados con exito", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); btnGuardarCambios.Enabled = false; entregoTodos(); } else if (spnCalificacionFinal.Enabled == true) { DialogResult dr = MessageBox.Show("Crear el dictamen \"liberación asesor\" con una calificación final de " + spnCalificacionFinal.Value, "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.No) { return; } ResidenciaPOJO residencia = ResidenciaDAO.ObtenerResidenciaXMatricula(matricula); String estatus; if (spnCalificacionFinal.Value >= 70) { estatus = "Aceptado"; } else { estatus = "Rechazado"; } String fecha = DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day; DictamenPOJO nuevoDictamen = new DictamenPOJO(0, residencia.ID, idDocente, "LiberacionAsesor", estatus, txtaComentario.Text, int.Parse(spnCalificacionFinal.Value + ""), DateTime.Parse(fecha)); DictamenDAO.InsertarDictamen(nuevoDictamen); MessageBox.Show("Dictamen creado con exito", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); llenarTablaAlumno(); bloquearDesbloquear(false); btnGuardarCambios.Enabled = false; spnCalificacionFinal.Value = 0; limpiarChecks(); tablaDocumentos.Enabled = false; if (tablaAlumnos.Rows.Count == 0) { lblNombreAlumno.Text = "NO HAY ASESORADOS CON DOCUMENTACIÓN PENDIENTE"; btnCorregir.Visible = false; tablaAlumnos.Enabled = false; } else { tablaAlumnos.Rows[0].Selected = true; llenarEspacios(0); //lblNombreAlumno.Text = "SELECCIONE UN ALUMNO"; btnGuardarCambios.Enabled = true; } } }
/// <summary> /// Llena los componentes encargados de mostrar los datos /// de la solicitud seleccionada previamente. /// </summary> private void cargarDatos() { AlumnoPOJO objAlum = AlumnoDAO.ObtenerAlumno(Solicitud.IdAlumno); ResidenciaPOJO objResidencia = ResidenciaDAO.ObtenerResidencia(Solicitud.IdResidencia); EmpresaPOJO objEmpresa = EmpresaDAO.ObtenerEmpresa(objResidencia.IdEmpresa); txtResNoControl.Text = objAlum.Matricula; txtResNombre.Text = objAlum.NombreCompleto; cmbResCarrera.Text = CarreraDAO.ObtenerUno(objAlum.Carrera).Nombre; txtResDomicilio.Text = objAlum.Domicilio; txtResCiudad.Text = objAlum.Ciudad; txtResEmail.Text = objAlum.Correo; txtResTelefono.Text = objAlum.Telefono; if (objAlum.TipoSS == "IMSS") { rbtnResSSIMSS.Checked = true; } else if (objAlum.TipoSS == "ISSSTE") { rbtnResSSISSSTE.Checked = true; } else { rbtnResSSOtro.Checked = true; } txtResSSNumero.Text = objAlum.NumeroSS + ""; txtProNombre.Text = objResidencia.NombreProyec; if (objResidencia.Modalidad == "Banco de proyectos") { rbtnProTipoBanco.Checked = true; } else if (objResidencia.Modalidad == "Propuesta propia") { rbtnProTipoPropia.Checked = true; } else { rbtnProTipoTrabajador.Checked = true; } cmbProPeriodo.Text = objResidencia.Periodo; txtEmpRFC.Text = objEmpresa.RFC; txtEmpNombre.Text = objEmpresa.Nombre; if (objEmpresa.Giro == "Industrial") { rbtnEmpGiroIndustrial.Checked = true; } else if (objEmpresa.Giro == "Servicios") { rbtnEmpGiroServicios.Checked = true; } else { rbtnEmpGiroOtro.Checked = true; } if (objEmpresa.Sector == "Publico") { rbtnEmpTipoPublica.Checked = true; } else { rbtnEmpTipoPrivada.Checked = true; } txtEmpDomicilio.Text = objEmpresa.Domicilio; txtEmpColonia.Text = objEmpresa.Colonia; txtEmpCP.Text = objEmpresa.CP; txtEmpFax.Text = objEmpresa.Fax; txtEmpCiudad.Text = objEmpresa.Ciudad; txtEmpTelefono.Text = objEmpresa.Telefono; txtEmpMision.Text = objEmpresa.Mision; txtEmpTitularNombre.Text = objEmpresa.Titular; txtEmpTitularPuesto.Text = objEmpresa.PuestoTit; txtEmpFirmaNombre.Text = objResidencia.Responsable; txtEmpFirmaPuesto.Text = objResidencia.PuestoResp; txtEmpAsesorNombre.Text = objResidencia.AsesorExt; txtEmpAsesorPuesto.Text = objResidencia.PuestoAsesor; }