public ActionResult Form()
        {
            CategoriasDAO categoriasDAO           = new CategoriasDAO();
            IList <CategoriaDoProduto> categorias = categoriasDAO.Lista();

            ViewBag.Categorias = categoriasDAO.Lista();
            ViewBag.Produto    = new Produto();
            return(View());
        }
示例#2
0
        public ActionResult Adiciona(Produto produto)
        {
            CategoriaDoProduto categoriaInformatica = new CategoriasDAO().BuscaPorNome("Informática");

            if (categoriaInformatica != null)
            {
                int idDadInformatica = categoriaInformatica.Id;

                if (produto.CategoriaId.Equals(idDadInformatica) && produto.Preco < 100)
                {
                    ModelState.AddModelError("produto.PrecoInvalido", "Informática com preço abaixo de 100 reais");
                }
            }

            if (ModelState.IsValid)
            {
                ProdutosDAO dao = new ProdutosDAO();
                dao.Adiciona(produto);

                return(RedirectToAction("Index"));
            }
            else
            {
                ViewBag.Produto = produto;
                CategoriasDAO categoriasDAO = new CategoriasDAO();
                ViewBag.Categorias = categoriasDAO.Lista();

                return(View("Form"));
            }
        }
示例#3
0
        public ActionResult Adiciona(Produto produto)
        {
            int idInformatica = 1;

            if (produto.CategoriaId.Equals(idInformatica) && produto.Preco < 100)
            {
                ModelState.AddModelError("produto.Invalido", "Informática com preço abaixo de R$ 100,00");
            }
            if (ModelState.IsValid)
            {
                ProdutosDAO dao = new ProdutosDAO();
                dao.Adiciona(produto);

                return(RedirectToAction("Index", "Produto"));
            }
            else
            {
                ViewBag.Produto = produto;
                CategoriasDAO dao = new CategoriasDAO();
                IList <CategoriaDoProduto> categorias = dao.Lista();

                ViewBag.Categorias = categorias;
                return(View("Form"));
            }
        }
        public ActionResult Adiciona(Produto produto)
        {
            int idInformatica = 1;

            if (produto.CategoriaId.Equals(idInformatica) && produto.Preco < 100)
            {
                ModelState.AddModelError("produto.precoInformaticaInvalido", "O preço para o produto de informática é abaixo de 100");
            }

            if (ModelState.IsValid)
            {
                ProdutosDAO pDAO = new ProdutosDAO();
                pDAO.Adiciona(produto);

                return(RedirectToAction("Index", "Produto"));
            }
            else
            {
                ViewBag.produto = produto;
                CategoriasDAO categoria = new CategoriasDAO();
                ViewBag.categorias = categoria.Lista();

                return(View("Form"));
            }
        }
        public ActionResult Adiciona(Produto produto)
        {
            // Validação personalizada
            // Produtos da categoria 1 devem valer mais de 100 reias
            if (produto.CategoriaId.Equals(1) && produto.Preco < 100)
            {
                // Adicionando novo erro
                ModelState.AddModelError("produto.Invalido", "Informatica com preço abaixo de 100 reais!");
            }
            // ModelState.IsValid - verifica se o modelo obedece as regras de validação
            // Nesse caso, as regras de validação contidas na classe Produto
            if (ModelState.IsValid)
            {
                ProdutosDAO dao = new ProdutosDAO();
                dao.Adiciona(produto);

                // Redirecionando para o metodo Index, Controller Produto
                return(RedirectToAction("Index", "Produto"));
            }
            else
            {
                // Caso de erro de validação retornar formulario com dados digitados
                ViewBag.Produto = produto;
                CategoriasDAO categoriasDAO = new CategoriasDAO();
                ViewBag.Categorias = categoriasDAO.Lista();
                return(View("Form"));
            }
        }
示例#6
0
        public ActionResult Form()
        {
            CategoriasDAO categoriasDAO = new CategoriasDAO();

            ViewBag.Categorias = categoriasDAO.Lista();
            return(View());
        }
