//Igual que la anterior función pero mas resumida y hecha de otra forma sin un for each public Categoria DevolverTestsCategoria2(int idCategoria, out string msg) { CategoriasRow drCategoria = ds.Categorias.FindByIdCategoria(idCategoria); if (drCategoria == null) { msg = "No existe la categoría"; return(null); } List <CategoriasTestsRow> drCategoriasTest = drCategoria.GetCategoriasTestsRows().ToList(); if (drCategoriasTest.Count == 0) { msg = "Esta categoría no tiene tests"; return(null); } var listTest = (from drcatTest in drCategoriasTest select new Test(drcatTest.IdTest, drcatTest.TestRow.Descripcion, (from drPregunta in drcatTest.TestRow.GetPreguntasRows() select new Pregunta(drPregunta.IdPregunta, drPregunta.Enunciado, drPregunta.RespV)).ToList())).ToList(); Categoria nuevaCategoria = new Categoria(drCategoria.IdCategoria, drCategoria.Descripcion, listTest); msg = ""; return(nuevaCategoria); }
public Categoria DevolverTestsCategoria(int idCategoria, out string msg) { CategoriasRow drCategoria = ds.Categorias.FindByIdCategoria(idCategoria); if (drCategoria == null) { msg = "No existe la categoría"; return(null); } List <CategoriasTestsRow> drCategoriasTest = drCategoria.GetCategoriasTestsRows().ToList(); var listTest = (from drcatTest in drCategoriasTest select new Test(drcatTest.IdTest, drcatTest.TestRow.Descripcion)).ToList(); if (listTest.Count == 0) { msg = "Esta categoría no tiene tests"; return(null); } foreach (var test in listTest) { TestRow drTest = ds.Test.FindByIdTest(test.idTest); List <PreguntasRow> drPreguntas = drTest.GetPreguntasRows().ToList(); List <Pregunta> listPreguntas = (from drPregunta in drPreguntas select new Pregunta(drPregunta.IdPregunta, drPregunta.Enunciado, drPregunta.RespV)).ToList(); if (listPreguntas.Count != 0) { foreach (var pregunta in listPreguntas) { test.preguntasTest.Add(pregunta); } } } Categoria nuevaCategoria = new Categoria(drCategoria.IdCategoria, drCategoria.Descripcion, listTest); msg = ""; return(nuevaCategoria); }