public static void Executar() { var produtos = new List <Produto> { new Produto { Nome = "Tenis Adidas", Valor = new Random().Next(500) }, new Produto { Nome = "Tenis Adidas", Valor = new Random().Next(500) }, new Produto { Nome = "Tenis Adidas", Valor = new Random().Next(500) }, }; var pedido = new Pedido { Id = Guid.NewGuid(), Produtos = produtos }; var meioPagamentoCredito = new Pagamento { MeioPagamento = MeioPagamento.CartaoCredito, CartaoCredito = "5555 2222 5555 9999" }; var meioPagamentoBoleto = new Pagamento { MeioPagamento = MeioPagamento.Boleto, }; var meioPagamentoTransferencia = new Pagamento { MeioPagamento = MeioPagamento.TransferenciaBancaria, CartaoCredito = "5555 2222 5555 9999" }; var pedidoCredito = new PedidoService(PagamentoFactory.CreatePagamento(meioPagamentoCredito.MeioPagamento)); var pagamentoCredito = pedidoCredito.RealizarPagamento(pedido, meioPagamentoCredito); Console.WriteLine(pagamentoCredito.Status); Console.WriteLine("-----------------------------------------------------------------"); var pedidoBoleto = new PedidoService(PagamentoFactory.CreatePagamento(meioPagamentoBoleto.MeioPagamento)); var pagamentoBoleto = pedidoBoleto.RealizarPagamento(pedido, meioPagamentoBoleto); Console.WriteLine(pagamentoBoleto.Status); Console.WriteLine("-----------------------------------------------------------------"); var pedidoTransferencia = new PedidoService(PagamentoFactory.CreatePagamento(meioPagamentoTransferencia.MeioPagamento)); var pagamentoTransferencia = pedidoTransferencia.RealizarPagamento(pedido, meioPagamentoTransferencia); Console.WriteLine(pagamentoTransferencia.Status); Console.WriteLine("-----------------------------------------------------------------"); }
public static void Execute() { var produtos = new List <Produto>() { new Produto { Id = Guid.NewGuid(), Descricao = "Alcool Gel 70 vol.", Valor = 15.01M }, new Produto { Id = Guid.NewGuid(), Descricao = "Mascara Especial", Valor = 27.35M }, new Produto { Id = Guid.NewGuid(), Descricao = "Roupa Especial", Valor = 150.50M }, }; var pedido = new Pedido(produtos) { Id = new Random().Next(999999999), DataPedido = DateTime.Now, Valor = 0.0M }; var pagamento = new Pagamento(pedido, MeioPagamento.CartaoCredito) { CartaoCredito = new CartaoCredito { NomeTitular = "Fulano de Tal", //Faltou Bandeiras (Visa, AMEX, Dinners, etc) NumeroCartao = "1111-1111-1111-1111", DataValidadeMes = "01", DataValidadeAno = "30", CodigoSeguranca = "123" } }; var pedidoCredito = new PedidoService(PagamentoFactory.CreatePagamento(MeioPagamento.CartaoCredito)); var pagamentoCredito = pedidoCredito.RealizarPagamento(pedido, pagamento); var pedidoBoleto = new PedidoService(PagamentoFactory.CreatePagamento(MeioPagamento.Boleto)); var pagamentoBoleto = pedidoBoleto.RealizarPagamento(pedido, pagamento); var pedidoTransferencia = new PedidoService(PagamentoFactory.CreatePagamento(MeioPagamento.TransferenciaBancaria)); var pagamentoTransferencia = pedidoTransferencia.RealizarPagamento(pedido, pagamento); }
public static void Executar() { var produtos = new List <Produto> { new Produto { Nome = "Tenis Adidas", Valor = new Random().Next(500) }, new Produto { Nome = "Camisa Boliche", Valor = new Random().Next(500) }, new Produto { Nome = "Raquete Tenis", Valor = new Random().Next(500) } }; var pedido = new Pedido { Id = Guid.NewGuid(), Produtos = produtos }; var meioPagamentoCredito = new Pagamento { MeioPagamento = MeioPagamento.CartaoCredito, CartaoCredito = "5555 2222 5555 9999" }; var meioPagamentoBoleto = new Pagamento { MeioPagamento = MeioPagamento.Boleto }; var meioPagamentoTransferencia = new Pagamento { MeioPagamento = MeioPagamento.TransferenciaBancaria, CartaoCredito = "5555 2222 5555 9999" }; #region Forma Simples var pedidoCredito = new PedidoService( new PagamentoCartaoCreditoService( new PagamentoCartaoCreditoFacade( new PayPalGateway(), new ConfigurationManager()))); var pagamentoCredito = pedidoCredito.RealizarPagamento(pedido, meioPagamentoCredito); Console.WriteLine(pagamentoCredito.Status); Console.WriteLine("-------------------------------------------------------"); var pedidoBoleto = new PedidoService( new PagamentoBoletoService( new PagamentoBoletoFacade())); var pagamentoBoleto = pedidoBoleto.RealizarPagamento(pedido, meioPagamentoBoleto); Console.WriteLine(pagamentoBoleto.Status); Console.WriteLine("-------------------------------------------------------"); var pedidoTransferencia = new PedidoService( new PagamentoTransferenciaService( new PagamentoTransferenciaFacade())); var pagamentoTransferencia = pedidoTransferencia.RealizarPagamento(pedido, meioPagamentoBoleto); Console.WriteLine(pagamentoTransferencia.Status); Console.WriteLine("-------------------------------------------------------"); #endregion #region Forma Elegante var pedidoCredito2 = new PedidoService(PagamentoFactory.CreatePagamento(meioPagamentoCredito.MeioPagamento)); var pagamentoCredito2 = pedidoCredito2.RealizarPagamento(pedido, meioPagamentoCredito); Console.WriteLine(pagamentoCredito2.Status); Console.WriteLine("-------------------------------------------------------"); var pedidoBoleto2 = new PedidoService(PagamentoFactory.CreatePagamento(meioPagamentoBoleto.MeioPagamento)); var pagamentoBoleto2 = pedidoBoleto2.RealizarPagamento(pedido, meioPagamentoBoleto); Console.WriteLine(pagamentoBoleto2.Status); Console.WriteLine("-------------------------------------------------------"); var pedidoTransferencia2 = new PedidoService(PagamentoFactory.CreatePagamento(meioPagamentoTransferencia.MeioPagamento)); var pagamentoTransferencia2 = pedidoTransferencia2.RealizarPagamento(pedido, meioPagamentoTransferencia); Console.WriteLine(pagamentoTransferencia2.Status); #endregion }