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; }
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))); }