public async Task <IActionResult> Put(int id, [FromBody] ProdutoPost 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 localizado");
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            produto.Update(model.Nome, model.Preco, model.CategoriaId);
            _produtoRepository.Update(produto);

            return(Ok());
        }
Ejemplo n.º 2
0
        public void CadastraCarrinho()
        {
            string     token      = RetornaToken();
            ProdutoApi produtoApi = RetornaProdutos();

            ProdutoPost produtoPost = new ProdutoPost();

            produtoPost.idProduto  = produtoApi.produtos.FirstOrDefault()._id;
            produtoPost.quantidade = 10;

            List <ProdutoPost> listaProdutoPost = new List <ProdutoPost>();

            listaProdutoPost.Add(produtoPost);


            var clientePost    = new RestClient("http://localhost:3000/carrinhos");
            var requisicaoPost = new RestRequest(Method.POST)
            {
                RequestFormat = DataFormat.Json
            };

            requisicaoPost.AddHeader("Authorization", token);

            requisicaoPost.AddJsonBody(new
            {
                produtos = listaProdutoPost
            });

            var respostas = clientePost.Execute(requisicaoPost);

            Assert.Fail();
        }
        public async Task <IActionResult> Add([FromBody] ProdutoPost 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.ToProdutoEntity();

            _produtoRepository.Add(data);

            var produto = data.ToProdutoGet();

            produto.CategoriaNome = categoria.Nome;

            //return Ok(produto);

            //Retorna objeto batendo na rota GetById
            return(CreatedAtRoute("GetProductById", new { data.Id }, produto));
        }