Esempio n. 1
0
        public IActionResult _SelecionarCartao()
        {
            Cliente clienteDb = GetClienteDb();
            Pedido  p         = GetPedidoNaoFinalizado(clienteDb);
            IList <CartaoPedido>  cartaoPedido = p.CartaoPedidos;
            IList <CartaoCredito> cartoes      = clienteDb.Cartoes;

            _vh = new SelecionarCartaoViewHelper
            {
                Entidades = new Dictionary <string, object>
                {
                    ["CartaoPedio"] = cartaoPedido,
                    [typeof(IList <CartaoCredito>).Name] = cartoes
                }
            };
            SelecionarCartaoModel vm = (SelecionarCartaoModel)_vh.ViewModel;

            vm.Bandeiras  = _facade.Listar <BandeiraCartaoCredito>().OrderBy(b => b.Nome).ToList();
            vm.Vencimento = DateTime.Now;
            vm.ValorTotal = p.CalcularValorTotal();

            return(PartialView("../CarrinhoCompra/PartialViews/_SelecionarCartaoPartial", _vh.ViewModel));
        }
Esempio n. 2
0
        public IActionResult AlterarPagamento(SelecionarCartaoModel vm)
        {
            _vh = new SelecionarCartaoViewHelper
            {
                ViewModel = vm
            };

            IList <CartaoPedido> cartaoPedidos = (IList <CartaoPedido>)_vh.Entidades[typeof(IList <CartaoPedido>).Name];

            Cliente clienteDb = GetClienteDb();
            Pedido  pedido    = GetPedidoNaoFinalizado(clienteDb);

            int lastIndex = pedido.CartaoPedidos.Count() - 1;

            for (int i = lastIndex; i >= 0; i--)
            {
                _daoCartaoPedido.Remove(pedido.CartaoPedidos[i]);
            }

            pedido.CartaoPedidos = new List <CartaoPedido>();

            for (int i = 0; i < cartaoPedidos.Count(); i++)
            {
                cartaoPedidos[i].Cartao = clienteDb.Cartoes.Where(c => c.Id == cartaoPedidos[i].CartaoId).FirstOrDefault();
                cartaoPedidos[i].Pedido = pedido;
                pedido.CartaoPedidos.Add(cartaoPedidos[i]);
            }

            string msg = _facade.Editar(pedido);

            if (msg != "")
            {
                TempData["Alert"] = msg;
            }
            return(RedirectToAction(nameof(FinalizarCompra)));
        }