// Atualiza os dados do livro com o id específico
 // PUT api/livros/{5}
 public void PutLivro(int id, Livro livro)
 {
     livro.Id = id;
     if (!repositorio.Update(livro))
     {
         throw new HttpResponseException(HttpStatusCode.NotFound);
     }
 }
        // Cadastra um novo livro no sistema
        // POST api/livros
        public HttpResponseMessage PostLivro(Livro livro)
        {
            livro = repositorio.Add(livro);

            var response = Request.CreateResponse<Livro>(HttpStatusCode.Created, livro);
            string uri = Url.Link("DefaultApi", new { id = livro.Id });
            response.Headers.Location = new Uri(uri);

            return response;
        }
        // Cadastra um livro no sistema
        public Livro Add(Livro livro)
        {
            if (livro == null)
            {
                throw new ArgumentNullException("livro");
            }

            livro.Id = _proximoId++; // Define o id do livro, que não é definido pelo usuário
            livros.Add(livro);
            return livro;
        }
        // Atualiza o livro, substituindo a versão corrente pela nova
        public bool Update(Livro livro)
        {
            if (livro == null)
            {
                throw new ArgumentNullException("livro");
            }

            int indice = livros.FindIndex(l => l.Isbn == livro.Isbn);

            if (indice == -1)
            {
                return false;
            }

            livros.RemoveAt(indice); // remove a versão corrente
            livros.Add(livro); // adiciona a versão atualizada
            return true;
        }