public async Task <IActionResult> Create(ProdutoCreateViewModel produtoCreateViewModel)
        {
            if (!produtoCreateViewModel.Preco.ToString().EndsWith("3"))
            {
                ModelState.AddModelError("Preco", "O preço deve terminar em 3.");
            }
            if (ModelState.IsValid)
            {
                var fabricante = await fabricanteRepository.FindByIdAsync(produtoCreateViewModel.Fabricante);

                var produto = new Produto
                {
                    Nome       = produtoCreateViewModel.Nome,
                    Preco      = produtoCreateViewModel.Preco,
                    Fabricante = fabricante,
                    FotoUrl    = produtoCreateViewModel.Url
                };
                await produtoRepositorio.AddAsync(produto);

                return(RedirectToAction(nameof(Index)));
            }
            ViewBag.Fabricantes = (await fabricanteRepository.ListaFabricantesAsync())
                                  .Select(c => new SelectListItem()
            {
                Text = c.Nome, Value = c.Id.ToString()
            })
                                  .ToList();

            return(View(produtoCreateViewModel));
        }
Exemplo n.º 2
0
 public async Task Setup()
 {
     mockProdutos    = new Mock <IProdutoRepository>();
     fabricante      = new Fabricante();
     produto         = new Produto();
     mockFabricantes = new Mock <IFabricanteRepository>();
     mockFabricantes.Setup(f => f.FindByIdAsync(1)).ReturnsAsync(fabricante);
     mockProdutos.Setup(f => f.AddAsync(produto)).Returns(Task.CompletedTask);
     controller      = new ProdutosController(mockProdutos.Object, mockFabricantes.Object);
     produtoCreateVM = Generator.ValidProdutoCreateVM();
     // act
     result = await controller.Create(produtoCreateVM);
 }
 public async Task Setup()
 {
     mockProdutos    = new Mock <IProdutoRepository>();
     mockFabricantes = new Mock <IFabricanteRepository>();
     mockFabricantes.Setup(f => f.ListaFabricantesAsync()).ReturnsAsync(new List <Fabricante> {
         new Fabricante {
             Id = 999
         }
     }).Verifiable();
     controller = new ProdutosController(mockProdutos.Object, mockFabricantes.Object);
     // act
     produtoCreateVM = Generator.InvalidProdutoCreateVM();
     result          = await controller.Create(produtoCreateVM);
 }