public ActionResult CartSummary()
        {
            var cart = CarrinhoDeCompras.GetCart(this.HttpContext);

            ViewData["CartCount"] = cart.GetCount();
            return(PartialView("CartSummary"));
        }
        public PartialViewResult Pagamento()
        {
            var cart = CarrinhoDeCompras.GetCart(this.HttpContext);


            return(PartialView(cart));
        }
        public ActionResult ClienteEFormaPagamento(FormCollection values)
        {
            ViewBag.Clientes = storeDB.Clientes;
            var order = new Pedido();

            TryUpdateModel(order);
            string forma = Request.Form["FormaPagamento"];

            try
            {
                order.FormaPagamento = forma;
                order.UsuarioId      = (int)Session["Cliente"];
                order.DataPedido     = DateTime.Now;
                order.Total          = CarrinhoDeCompras.GetCart(this.HttpContext).GetTotal();
                //Save Order
                storeDB.Pedidos.Add(order);
                storeDB.SaveChanges();
                //Process the order
                var cart = CarrinhoDeCompras.GetCart(this.HttpContext);
                cart.CreateOrder(order);

                return(RedirectToAction("Complete",
                                        new { id = order.PedidoId }));
            }
            catch
            {
                //Invalid - redisplay with errors
                return(View(order));
            }
        }
        public ActionResult RemoveFromCart(int id)
        {
            // Remove o item do ItemVenda
            var cart = CarrinhoDeCompras.GetCart(this.HttpContext);

            // Pega o nome do álbum para exibir a confirmação
            string nomeProduto = storeDB.ItemVendaes
                                 .Single(item => item.RecordId == id).Produto.Titulo;

            // Remove do ItemVenda
            int itemCount = cart.RemoveFromCart(id);

            // Mostra a confirmação da mensagem
            var results = new CarrinhodeComprasRemoverViewModel
            {
                Message = Server.HtmlEncode(nomeProduto) +
                          " Foi removido do ItemVenda.",
                CartTotal = cart.GetTotal(),
                CartCount = cart.GetCount(),
                ItemCount = itemCount,
                DeleteId  = id
            };

            return(Json(results));
        }
        public ActionResult RemoveFromCart(int id)
        {
            // Remove the item from the cart
            var cart = CarrinhoDeCompras.GetCart(this.HttpContext);

            // Get the name of the album to display confirmation
            string nomeProduto = storeDB.Carrrinhos
                                 .Single(item => item.RecordId == id).Produto.Nome;

            // Remove from cart
            int itemCount = cart.RemoveFromCart(id);

            // Display the confirmation message
            var results = new CarrinhoDeComprasRemoverViewModel
            {
                Message = Server.HtmlEncode(nomeProduto) +
                          " Foi removido do carrinho.",
                CartTotal = cart.GetTotal(),
                CartCount = cart.GetCount(),
                ItemCount = itemCount,
                DeleteId  = id
            };

            return(Json(results));
        }
        public ActionResult ClienteFormadePagamento(FormCollection values)
        {
            ViewBag.Clientes = storeDB.Users;
            var order = new Pedido();

            TryUpdateModel(order);
            string forma = Request.Form["FormaPagamento"];

            try
            {
                order.FormaPagamento = forma;
                order.Usuario        = User.Identity.Name;
                order.DataPedido     = DateTime.Now;
                order.Total          = CarrinhoDeCompras.GetCart(this.HttpContext).GetTotal();
                //Salva o Pedido
                storeDB.Pedidoes.Add(order);
                storeDB.SaveChanges();
                //Processa o pedido
                var cart = CarrinhoDeCompras.GetCart(this.HttpContext);
                cart.CreateOrder(order, (List <Pagamento>)Session["cards"], (Cupom)Session["cup_pro"]);
                Session["cards"]   = null;
                Session["cup_pro"] = null;
                return(RedirectToAction("Complete", new { id = order.PedidoId }));
            }
            catch
            {
                //Invalido - Devolve tela com erros
                return(View(order));
            }
        }
        public ActionResult ClienteFormadePagamento(FormCollection values, int?id, int?cartao)
        {
            int dec = 0;

            int.TryParse(Request.Form["FormaPagamento"], out dec);
            cartao = dec;
            EnderecoEntrega end = storeDB.EnderecoEntregas.Find(endere);

            if (end == null)
            {
                return(HttpNotFound());
            }

            ViewBag.Clientes = storeDB.Users;
            var order = new Pedido();

            TryUpdateModel(order);

            try
            {
                order.FormaPagamento = " ";
                order.Usuario        = User.Identity.Name;
                order.DataPedido     = DateTime.Now;
                order.Endereco       = end.Id;
                order.Total          = CarrinhoDeCompras.GetCart(this.HttpContext).GetTotal();
                //Salva o Pedido
                storeDB.Pedidoes.Add(order);
                storeDB.SaveChanges();
                var cart = CarrinhoDeCompras.GetCart(this.HttpContext);
                cart.CreateOrder(order, (List <Pagamento>)Session["cards"], (Cupom)Session["cup_pro"]);
                Session["cards"]   = null;
                Session["cup_pro"] = null;
                PedidoStatus stats = new PedidoStatus();
                stats.DataStatus = DateTime.Now;
                stats.PedidoId   = order.PedidoId;
                stats.StatusId   = 1;
                storeDB.PedidoStatus.Add(stats);
                storeDB.SaveChanges();
                if (cupons == true)
                {
                    Cupom cup = storeDB.Cupom.Find(cupo);
                    cup.Ativo = false;
                }
                storeDB.SaveChanges();

                return(RedirectToAction("Complete", new { id = order.PedidoId }));
            }
            catch
            {
                //Invalido - Devolve tela com erros
                return(View(order));
            }
        }
        //
        // GET: /ShoppingCart/


        public ActionResult Index()
        {
            var cart = CarrinhoDeCompras.GetCart(this.HttpContext);
            // Set up our ViewModel
            var viewModel = new CarrinhodeComprasViewModel
            {
                CartItems = cart.GetCartItems(),
                CartTotal = cart.GetTotal(),
            };

            // Return the view
            return(View(viewModel));
        }
        //
        // GET: /Store/AddToCart/5



        public ActionResult AddToCart(int id)
        {
            // Recupera o álbum do banco de dados
            var addProduto = storeDB.Produtoes
                             .Single(produto => produto.Id == id);

            // Adiciona ao ItemVenda de compras
            var cart = CarrinhoDeCompras.GetCart(this.HttpContext);

            cart.AddToCart(addProduto);

            // Volta para a página da loja principal para mais compras
            return(RedirectToAction("Index", "Home", null));
        }
        //
        // GET: /Store/AddToCart/5



        public ActionResult AddToCart(int id)
        {
            // Retrieve the album from the database
            var addProduto = storeDB.Produtos
                             .Single(produto => produto.ProdutoId == id);

            // Add it to the shopping cart
            var cart = CarrinhoDeCompras.GetCart(this.HttpContext);

            cart.AddToCart(addProduto);

            // Go back to the main store page for more shopping
            return(RedirectToAction("Index", "Home", null));
        }
        public ActionResult ListagemCartao()
        {
            var cart = CarrinhoDeCompras.GetCart(this.HttpContext);
            // Set up our ViewModel
            var viewModel = new CarrinhodeComprasViewModel
            {
                CartItems = cart.GetCartItems(),
                CartTotal = cart.GetTotal(),
            };

            ViewBag.Falta = valorView;
            ViewBag.Total = viewModel.CartTotal;
            return(View(new Tuple <Pagamento, List <Cartao> >(new Pagamento(), storeDB.Cartaos.ToList())));
        }