示例#7
0
        [ValidateAntiForgeryToken] // Se o token for valido adiona o produto, validando token.
        //Protegido contra o Cross Site Request Forgey

        public ActionResult Adiciona(Produto produto)// Recebe todas as informções do tipo produto, para funcionar o "name" do cshtml tem que ter as propriedade do "Produto".
        {
            // Model Binder pega as requisições e transfoma no obejto que foi passado para a action.

            //Minhas próprias validações personalizadas.
            int idInformatica = 1; // Regra customizada para informatica

            if (produto.CategoriaId.Equals(idInformatica) && produto.Preco < 100)
            {
                ModelState.AddModelError("produto.Invalido", "Informatica com o preço abaixo de R$100,00");
                // ModelState, contem todos erros de validação. Para adionar o novo erro usa o AddModelError.
                //Dentro dos ("qual o nome do erro para recuperar a mensagem","Mensagem para o usuario")
            }


            if (ModelState.IsValid) // ModelState.IsValid verifica se obdece as regras de validação.
            {
                ProdutosDAO dao = new ProdutosDAO();
                dao.Adiciona(produto);

                return(RedirectToAction("Index", "Produto")); // Informar para action deve ser redirecinada. Action Index do ProdutoControler
            }
            else // Mesmo assim a lista de categorias deve ser mostrada no formulario.
            {
                ViewBag.Produto = produto; // Caso de errado, o formulario deve mostrar os dados preenchidos pelo o usuario.
                CategoriasDAO categoriasDAO = new CategoriasDAO();
                ViewBag.Categorias = categoriasDAO.Lista();
                return(View("Form")); // Retorna o fomularios, no formulario irei colocar as regras de validação que foram violadas.
            }
        }
示例#8
0
      [ValidateAntiForgeryToken]                    // cria um token de validação
      public ActionResult Adiciona(Produto produto) // adiciona no bd um produto do tipo Produto, vindo da view;
      {
          int idInformatica = 1;

          if (produto.CategoriaId.Equals(idInformatica) && produto.Preco < 100)
          {
              ModelState.AddModelError("produto.Invalido", "Informática com preço abaixo de 100 reais");   // crio minha propria modelstate e passando como parametro a mensagem de erro
                                                                                                           // e a chave do erro no primeiro parametro para passar na view
          }

          if (ModelState.IsValid)
          {   // o modelo obedece as regras de validação na model E PODE SER ATRIBUIDA
              ProdutosDAO dao = new ProdutosDAO();

              dao.Adiciona(produto);             // adiciona no banco

              return(RedirectToAction("Index")); // manda para a controller index que irá mostrar os produtos e depois irá chamar a view
                                                 //return RedirectToAction("Index","HomeController"); para acessar a view index e da home controller.
          }
          else
          {
              ViewBag.Produto = produto;                  // adicionando denovo o produto
              CategoriasDAO categoriasDAO = new CategoriasDAO();
              ViewBag.Categorias = categoriasDAO.Lista(); // PRECISO PREENCHER DENOVO AS CATEGORIAS
              return(View("Form"));
          }
      }
示例#9
0
        [ValidateAntiForgeryToken] // se for valido, então passa a requisição
        public ActionResult Adicionar(Produto produto)
        {
            int idDaInformatica = 1;

            if (produto.CategoriaId.Equals(idDaInformatica) && produto.Preco < 100)
            {
                ModelState.AddModelError("produto.Invalido", "Informatica com preco abaixo de 100 reais");
            }
            if (produto.Preco < 0)
            {
                ModelState.AddModelError("produto.Preco", "Preço inválido!");
            }
            if (ModelState.IsValid)// modelo obedece as regras de validação
            {
                ProdutosDAO dao = new ProdutosDAO();
                dao.Adiciona(produto);
                return(RedirectToAction("Index", "Produto")); // redirecionado para Index da View Produto
            }
            else
            {
                ViewBag.Produto = produto;
                CategoriasDAO categoriasDAO = new CategoriasDAO();
                ViewBag.Categorias = categoriasDAO.Lista();
                return(View("Form")); // retorna para o formulário
            }
        }
