コード例 #1
0
        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);
        }
コード例 #2
0
        // 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));
            }
        }