//
        // 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));
        }
        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())));
        }
        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"));
            }
        }