public IActionResult Put([FromBody] Produto produto) { try { var produtoEncontrado = _repoProduto.Selecionar(produto.Id); if (produtoEncontrado == null) { return(NoContent()); } if (produtoEncontrado.Producao == 0 && produto.Quantidade > 0) { var producao = _repoProduto.Produzir(produtoEncontrado, produto.Quantidade); if (producao == null) { return(BadRequest("Não há receita ou matéria prima suficiente para esta quantidade de produto.")); } } produto.Quantidade += produtoEncontrado.Quantidade; var produtoAlterado = _repoProduto.Alterar(produto); return(Ok("Produto alterado com sucesso.")); } catch (System.Exception) { return(StatusCode(500)); } }
public IActionResult Edit(Produto produto) { if (ModelState.IsValid) { try { produto.UsuarioId = _session.GetUsuarioIdLogin(); var ret = _produto.Alterar(produto); _session.MensagemSessao("Retorno", ret); } catch (DbUpdateConcurrencyException) { if (!ProdutoExists(produto.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } CarregarSelectList(); return(View(produto)); }
public IActionResult Put(ProdutoEdicaoModel model) { if (ModelState.IsValid) { try { var produto = mapper.Map <Produto>(model); produtoRepository.Alterar(produto); var result = new { message = "Produto atualizado com sucesso.", produto }; return(Ok(result)); } catch (Exception e) { return(StatusCode(500, "Erro: " + e.Message)); } } else { return(BadRequest("Ocorreram erros de validação.")); } }
[HttpPost] //Recebe o SUBMIT (envio dos dados) do formulário public IActionResult Edicao(ProdutoEdicaoModel model) { //verificar se os campos da model passaram nas validações if (ModelState.IsValid) { try { Produto produto = new Produto(); produto.IdProduto = model.IdProduto; produto.Nome = model.Nome; produto.Preco = model.Preco; produto.Quantidade = model.Quantidade; repository.Alterar(produto); TempData["Mensagem"] = $"Produto {produto.Nome}, atualizado com sucesso."; return(RedirectToAction("Consulta")); //redirecionamento } catch (Exception e) { TempData["Mensagem"] = e.Message; } } return(View()); }
public void Vender(CarrinhoDTO carrinhoDTO) { // Somo o valor de cada produto double valorTotal = GetValorTotal(carrinhoDTO.ProdutosDTO); // Crio uma venda e salvo Venda venda = CriaVenda(valorTotal, carrinhoDTO.UsuarioDTO); // Vinculo produtos na venda salva carrinhoDTO.ProdutosDTO.ForEach(produto => { Produto p = _repositoryProduto.BuscarPorId(produto.Id); VendaProduto vendaProduto = new VendaProduto() { Id = Guid.NewGuid().ToString(), Produto = p, Venda = venda }; p.Quantidade--; // Removo 1 quantidade _repositoryProduto.Alterar(p); _repositoryVendaProduto.Salvar(vendaProduto); }); }
public IActionResult Put(ProdutoEdicaoModel model, [FromServices] IProdutoRepository repository) { if (ModelState.IsValid) { try { var produto = new Produto(); produto.IdProduto = model.IdProduto; produto.Nome = model.Nome; produto.Preco = model.Preco; produto.Quantidade = model.Quantidade; repository.Alterar(produto); return(Ok("Produto atualizado com sucesso.")); } catch (Exception e) { return(StatusCode(500, e.Message)); } } else { return(BadRequest("Erro de validação.")); } }
public bool Alterar(Produto produto, out string mensagem) { if (_produtoRepository.PodeAlterar(produto, out mensagem)) { _produtoRepository.Alterar(produto); return(true); } return(false); }
public async Task <IActionResult> Put([FromBody] Produto produto) { try { return(Ok(await _produtoRepository.Alterar(produto))); } catch (Exception ex) { throw new ArgumentException("Erro ao atualizar produto"); } }
public IActionResult Put([FromBody] Produto produtoAlterado) { try { _produtoRepository.Alterar(produtoAlterado); return(Ok(produtoAlterado)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <Produto> Alterar(int idProduto, Produto produto) { try { await ValidarProdutoExistente(idProduto); await ValidarCategoriaExistente(produto.IdCategoria); return(await _produtoRepository.Alterar(produto)); } catch (Exception ex) { throw ex; } }
public IActionResult Alterar(ProdutoDTO dto) { var aggregate = _repository.ObterPorId(dto.Id); if (aggregate == null) { return(NotFound()); } aggregate.Alterar(dto.Nome, dto.ValorDeVenda, dto.Imagem); _repository.Alterar(aggregate); return(Ok()); }
public bool Alterar(string dados) { bool success = true; Produto p = JsonConvert.DeserializeObject <Produto>(dados); try { repositorio.Alterar(p); } catch (MySqlException ex) { success = false; throw ex; } return(success); }
public IActionResult Put(ProdutoEdicaoModel model, [FromServices] IProdutoRepository repository, [FromServices] IMapper mapper) { if (!ModelState.IsValid) { return(BadRequest("Ocorreram erros de validações")); } try { var produto = mapper.Map <Produto>(model); repository.Alterar(produto); return(Ok("Produto atualizado com sucesso")); } catch (Exception e) { return(StatusCode(500, e.Message)); } }
public void Alterar(string id, ProdutoDTO produtoDTO) { _repository.Alterar(ConverterParaEntidade(id, produtoDTO)); }
public void Alterar(Produto produto) { _produtoRepository.Alterar(produto); }
public void Alterar(Produto obj) { _rep.Alterar(obj); }
public void Alterar(ProdutoView input) { var obj = _mapper.Map <Produto>(input); _ProdutoRepository.Alterar(obj); }
public IActionResult Post([FromBody] ProdutoComanda produtoComanda) { try { var vendaJaRealizada = _repoVenda.SelecionarComandaId(produtoComanda.ComandaId); if (vendaJaRealizada != null) { return(BadRequest("Comanda ja registrada. Favor verificar o número da comanda.")); } var produto = _repoProduto.Selecionar(produtoComanda.ProdutoId); if (produto == null) { return(NoContent()); } if (!produto.Ativo) { return(BadRequest("O produto não está mais ativo")); } var comanda = _repoComanda.Selecionar(produtoComanda.ComandaId); if (comanda == null) { return(NoContent()); } if (produtoComanda.Quantidade <= 0) { return(BadRequest("Quantidade deve ser superior a 0.")); } if (produto.Quantidade < produtoComanda.Quantidade) { return(BadRequest($"A quantidade solicitada não tem no estoque. Contém no estoque {produto.Quantidade}")); } var comandaProdutoExiste = _repoProdutoComanda.SelecionarPorComandaIdProdutoId(produtoComanda.ComandaId, produtoComanda.ProdutoId); if (comandaProdutoExiste != null) { produto.Quantidade -= produtoComanda.Quantidade; produtoComanda.Quantidade += comandaProdutoExiste.Quantidade; produtoComanda.PrecoTotal = (decimal)(produtoComanda.Quantidade * produto.Valor); _repoProdutoComanda.Alterar(produtoComanda); return(Ok("Comanda atualizada com sucesso.")); } produto.Quantidade -= produtoComanda.Quantidade; _repoProduto.Alterar(produto); produtoComanda.PrecoTotal = (decimal)(produto.Valor * produtoComanda.Quantidade); _repoProdutoComanda.Incluir(produtoComanda); return(Created("", "Produto foi adicionado com sucesso.")); } catch (System.Exception) { return(StatusCode(500)); } }