示例#10
0
        public ActionResult Adiciona(Produto produto)
        {
            //IsValid Mostra se o modelo obedece ou nao as regras de validações

            int idDaInformatica = 1;

            if (produto.CategoriaId.Equals(idDaInformatica) && produto.Preco < 100)
            {
                ModelState.AddModelError("produto.Invalido", "Informatica com preco abaixo de 100 reais");
            }

            if (ModelState.IsValid)
            {
                ProdutosDAO dao = new ProdutosDAO();
                dao.Adiciona(produto);

                return(RedirectToAction("Index", "Produto"));
            }
            else
            {
                ViewBag.Produto = produto;
                CategoriasDAO categoriasDAO = new CategoriasDAO();
                ViewBag.Categorias = categoriasDAO.Lista();
                return(View("Form"));
            }
        }
示例#11
0
        public ActionResult Adiciona(Produto produto)
        {
            int Idinformatica = 1;

            //se produto da categoria Id for igual ao Id da informatica e preço for menor que sem
            if (produto.CategoriaId.Equals(Idinformatica) && produto.Preco < 100)
            {
                //Messagem de erro de validação, tm como primeiro parâmetro a chave e como segundo a menssagem
                ModelState.AddModelError("produto.invalido", "informatica com preço abaixo de R$ 100");
            }
            //verifica se os dados preenchidos obedece a forma de validação das anotações do models
            if (ModelState.IsValid)
            {
                //instancia o dao
                ProdutosDAO dao = new ProdutosDAO();

                //chama o metodo de adicionar o objeto
                dao.Adiciona(produto);

                //retorna a view, para a camada de visualização

                //faz o redirecionamento para o Produto onde esta a listagem da tabela de dados
                return(RedirectToAction("Index", "Produto"));
            }
            else
            {
                //caso else pega o produto que veio da camada de visualização e adiciona em uma viewBag
                ViewBag.produto = produto;

                CategoriasDAO categoriasDAO = new CategoriasDAO();
                ViewBag.categorias = categoriasDAO.Lista();
                //se a requisição acima não for de acordo, mostra novamente o formulaio para o usuário
                return(View("Form"));
            }
        }
