public IHttpActionResult GetModulo(int id) { ModuloDTO moduloDTO = new ModuloDTO(); Modulo modulo = db.Modulo.Find(id); if (modulo != null) { moduloDTO.ModId = modulo.ModId; moduloDTO.ModCategroria = (from m in db.Modulo join mc in db.ModuloCategoria on m.ModCatId equals mc.ModCatId where m.ModId == id select mc.ModCatNombre).FirstOrDefault().ToString(); moduloDTO.ModNivel = (from m in db.Modulo join mn in db.ModuloNivel on m.ModNivelId equals mn.ModNivelId where m.ModId == id select mn.ModNivelNombre).FirstOrDefault().ToString(); moduloDTO.ModNombre = modulo.ModNombre; moduloDTO.ModNumHoras = modulo.ModNumHoras; moduloDTO.ModNumMes = modulo.ModNumMes; moduloDTO.ModNumCursos = modulo.ModNumCursos; moduloDTO.Cursos = (from m in db.ModuloCurso join c in db.Curso on m.CurId equals c.CurId where m.ModId == id select new CursoDTO { CurId = c.CurId, CurName = c.CurName, CurNumHoras = c.CurNumHoras, CurPrecio = c.CurPrecio, }).ToList(); } if (id == 0) { moduloDTO.Cursos = new List<CursoDTO>(); moduloDTO.Cursos.Add(new CursoDTO()); return Ok(moduloDTO); } if (modulo == null && id != 0) { string message = string.Format("No se encontro el modulo con id = {0}.", id.ToString()); throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.NotFound, message)); } return Ok(moduloDTO); }
// GET: api/Modulo public List<ModuloDTO> GetModulos() { try { List<ModuloDTO> ModulosNestedList = new List<ModuloDTO>(); foreach (var modulocurso in db.Modulo) { ModuloDTO moduloDTO = new ModuloDTO(); moduloDTO.ModId = modulocurso.ModId; moduloDTO.ModCategroria = (from m in db.Modulo join mc in db.ModuloCategoria on m.ModCatId equals mc.ModCatId where m.ModId == modulocurso.ModId select mc.ModCatNombre).FirstOrDefault().ToString(); moduloDTO.ModNivel = (from m in db.Modulo join mn in db.ModuloNivel on m.ModNivelId equals mn.ModNivelId where m.ModId == modulocurso.ModId select mn.ModNivelNombre).FirstOrDefault().ToString(); moduloDTO.ModNombre = modulocurso.ModNombre; moduloDTO.ModNumHoras = modulocurso.ModNumHoras; moduloDTO.ModNumMes = modulocurso.ModNumMes; moduloDTO.ModNumCursos = modulocurso.ModNumCursos; moduloDTO.Cursos = (from m in db.ModuloCurso join c in db.Curso on m.CurId equals c.CurId where m.ModId == modulocurso.ModId select new CursoDTO { CurId = c.CurId, CurName = c.CurName, CurNumHoras = c.CurNumHoras == null ? 0 : c.CurNumHoras, CurPrecio = c.CurPrecio == null ? (decimal)0.00 : c.CurPrecio, }).ToList(); ModulosNestedList.Add(moduloDTO); } return ModulosNestedList; } catch (Exception ex) { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); } }