public ActionResult Adicionar(ProdutoViewModel produtoViewModel)
        {
            if (ModelState.IsValid)
            {
                var produto = new Produto(nome: produtoViewModel.Nome, preço: produtoViewModel.Preco);

                try
                {
                    _servicoDeAplicacaoDeProduto.CadastrarProduto(produto);
                    return RedirectToAction("Listar");
                }
                catch (ProdutoException exception)
                {
                    ModelState.AddModelError("Validação",exception.Message);
                    return View(produtoViewModel);
                }
            }

            return View(produtoViewModel);
        }
        public ActionResult Adicionar(ProdutoViewModel produtoViewModel)
        {
            if (ModelState.IsValid)
            {
                var produto = new Produto
                                  {
                                      Nome = produtoViewModel.Nome,
                                      Preço = produtoViewModel.Preco
                                  };

                try
                {
                    _servicoDeAplicacaoDeProduto.CadastrarProduto(produto);
                }
                catch (DemoException exception)
                {
                    return Json(new { erro = exception.Message });
                }

                return Json(new { ok = "Produto cadastrado com sucesso." });
            }

            return Json(new { erro = "Erro no form" });
        }
 public virtual void CadastrarProduto(Produto produto)
 {
     IniciarTransação();
     _servicoDeCadastroDeProduto.CadastrarProduto(produto);
     PersistirTransação();
 }