示例#12
0
        [HttpPost]                                    //Da mesma forma que podemos utilizar o HttpPostAttribute para aceitar apenas requisições do tipo post
        public ActionResult Adiciona(Produto produto) // Metado adiciona  será responsável por receber as informações que foram enviadas pelo formulário Produto produto...
        {
            int idDaInformatica = 1;

            if (produto.CategoriaId.Equals(idDaInformatica) && produto.Preco < 100)
            {
                ModelState.AddModelError("produto.InformaticaComPrecoInvalido", "Produtos da categoria informática devem ter preço maior do que 100"); //o método AddModelError do ModelState.
                //Esse método recebe como argumento duas strings, a primeira indica o nome do erro de validação e a segunda a mensagem de erro que deve ser exibida.
                //O nome do erro pode ser utilizado na view para se recuperar a mensagem de erro através do método ValidationMessage do HtmlHelper.
            }

            //O ModelState guarda todas as regras de validação que foram violadas. Para verificar se todas as regras de validação foram obedecidas utiliza-se o
            //atributo IsValid do ModelState.
            if (ModelState.IsValid)
            {                                                 // O Modelo foi validado corretamente, então pode ser gravado no banco de dados.
                ProdutosDAO dao = new ProdutosDAO();
                dao.Adiciona(produto);                        //utilizaremos o DAO para adicionar o produto no banco de dados:
                return(RedirectToAction("Index", "Produto")); //O RedirectToAction redirecionará o usuário para o método Index do controller atual (ProdutoController).
            }
            else  // O Modelo não foi validado corretamente.
            {
                // produto inválido então vamos guardá-lo na ViewBag
                ViewBag.Produto = produto;
                // envia o usuário para o formulário de cadastro
                CategoriasDAO categoriasDAO = new CategoriasDAO();
                ViewBag.Categorias = categoriasDAO.Lista();
                return(View("Form"));
            }
        }
        [ValidateAntiForgeryToken] //usado junto com o token gerado no html
        public ActionResult Adiciona(Produto produto)
        {
            int idDaInformatica = 1;

            if (produto.CategoriaId.Equals(idDaInformatica) && produto.Preco < 100)
            {
                // colocando novo erro de validação
                ModelState.AddModelError("produto.Invalido", "Informática com preço abaixo de R$100,00");
            }

            /*
             * O cara responsável por criar o modelo que será armazenado no banco de dados é chamado de Model Binder
             */

            if (ModelState.IsValid)
            {
                ProdutosDAO dao = new ProdutosDAO();
                dao.Adiciona(produto);

                // redirecionando o usuário para o método index do controller produto. Posso omitir o controller, caso o método esteja invocando o próprio
                // Para redirecionar o usuário para uma action de outro controller, devemos utilizar a versão do RedirectToAction que recebe duas Strings, o nome da action e o nome do controller. Nesse caso, RedirectToAction("Index","Home").
                return(RedirectToAction("Index", "Produto"));
            }
            else
            {
                // retornando os dados que o usuário preencheu no campo. Assim, ao recarregar a página para mostrar os erros, os campos virão com os mesmos dados que foram preenchido pelo usuário
                ViewBag.Produto = produto;
                CategoriasDAO dao = new CategoriasDAO();
                ViewBag.Categorias = dao.Lista();
                return(View("Form"));
            }
        }
示例#14
0
        public ActionResult Adiciona(Produto produto)
        {
            int idDaInformatica = 1;

            if (produto.CategoriaId.Equals(idDaInformatica) && produto.Preco < 100)
            {
                ModelState.AddModelError("produto.InformaticaComPrecoInvalido", "Produtos da categoria informática devem ter preço maior do que 100");
            }

            if (ModelState.IsValid)
            {
                ProdutosDAO dao = new ProdutosDAO();
                dao.Adiciona(produto);

                return(RedirectToAction("Index"));
            }
            else
            {
                ViewBag.Produto = produto;

                CategoriasDAO categoriasDAO = new CategoriasDAO();
                ViewBag.Categorias = categoriasDAO.Lista();

                return(View("Form"));
            }
        }
        // GET: Categoria
        public ActionResult Index()
        {
            IList <CategoriaDoProduto> categorias = dao.Lista();

            ViewBag.Categorias = categorias;
            return(View());
        }
        [ValidateAntiForgeryToken] ///validando token para adicionar produto
        public ActionResult Adiciona(Produto produto)
        {
            // Validação Mais complexa(Produtos com preços maior 100 reais)
            int idDainformatica = 1;

            if (produto.CategoriaId.Equals(idDainformatica) && produto.Preco < 100)
            {
                ModelState.AddModelError("produto.Invalido", "Informatica com preço abaixo de 100 reais"); //adicionar novo erro a lista
                //produto.Invalido é a chave que será passado para o helper na view
            }

            /// (Validação padrao mvc)fazendo validação com base na anotaçãpo da classe produto
            if (ModelState.IsValid)
            {
                var dao = new ProdutosDAO();
                dao.Adiciona(produto);
                return(RedirectToAction("Index", "Produto")); //para evitar que usuário de f5 e duplique a requisição no banco
            }
            else
            {
                //para quando der else, não voltar com o formulario vazio
                ViewBag.Produto = produto;
                //
                var categoriaDAO = new CategoriasDAO();
                ViewBag.Categorias = categoriaDAO.Lista();
                return(View("Form"));
            }
        }
        public ActionResult ListarCategorias()
        {
            CategoriasDAO dao = new CategoriasDAO();
            IList <CategoriaDoProduto> categorias = dao.Lista();

            ViewBag.Categorias = categorias;
            return(View());
        }
