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!"))); }
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()); } }
public ActionResult Salvar(CadastroProdutoViewModel vm) { _produtoService.Salvar(vm.Nome, vm.Preco); return RedirectToAction("Index"); }
public ActionResult Novo() { var vm = new CadastroProdutoViewModel(); return View(vm); }