// PUT: api/Imagens/5 public IHttpActionResult Put(int id, [FromBody] Models.ImagensNova model) { if (!ModelState.IsValid) { // O BadRequest permite usar o ModelState // para informar o cliente dos erros de validaçãow // tal como no MVC. return(BadRequest(ModelState)); } // Verificar se existe referencia para este id if (id > db.Noticia.Select(not => not.NoticiasID).Max()) { return(BadRequest("Sorry, seems something wrong. Couldn't determine record to update.")); } var imagem = (from img in db.Imagem where img.ImagemID == id select img).FirstOrDefault(); imagem.Descricao = model.Descricao; imagem.Directorio = model.Directorio; imagem.NoticiaFK = model.NoticiaFK; imagem.Tipo = model.Tipo; db.Entry(imagem); try { db.SaveChanges(); } catch (DbUpdateConcurrencyException exp) { if (!(db.Imagem.Count(e => e.ImagemID == id) > 0)) { return(NotFound()); } else { throw exp; } } return(Ok(model)); }
public IHttpActionResult Post([FromBody] Models.ImagensNova model) { if (!ModelState.IsValid) { // O BadRequest permite usar o ModelState // para informar o cliente dos erros de validação // tal como no MVC. return(BadRequest(ModelState)); } var ID = db.Imagem.Select(id => id.ImagemID).Max() + 1; var imagem = new Models.ImagensNova { ImagemID = ID, NoticiaFK = model.NoticiaFK, Tipo = model.Tipo, Descricao = model.Descricao, Directorio = model.Directorio }; db.Imagem.Add(imagem); try { db.SaveChanges(); } catch (DbUpdateException exp) { // Seria muito provável que o método // db.Agentes.Max(agente => agente.ID) + 1 // fizesse com que este if resultasse no Conflict (HTTP 409). if (db.Imagem.Count(e => e.ImagemID == ID) > 0) { return(Conflict()); } else { throw exp; } } return(CreatedAtRoute("DefaultApi", new { id = imagem.ImagemID }, imagem)); }
public IHttpActionResult Get(int id) { Models.ImagensNova imagens = db.Imagem.Find(id); if (imagens == null) { return(NotFound()); } var imagem = db.Imagem .Select(img => new { img.ImagemID, img.NoticiaFK, img.Descricao, img.Directorio, img.Tipo }) .Where(img => img.ImagemID == id) .ToList(); return(Ok(imagem)); }