예제 #1
0
        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");
                    }
                }
            }
        }
예제 #2
0
        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);

            }
        }