public IHttpActionResult PutSobreviventes(int id, Recursos recursos) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != recursos.Id) { return(BadRequest()); } _db.Entry(recursos).State = EntityState.Modified; try { _db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!SobreviventeExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public HttpResponseMessage PutRecursos(int id, [FromBody] object rec, int idUser, int qtd) { Recursos newRecurso; if (!ModelState.IsValid) { return(Request.CreateErrorResponse(HttpStatusCode.NotImplemented, " Recurso não implementado")); } Recursos recurso = _db.Recursos.SingleOrDefault(r => r.Id == id); Sobrevivente sobrevivente = _db.Sobreviventes.SingleOrDefault(r => r.Id == idUser); if (recurso == null || sobrevivente == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, " Dados não encontrados")); } newRecurso = JsonConvert.DeserializeObject <Recursos>(Convert.ToString(rec)); if (recurso.Quantidade == newRecurso.Quantidade) { recurso.Observacao = newRecurso.Observacao; recurso.Quantidade = newRecurso.Quantidade; recurso.Descricao = newRecurso.Descricao; } else { recurso.Observacao = newRecurso.Observacao; recurso.Quantidade = newRecurso.Quantidade; recurso.Descricao = newRecurso.Descricao; Inventario inv = new Inventario(); inv.RecursoId = recurso.Id; inv.SobreviventeId = sobrevivente.Id; inv.QtdRetirada = qtd; _db.Inventario.Add(inv); } _db.Entry(recurso).State = EntityState.Modified; try { _db.SaveChanges(); } catch (DbUpdateConcurrencyException) { throw; } return(Request.CreateResponse <Recursos>(HttpStatusCode.OK, recurso)); }