public DocentesCursos GetAll()
        {
            SqlConnection oCnn = this.CreateConnection();
            using (oCnn)
            {
                oCnn.Open();

                SqlCommand oCmd = new SqlCommand();
                using (oCmd)
                {
                    oCmd.Connection = oCnn;

                    oCmd.CommandType = CommandType.StoredProcedure;
                    oCmd.CommandText = "docentesCursosGetAll";

                    DocentesCursos oDocentes_Cursos = new DocentesCursos();

                    try
                    {
                        SqlDataReader oReader = oCmd.ExecuteReader();
                        using (oCnn)
                        {
                            while (oReader.Read())
                            {
                                DocenteCurso oDocente_Curso = new DocenteCurso();

                                oDocente_Curso.ID = Convert.ToInt32(oReader["id_dictado"]);
                                oDocente_Curso.IDCurso = Convert.ToInt32(oReader["id_curso"]);
                                oDocente_Curso.IDDocente = Convert.ToInt32(oReader["id_docente"]);
                                oDocente_Curso.Cargo = (DocenteCurso.TiposCargos)Convert.ToInt32(oReader["cargo"]);

                                oDocentes_Cursos.Add(oDocente_Curso);
                                oDocente_Curso = null;
                            }
                            return oDocentes_Cursos;
                        }
                    }
                    catch (Exception Ex)
                    {
                        Exception ExcepcionManejada =
                        new Exception("Error al recuperar lista de Docentes_Cursos", Ex);
                        throw ExcepcionManejada;
                    }
                    finally
                    {
                        oDocentes_Cursos = null;
                    }
                }
            }
        }
        public DocentesCursos GetAllPorCurso(int id)
        {
            SqlConnection oCnn = this.CreateConnection();
            using (oCnn)
            {
                oCnn.Open();

                SqlCommand oCmd = new SqlCommand();
                using (oCmd)
                {
                    oCmd.Connection = oCnn;

                    oCmd.CommandType = CommandType.StoredProcedure;
                    oCmd.CommandText = "docentesCursosGetAllPorCurso";

                    oCmd.Parameters.AddWithValue("@id_curso", id);

                    //Aunque debemos buscar solo un elemento, siempre devolvemos
                    //una colección. Es más fácil de manipular y controlar
                    DocentesCursos oDocentes_Cursos = new DocentesCursos();

                    //No retornamos DataSets, siempre utilizamos objetos para hacernos
                    //independientes de la estructura de las tablas en el resto
                    //de las capas. Para ellos leemos con el DataReader y creamos
                    //los objetos asociados que se esperan
                    try
                    {
                        //Ejecutamos el comando y retornamos los valores
                        SqlDataReader oReader = oCmd.ExecuteReader();
                        using (oReader)
                        {
                            while (oReader.Read())
                            {
                                //si existe algun valor, creamos el objeto y lo almacenamos en la colección
                                DocenteCurso oDocente_Curso = new DocenteCurso();

                                oDocente_Curso.ID = Convert.ToInt32(oReader["id_dictado"]);
                                oDocente_Curso.IDCurso = Convert.ToInt32(oReader["id_curso"]);
                                oDocente_Curso.IDDocente = Convert.ToInt32(oReader["id_docente"]);
                                oDocente_Curso.Cargo = (DocenteCurso.TiposCargos)Convert.ToInt32(oReader["cargo"]);

                                //Agregamos el objeto a la coleccion de resultados
                                oDocentes_Cursos.Add(oDocente_Curso);

                                oDocente_Curso = null;
                            }
                            //retornamos los valores encontrados
                            return oDocentes_Cursos;
                        }
                    }
                    catch (Exception Ex)
                    {
                        Exception ExcepcionManejada = new Exception("Error al recuperar datos del Docente_Curso", Ex);
                        throw ExcepcionManejada;
                    }
                    finally
                    {
                        //liberamos la memoria utilizada por los objetos
                        oDocentes_Cursos = null;
                    }
                }
            }
        }