Exemplo n.º 12
0
        public ActionResult ClienteEFormaPagamento(string pagamento)
        {
            var cart = CarrinhoDeCompras.GetCart(this.HttpContext);

            // Set up our ViewModel
            var viewModel = new CarrinhoDeComprasViewModel
            {
                CartItems = cart.GetCartItems(),
                CartTotal = cart.GetTotal()
            };

            // Return the view
            viewModel.FormaPagamento = pagamento;
            return(View(viewModel));
        }
        public ActionResult UpdateCartCount(int id, int cartCount)
        {
            CarrinhodeComprasRemoverViewModel results = null;

            try
            {
                // Obtein o ItemVenda
                var cart = CarrinhoDeCompras.GetCart(this.HttpContext);

                // Pega o nome do álbum para exibir a confirmação
                string albumName = storeDB.ItemVendaes.Single(item => item.RecordId == id).Produto.Titulo;

                // Update a contagem do ItemVenda
                int itemCount = cart.UpdateCartCount(id, cartCount);

                //Prepara menssages
                string msg = "A quantidade de " + Server.HtmlEncode(albumName) +
                             " foi atualizada no ItemVenda";
                if (itemCount == 0)
                {
                    msg = Server.HtmlEncode(albumName) +
                          " foi removida do ItemVenda.";
                }
                //
                // Mostra mensagem de confirmação
                results = new CarrinhodeComprasRemoverViewModel
                {
                    Message   = msg,
                    CartTotal = cart.GetTotal(),
                    CartCount = cart.GetCount(),
                    ItemCount = itemCount,
                    DeleteId  = id
                };
            }
            catch
            {
                results = new CarrinhodeComprasRemoverViewModel
                {
                    Message   = "Erro ocorreu ou entrada inválida...",
                    CartTotal = -1,
                    CartCount = -1,
                    ItemCount = -1,
                    DeleteId  = id
                };
            }
            return(Json(results));
        }
        public ActionResult UpdateCartCount(int id, int cartCount)
        {
            CarrinhoDeComprasRemoverViewModel results = null;

            try
            {
                // Get the cart
                var cart = CarrinhoDeCompras.GetCart(this.HttpContext);

                // Get the name of the album to display confirmation
                string albumName = storeDB.Carrrinhos.Single(item => item.RecordId == id).Produto.Nome;

                // Update the cart count
                int itemCount = cart.UpdateCartCount(id, cartCount);

                //Prepare messages
                string msg = "A quantidade de " + Server.HtmlEncode(albumName) +
                             " foi atualizada no carrinho";
                if (itemCount == 0)
                {
                    msg = Server.HtmlEncode(albumName) +
                          " foi removida do carrinho.";
                }
                //
                // Display the confirmation message
                results = new CarrinhoDeComprasRemoverViewModel
                {
                    Message   = msg,
                    CartTotal = cart.GetTotal(),
                    CartCount = cart.GetCount(),
                    ItemCount = itemCount,
                    DeleteId  = id
                };
            }
            catch
            {
                results = new CarrinhoDeComprasRemoverViewModel
                {
                    Message   = "Erro ocorreu ou entrada inválida...",
                    CartTotal = -1,
                    CartCount = -1,
                    ItemCount = -1,
                    DeleteId  = id
                };
            }
            return(Json(results));
        }
        public ActionResult ClienteFormadePagamento(string pagamento)
        {
            var cart = CarrinhoDeCompras.GetCart(this.HttpContext);

            if (storeDB.EnderecoEntregas.Where(x => x.Usuario == User.Identity.Name).FirstOrDefault() == null)
            {
                return(RedirectToAction("EnderecoEntrega"));
            }
            // Set up our ViewModel
            var viewModel = new CarrinhodeComprasViewModel
            {
                CartItems = cart.GetCartItems(),
                CartTotal = cart.GetTotal()
            };

            // Retorna a view
            viewModel.FormaPagamento = pagamento;
            return(View(viewModel));
        }
        public ActionResult orc(string pagamento, int?id, int?cartao, decimal?valor, string cupom)
        {
            if (endere == 0)
            {
                //se o id recebido for nulo
                //manda cadastrar endereço
                //senão acha o endereço e salve-o
                if (id == null)
                {
                    endere = 0;
                    return(RedirectToAction("EscolhaEndereco"));
                }
                else
                {
                    EnderecoEntrega end = storeDB.EnderecoEntregas.Find(id);
                    endere = id.Value;
                    if (end == null)
                    {
                        return(HttpNotFound());
                    }
                }
            }
            valor = (valor == null) ? 0 : valor;
            var cart = CarrinhoDeCompras.GetCart(this.HttpContext);

            foreach (var r in storeDB.Cartaos.ToList())
            {
                if (Request.Form[r.Id.ToString()] != null)
                {
                    cartao = int.Parse(Request.Form[r.Id.ToString()]);
                    break;
                }
            }
            var     cards  = new List <Pagamento>();
            decimal valord = (decimal)valor;

            //if (cupom == null)
            {
                Cartao card = null;
                if (cartao != null)
                {
                    card = storeDB.Cartaos.Find(cartao);
                }
                //var cards = new List<Pagamento>();//lista de cartoes
                //adiciona cartao na sessão
                //cria uma lista de obj cartoes na sessao
                if (Session["cards"] != null)
                {
                    cards = (List <Pagamento>)Session["cards"];
                }
                if (card != null)
                {
                    cards.Add(new Pagamento()
                    {
                        Cartaoid = card.Id, Valor = valord
                    });
                }
                Session["cards"] = cards;
            }
            if (cupom != null)
            {
                //Cupom cup = storeDB.Cupom.Find(cupom);
                Cupom cup = storeDB.Cupom.Where(x => x.Codigo == cupom).FirstOrDefault();
                Session["cup_pro"] = cup;
                if (cup == null)
                {
                    return(HttpNotFound());
                }
                cupons = true;
            }
            // Set up our ViewModel
            var viewModel = new CarrinhodeComprasViewModel
            {
                CartItems = cart.GetCartItems(),
                CartTotal = cart.GetTotal(),
            };
            decimal mountcard = 0;

            foreach (Pagamento pag in cards)
            {
                mountcard += pag.Valor;
                if (mountcard > cart.GetTotal())
                {
                    mountcard  = 0;
                    mountcard += pag.Valor;
                }
            }
            if (Session["cup_pro"] != null)
            {
                mountcard += ((Cupom)Session["cup_pro"]).Valor;
            }
            // Retorna a view
            //viewModel.FormaPagamento = pagamento;
            valorView = viewModel.CartTotal - mountcard;
            viewModel.FormaPagamento = cartao.ToString();
            viewModel.EndId          = endere;
            if (cart.GetTotal() == mountcard)
            {
                valorView = 0;
                return(View("ClienteFormadePagamento", viewModel));
            }
            else
            {
                return(RedirectToAction("ListagemCartao"));
            }
        }