예제 #1
0
        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());
        }
예제 #2
0
        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));
        }