// PUT: api/Jornalistas/5 public IHttpActionResult Put(int id, [FromBody] Jornalistas 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.Jornalista.Select(not => not.JornalistasID).Max()) { return(BadRequest("Sorry, seems something wrong. Couldn't determine record to update.")); } var jornalista = (from jor in db.Jornalista where jor.JornalistasID == id select jor).FirstOrDefault(); jornalista.Nome = model.Nome; db.Entry(jornalista); try { db.SaveChanges(); } catch (DbUpdateConcurrencyException exp) { if (!(db.Jornalista.Count(e => e.JornalistasID == id) > 0)) { return(NotFound()); } else { throw exp; } } return(Ok(model)); }
public IHttpActionResult Post([FromBody] Jornalistas 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.Jornalista.Select(id => id.JornalistasID).Max() + 1; var jornalista = new Models.Jornalistas { JornalistasID = ID, Nome = model.Nome }; db.Jornalista.Add(jornalista); 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.Jornalista.Count(e => e.JornalistasID == ID) > 0) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = jornalista.JornalistasID }, jornalista)); }