示例#18
0
        // GET: CategoriaDoProduto
        public ActionResult Index()
        {
            CategoriasDAO dao = new CategoriasDAO();
            IList <CategoriaDoProduto> categorias = dao.Lista(); // listar todas as cotegorias do banco

            ViewBag.Categorias = categorias;                     // a ViewBag recebe a lista de categorias
            return(View());                                      // camada de visualização
        }
示例#19
0
        public ActionResult Editar(Produto produto)
        {
            var dao = new CategoriasDAO();

            ViewBag.Categorias = dao.Lista();

            return(View(produto));
        }
        // GET: Categoria
        public ActionResult Index()
        {
            var dao        = new CategoriasDAO();
            var categorias = dao.Lista();

            ViewBag.Categorias = categorias;
            return(View());
        }
示例#21
0
        public ActionResult Form()
        {
            ViewBag.Produto = new Produto();
            var categoriasDAO = new CategoriasDAO();

            ViewBag.Categorias = categoriasDAO.Lista();
            return(View());
        }
        // GET: Categoria
        public ActionResult Index()
        {
            CategoriasDAO categoriasDAO = new CategoriasDAO();
            IList <CategoriaDoProduto> listaCategorias = categoriasDAO.Lista();

            ViewBag.listaCategorias = listaCategorias;
            return(View());
        }
        // GET: Categoria
        public ActionResult Index()
        {
            CategoriasDAO dao = new CategoriasDAO();
            IList <CategoriaDoProduto> categoria = dao.Lista();

            ViewBag.Categoria = categoria;
            return(View());
        }
示例#24
0
        public ActionResult Form()
        {
            CategoriasDAO dao = new CategoriasDAO();

            ViewBag.Produto    = new Produto();
            ViewBag.Categorias = dao.Lista();
            return(View());
        }
示例#25
0
        public ActionResult Form()
        {
            ViewBag.Produto = new Produto();
            CategoriasDAO dao = new CategoriasDAO();
            IList <CategoriaDoProduto> categorias = dao.Lista();

            ViewBag.Categorias = categorias;
            return(View(categorias));
        }
示例#26
0
        public ActionResult Form() // Form redireciona ao Index Form../
        {
            CategoriasDAO categoriasDAO           = new CategoriasDAO();
            IList <CategoriaDoProduto> categorias = categoriasDAO.Lista();

            ViewBag.Categorias = categorias;
            ViewBag.Produto    = new Produto();
            return(View());
        }
        public ActionResult Form()
        {
            // Listando categorias para o dropdown do formulario
            CategoriasDAO dao = new CategoriasDAO();
            IList <CategoriaDoProduto> categorias = dao.Lista();

            ViewBag.Categorias = categorias;
            ViewBag.Produto    = new Produto();
            return(View());
        }
示例#28
0
        public ActionResult Cadastro()//para aparecer o id no drop do cadastro de produtos
        {
            ViewBag.Produto = new Produto();
            CategoriasDAO dao = new CategoriasDAO();
            IList <CategoriaDoProduto> categorias = dao.Lista();

            ViewBag.Categorias = categorias;
            ViewBag.Produto    = new Produto();
            return(View());
        }
        public ActionResult Form()
        {
            //manda pra view a lista de categorias
            var categoriasDao = new CategoriasDAO();
            IList <CategoriaDoProduto> categorias = categoriasDao.Lista();

            ViewBag.Categorias = categorias;

            return(View());
        }
示例#30
0
        public ActionResult FormCadastroProduto()
        {
            Produto       produto = new Produto();
            CategoriasDAO dao     = new CategoriasDAO();
            IList <CategoriaDoProduto> categorias = dao.Lista();

            ViewBag.Categorias = categorias;

            ViewBag.Produto = produto;
            return(View());
        }