// POST api/Instrutores public HttpResponseMessage PostInstrutor(Instrutor instrutor) { if (string.IsNullOrEmpty(instrutor.Nome)) { return Request.CreateResponse(HttpStatusCode.BadRequest, "Nome do instrutor é obrigatório"); } if ("Fulano".Equals(instrutor.Nome)) { return Request.CreateResponse(HttpStatusCode.BadRequest, "Nome do instrutor não pode ser Fulano"); } if ("Ciclano".Equals(instrutor.Nome)) { return Request.CreateResponse(HttpStatusCode.BadRequest, "Nome do instrutor não pode ser Ciclano"); } if (ModelState.IsValid) { db.Instrutors.Add(instrutor); db.SaveChanges(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, instrutor); response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = instrutor.Id })); return response; } else { return Request.CreateResponse(HttpStatusCode.BadRequest); } }
// PUT api/Instrutores/5 public HttpResponseMessage PutInstrutor(long id, Instrutor instrutor) { if (string.IsNullOrEmpty(instrutor.Nome)) { return Request.CreateResponse(HttpStatusCode.BadRequest, "Nome do instrutor é obrigatório"); } if ("Fulano".Equals(instrutor.Nome)) { return Request.CreateResponse(HttpStatusCode.BadRequest, "Nome do instrutor não pode ser Fulano"); } if ("Ciclano".Equals(instrutor.Nome)) { return Request.CreateResponse(HttpStatusCode.BadRequest, "Nome do instrutor não pode ser Ciclano"); } if (ModelState.IsValid && id == instrutor.Id) { db.Entry(instrutor).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return Request.CreateResponse(HttpStatusCode.NotFound); } return Request.CreateResponse(HttpStatusCode.OK, instrutor); } else { return Request.CreateResponse(HttpStatusCode.BadRequest); } }