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));
        }