Exemple #1
0
        protected override void ToViewModel()
        {
            SelecionarCartaoModel vm = new SelecionarCartaoModel();

            IList <CartaoPedido>  cartoesPedido = (IList <CartaoPedido>)Entidades["CartaoPedio"];
            IList <CartaoCredito> cartoes       = (IList <CartaoCredito>)Entidades[typeof(IList <CartaoCredito>).Name];
            IEnumerable <int>     ids           = cartoesPedido.Select(c => c.CartaoId);

            foreach (var cart in cartoes)
            {
                ItemListaCartoesPedidoModel item = new ItemListaCartoesPedidoModel();
                item.Ativado        = ids.Contains(cart.Id);
                item.Bandeira       = cart.Bandeira.Nome;
                item.DtVencimento   = cart.Vencimento;
                item.Id             = cart.Id;
                item.UltimosDigitos = cart.Codigo.Substring(cart.Codigo.Length - 3, 2);
                if (item.Ativado)
                {
                    item.Valor = cartoesPedido.Where(c => c.CartaoId == cart.Id).FirstOrDefault().Valor.ToString();
                }
                else
                {
                    item.Valor = "0";
                }
                vm.Cartoes.Add(item);
            }

            _viewModel = vm;
        }
Exemple #2
0
        protected override void ToEntidade()
        {
            SelecionarCartaoModel vm = (SelecionarCartaoModel)ViewModel;

            IList <CartaoPedido> cartoesPedidos = new List <CartaoPedido>();

            foreach (var item in vm.Cartoes)
            {
                if (item.Ativado)
                {
                    cartoesPedidos.Add(new CartaoPedido
                    {
                        CartaoId = Convert.ToInt32(item.Id),
                        Valor    = Convert.ToDouble(item.Valor.Replace('.', ',').Split(new char[] { '#' }, StringSplitOptions.RemoveEmptyEntries)[0])
                    });
                }
            }

            _entidades[typeof(IList <CartaoPedido>).Name] = cartoesPedidos;
        }
        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));
        }
        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)));
        }