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