Example #1
0
        public async Task <ActionResult> CadastrarParametros([FromBody] CadastroProdutoViewModel paramProdutos)
        {
            IEnumerable <Produto> produtos = produtosRepository.BuscarPorIdProduto(paramProdutos.IdProdutoExterno);

            int ultimaVersao = 0;

            if (produtos.Count() > 0)
            {
                Produto ultimoProduto = produtos.Last();

                ultimaVersao = ultimoProduto.Versao;
                produtosRepository.DesativarProduto(ultimoProduto.Id);
            }

            int novaVersao = ultimaVersao + 1;

            Produto novoProduto = _mapper.Map <Produto>(paramProdutos);

            novoProduto.Versao = novaVersao;

            int idProduto = (int)(await produtosRepository.Adicionar(novoProduto));

            foreach (Parametro paramProduto in paramProdutos.Campos)
            {
                paramProduto.IdProduto = idProduto;
                await parametrosRepository.Adicionar(paramProduto);
            }

            return(Ok(_requestHandler.Send("Inserido com sucesso!")));
        }
Example #2
0
        public IActionResult Post([FromForm] CadastroProdutoViewModel produto)
        {
            try
            {
                //Verifica se a imagem foi passada
                if (produto.Imagem != null && produto.Imagem.Length > 0)
                {
                    //Defini o nome do arquivo
                    var NomeArquivo = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(produto.Imagem.FileName);

                    //Defini o caminho do arquivo
                    var CaminhoArquivo = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\uploads\\imgs", NomeArquivo);

                    //Salva a imagem no caminho informado acima
                    using (var StreamImagem = new FileStream(CaminhoArquivo, FileMode.Create))
                    {
                        produto.Imagem.CopyTo(StreamImagem);
                    }

                    //Defini os valores do Objeto ProdutoDomain
                    ProdutoDomain produtoTemp = new ProdutoDomain
                    {
                        Nome   = produto.Nome,
                        Preco  = Convert.ToDecimal(produto.Preco),
                        Imagem = "/uploads/imgs/" + NomeArquivo
                    };

                    //Salva as informações no banco
                    using (ECommerceContext ctx = new ECommerceContext())
                    {
                        ctx.Produtos.Add(produtoTemp);
                        ctx.SaveChanges();
                    }

                    //retorna o status code Ok
                    return(Ok());
                }

                return(BadRequest());
            }
            catch (System.Exception ex)
            {
                return(BadRequest());
            }
        }
Example #3
0
        public ActionResult Salvar(CadastroProdutoViewModel vm)
        {
            _produtoService.Salvar(vm.Nome, vm.Preco);

            return RedirectToAction("Index");
        }
Example #4
0
        public ActionResult Novo()
        {
            var vm = new CadastroProdutoViewModel();

            return View(vm);
        }