public async Task <IActionResult> AdicionarItem(string Codigo) { var produto = await _produtoRepository.ObterPorCodigo(Codigo); if (produto == null) { return(NotFound()); } var pedido = await ObterPedido(); if (pedido.Itens == null) { var novoItemPedido = new ItemPedido(pedido, produto, 1); await _itemPedidoRepository.Adicionar(novoItemPedido); novoItemPedido.Produto = produto; pedido.Itens.Add(novoItemPedido); return(RedirectToAction(nameof(Index))); } var ItemNoCarrinho = pedido.Itens.Where(c => c.ProdutoId.Equals(produto.Id)).FirstOrDefault(); if (ItemNoCarrinho != null) { ItemNoCarrinho.Quantidade++; await _itemPedidoRepository.Atualizar(ItemNoCarrinho); } else { var novoItemCarrinho = new ItemPedido(pedido, produto, 1); await _itemPedidoRepository.Adicionar(novoItemCarrinho); pedido.Itens.Add(novoItemCarrinho); } return(RedirectToAction(nameof(Index))); }
public ActionResult Edit([Bind(Include = "Id,PedidoId,ProdutoId,ValorUnitario,Quantidade")] ItemPedidoSet itemPedidoSet) { if (ModelState.IsValid) { itemPedidoRepository.Atualizar(itemPedidoSet); return(RedirectToAction("Index")); } ViewBag.PedidoId = new SelectList(pedidoRepository.ObterTodos(), "Id", "Id", itemPedidoSet.PedidoId); ViewBag.ProdutoId = new SelectList(produtoRepository.ObterTodos(), "Id", "Nome", itemPedidoSet.ProdutoId); return(View(itemPedidoSet)); }
public bool Atualizar(ItemPedido entity) { using (var scope = new TransactionScope()) { var result = false; result = _repository.Atualizar(entity); if (!result) { throw new Exception("Ocorreu um erro ao atualizar"); } scope.Complete(); return(result); } }