public async Task <IActionResult> Update(int id, [FromBody] ProdutoAddEdit model) { var categoria = await _categoriaRepository.GetAsync(model.CategoriaId); if (categoria == null) { ModelState.AddModelError("CategoriaId", "Categoria inválida"); } var produto = await _produtoRepository.GetAsync(id); if (produto == null) { ModelState.AddModelError("Id", "Produto não encontrado"); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } produto.Update(model.Nome, model.Preco, model.CategoriaId); _produtoRepository.Update(produto); return(Ok()); }
public async Task <IActionResult> Add([FromBody] ProdutoAddEdit model) { var categoria = await _categoriaRepository.GetAsync(model.CategoriaId); if (categoria == null) { ModelState.AddModelError("CategoriaId", "Categoria inválida"); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var data = model.ToProduto(); _produtoRepository.Add(data); var produto = data.ToProdutoGet(); produto.Nome = categoria.Nome; return(CreatedAtRoute("GetProdutoById", new { produto.Id }, produto)); }