public ActionResult ConfirmarVenda(MetodoPagamento pagamento) { using (ISession session = NHibernateHelper.OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { int idCarrinho = (int)Session["Carrinho"]; var carrinho = session.Query<Carrinho>().Where(x => x.Id == idCarrinho).FirstOrDefault(); if (carrinho != null) { Venda venda = new Venda { Carrinho = carrinho, Pagamento = pagamento, Total = calcularTotal(carrinho) }; session.SaveOrUpdate(venda); foreach (var item in venda.Carrinho.Produtos) { item.Produto.Estoque -= item.Quantidade; session.SaveOrUpdate(item); } Session["Carrinho"] = 0; transaction.Commit(); return View(venda); } else { return RedirectToAction("Index", "Produto"); } } } }
public ActionResult VerificarVenda(FormCollection collection) { using (ISession session = NHibernateHelper.OpenSession()) { var pagamento = getMetodoPagamento(collection["pagamento"]); int idCarrinho = (int)Session["Carrinho"]; var carrinho = session.Query<Carrinho>().Where(x => x.Id == idCarrinho).FirstOrDefault(); Venda venda = new Venda { Carrinho = carrinho, Pagamento = pagamento, Total = calcularTotal(carrinho) }; foreach (var item in venda.Carrinho.Produtos) { item.Produto.Estoque -= item.Quantidade; } return View(venda); } }