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")); } }
[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 } }
public ActionResult AdicionaProduto(Produtos produtos) { var dao = new ProdutosDAO(); dao.Adiciona(produtos); return(View()); }
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")); } }
public ActionResult Adiciona(Produto produto) { ProdutosDAO dao = new ProdutosDAO(); dao.Adiciona(produto); return(RedirectToAction("Index", "Home")); }
[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. } }
public ActionResult Incluir(Produto produto) { var categorias = new CategoriasDAO().Lista(); var cAlimento = categorias.Where(c => c.Nome.Contains("Alimento")).FirstOrDefault(); if (cAlimento != null && produto.CategoriaId.Equals(cAlimento.Id) && produto.Preco < 0.10) { ModelState.AddModelError("alimentos", "O preço de produtos de alimentação devem ser maiores ou iguais a R$ 0.10 !"); } if (ModelState.IsValid) { ProdutosDAO dao = new ProdutosDAO(); dao.Adiciona(produto); return(RedirectToAction("Index")); } else { ViewBag.Categorias = categorias; ViewBag.Produto = produto; return(View("Cadastrar")); } }
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")); } }
[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")); } }
[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")); } }
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")); } }
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")); } }
[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 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")); } }
[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")); } }
public ActionResult Adiciona(Produto produto) { if (produto.Categoria.Id == 0) { produto.Categoria = null; } dao.Adiciona(produto); }
public ActionResult Adiciona(Produto produto) { //ISession session = NHibernateHelper.AbreSession(); //ProdutosDAO dao = new ProdutosDAO(session); dao.Adiciona(produto); return(RedirectToAction("Visualiza", new { id = produto.Id })); //return RedirectToAction("Index"); }
[ValidateAntiForgeryToken] //validando se o token do usuário logado é valido para adicionar um produto. public ActionResult Adiciona(Produtos produto) { ProdutosDAO dao = new ProdutosDAO(); dao.Adiciona(produto); //return View(); return(RedirectToAction("Index", "Produto")); //retornando para o usuario uma action especifica }
public ActionResult Adiciona(Produto produto) { if (produto.Categoria.Id.Equals(0)) { produto.Categoria = null; } dao.Adiciona(produto); return(RedirectToAction("Index")); }
//public ActionResult Adiciona(string nome, float preco, int quantidade, string descricao, int categoriaId) public ActionResult Adiciona(Produto produto)//<- Model Binder faz a criação do produto no cliente antes de enviar para o servidor { if (ModelState.IsValid) { ProdutosDAO dao = new ProdutosDAO(); dao.Adiciona(produto); return(RedirectToAction("Index", "Produto")); } ViewBag.Categorias = new CategoriasDAO().Lista(); return(View("Form", produto)); }
public ActionResult Adiciona(Produto produto) { //gravando no bd var dao = new ProdutosDAO(); dao.Adiciona(produto); //modelbinder cria o obj para aspnetmvc return(RedirectToAction("Index")); //se for contr diferente, eh soh passar como arg }
public ActionResult Adiciona(Produto produto) { if (produto.Categoria.Id == 0) { produto.Categoria = null; } session = NHibernateHelper.AbreSession(); produtosdao = new ProdutosDAO(session); produtosdao.Adiciona(produto); return(RedirectToAction("Visualiza", new { id = produto.Id })); }
public ActionResult Adiciona(Produto produto) { if (ModelState.IsValid) { produtosDAO.Adiciona(produto); return(RedirectToAction("Index")); } else { return(View("Form", produto)); } //nem todos os valores retornam um valor :/ }
[ValidateAntiForgeryToken]//verifica token de segurança public ActionResult Adiciona(Produto produto) { if (ModelState.IsValid) { ProdutosDAO produtosDAO = new ProdutosDAO(); produtosDAO.Adiciona(produto); } else { return(RedirectToAction("FormAdd", "Produto")); } return(RedirectToAction("Index", "Produto")); }
public ActionResult Adiciona(Produto produto) { if (ModelState.IsValid) { ProdutosDAO dao = new ProdutosDAO(); dao.Adiciona(produto); RegistrarLog(produto, "Registrou"); return(RedirectToAction("Index", "Produto")); } else { FamiliaProdutoDAO familiaDao = new FamiliaProdutoDAO(); ViewBag.Familias = familiaDao.Lista(); return(View("Form")); } }
public ActionResult Adicionar(Produto produto) { if (ModelState.IsValid) { dao.Adiciona(produto); return(RedirectToAction("Index")); } ViewBag.Produto = produto; CategoriasDAO dao = new CategoriasDAO(); IList <CategoriaDoProduto> categorias = dao.Lista(); ViewBag.Categorias = categorias; return(RedirectToAction("Form")); }
public ActionResult Adiciona(Produto produto) { 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")); } }
public ActionResult CadastrarProduto(Produto produto) { if (ModelState.IsValid) { ProdutosDAO dao = new ProdutosDAO(); dao.Adiciona(produto); return(RedirectToAction("ListarProdutos", "Produto")); } else { CategoriasDAO dao = new CategoriasDAO(); IList <CategoriaDoProduto> categorias = dao.Lista(); ViewBag.Categorias = categorias; ViewBag.Produto = produto; return(View("FormCadastroProduto")); } }
public ActionResult Adiciona(Produto produto) { int idDaInformatica = 4; if (produto.CategoriaId.Equals(idDaInformatica) && produto.Preco < 100) { ModelState.AddModelError("produto.InformaticaComPrecoInvalido", "Produto de informática com preço abaixo de 100 reais");//ModelState funciona como se fosse uma lista de erros possíveis, os quais você também pode adicionar; } if (ModelState.IsValid) { ProdutosDAO dao = new ProdutosDAO(); dao.Adiciona(produto); return(RedirectToAction("Index", "Produto")); } else { CategoriasDAO categoriasDAO = new CategoriasDAO(); ViewBag.Categorias = categoriasDAO.Lista(); return(View("Form")); } }