public void registrarSolicitudTema(SolicitudTema obj, SqlConnection conexion, SqlTransaction transaccion)
        {
            String     nombreProcedure = "REGISTRAR_SOLICITUD_TEMA";
            SqlCommand comando         = new SqlCommand(nombreProcedure, conexion);

            if (transaccion != null)
            {
                comando.Transaction = transaccion;
            }
            comando.CommandType = System.Data.CommandType.StoredProcedure;
            comando.Parameters.AddWithValue("@SOLICITUD_ID", obj.solicitud.id);
            comando.Parameters.AddWithValue("@TEMA_ID", obj.tema.id);
            comando.ExecuteNonQuery();
        }
        private Solicitud generarSolicitud()
        {
            Solicitud solicitud = new Solicitud();

            if (alumno.id == 0)
            {
                MessageBox.Show("Debe seleccionar primero un alumno ");
                return(null);
            }
            if (txtNombreTesis.Text == String.Empty || txtNombreTesis.Text.Equals(""))
            {
                MessageBox.Show("Debe seleccionar escribir el nombre de la tesis ");
                return(null);
            }
            if (listBoxTemas.SelectedItems.Count == 0)
            {
                MessageBox.Show("Debe seleccionar por lo menos un tema de la tesis");
                return(null);
            }
            solicitud.alumno             = alumno;
            solicitud.fechaEmision       = dtFechaSolicitud.Value;
            solicitud.observaciones      = txtObservaciones.Text;
            solicitud.nombreTesis        = txtNombreTesis.Text;
            solicitud.codigoAlumnoSol    = alumno.codigo;
            solicitud.nombreSol          = alumno.nombre;
            solicitud.apellidosSol       = alumno.apellidos;
            solicitud.programaPostGrado  = alumno.programaPostGrado.nombrePrograma;
            solicitud.numeroDocumentoSol = alumno.numeroDocumento;
            solicitud.tipoDocumentoSol   = alumno.tipoDocumento;
            solicitud.gradoAcademicoSol  = alumno.gradoAcademico;
            solicitud.urlTesis           = txtRutaArchivo.Text;
            solicitud.nombreArchivo      = nombreArchivo;
            foreach (object obj in listBoxTemas.CheckedItems)
            {
                TemaTesis     tesis         = (TemaTesis)obj;
                SolicitudTema solicitudTema = new SolicitudTema();
                solicitudTema.tema      = tesis;
                solicitudTema.solicitud = solicitud;
                solicitud.temas.Add(solicitudTema);
            }

            return(solicitud);
        }
        public List <SolicitudTema> obtenerTemasPorSolicitud(Solicitud obj, SqlConnection conexion)
        {
            String     nombreProcedure = "OBTENER_TEMAS_POR_SOLICITUD";
            SqlCommand comando         = new SqlCommand(nombreProcedure, conexion);

            comando.CommandType = System.Data.CommandType.StoredProcedure;
            comando.Parameters.AddWithValue("@SOLICITUD_ID", obj.id);
            SqlDataReader        lector = comando.ExecuteReader();
            List <SolicitudTema> data   = new List <SolicitudTema>();

            if (lector.HasRows)
            {
                while (lector.Read())
                {
                    SolicitudTema tesis = new SolicitudTema();
                    tesis.tema.nombre = lector["NOMBRE"].ToString();
                    data.Add(tesis);
                }
            }
            lector.Close();
            lector.Dispose();
            comando.Dispose();
            return(data);
        }