static void Main(string[] args) { Pagamento pb = new PagamentoBoleto(1, "Muito Bom!"); Pagamento pc = new PagamentoCartao() { Id = 1, Descricao = "Top", Valor = 2000 }; PagamentoPix pix = new PagamentoPix() { Id = 1, Descricao = "Uia", Valor = 5000, Chave = new Chave() { Id = 1, Tipo = "cpf", Valor = 1000 } }; Console.WriteLine("Validação: " + pix.ValidaValor()); //Console.WriteLine("Teste Protect: " + pix.ELegal()); if (pix.IncluirPagamento()) { Console.WriteLine(pix); } Console.ReadKey(); }
public async Task AtualizaStatusPagamento(PagamentoCartao pagtoRetornado) { // Atualiza o pagamento, caso encontre na base var pagto = (PagamentoCartao)_pagamentoRepository.GetById(pagtoRetornado.Id).Result; if (pagto == null) { throw new Exception("Pagamento não localizado"); } // Atualiza status do pedido, conforme o status do pagamento foi retornado var pedido = await _pedidoRepository.GetPedidoByPagamento(pagto.Id); if (pedido == null) { throw new Exception("Pedido não localizado para o pagamento"); } // Ajusta o status do pedido e pagamento pagto.Status = pagtoRetornado.Status; pedido.StatusPedido = pagtoRetornado.Status == StatusCartao.aprovado ? StatusPedido.aguardandoEntrega : StatusPedido.reprovado; // Atualiza pagamento e pedido await _pagamentoRepository.UpdatePagamento(pagto); await _pedidoRepository.UpdatePedido(pedido); }
public void TestaAdicionaPagamento() { var pagto = new PagamentoCartao("VISA", "9832.5252", DateTime.Now, 123, (decimal)520.52, StatusCartao.aguardandoAprovacao); _pagamentoRepository.AddPagamento(pagto).Wait(); Assert.NotNull(pagto); }
public static PagamentoCartao ToPagamentoCartao(PagamentoViewModel pagamentoViewModel) { var pagamentoCartao = new PagamentoCartao( pagamentoViewModel.NumeroCartao, pagamentoViewModel.NomeCartao, pagamentoViewModel.MesVencimento, pagamentoViewModel.AnoVencimento, pagamentoViewModel.CodigoSeguranca); return(pagamentoCartao); }
public async Task <Pedido> RealizarPedido(RealizarPedidoRequest pedidoRequest, string userName) { // Encontra cliente pelo Usuário Logado (Token) var cliente = await _clienteRepository.GetByUserName(userName); if (cliente == null) { throw new Exception("Cliente não localizado"); } // Cálcula a distância para o pedido var distancia = GEOCalculaDistancia.CalculaDistanciaEmKM(new GEOParams(LATITUDE, LONGITUDE, cliente.Latitude, cliente.Longitude)); var pagamento = new PagamentoCartao( pedidoRequest.Bandeira, pedidoRequest.Numero, pedidoRequest.Vencimento, pedidoRequest.CodigoSeguranca, pedidoRequest.Valor, StatusCartao.aguardandoAprovacao ); // Salva o pedido na base var pedido = new Pedido { Cliente = cliente, DataHora = DateTime.Now, Peso = pedidoRequest.Peso, DistanciaParaOrigem = distancia, StatusPedido = StatusPedido.aguardandoAprovacao, PagamentoCartao = pagamento }; //await _pedidoRepository.AddPedido(pedido); await _pedidoRepository.AddPedido(pedido); // Envia o pedido para Pagamento var pagamentoREquest = new CmmPagRequest() { Bandeira = pagamento.Bandeira, CodigoSeguranca = pagamento.CodigoSeguranca, CreatedAt = DateTime.Now, Name = cliente.Nome, NumeroCartao = pagamento.Numero, PayId = pagamento.Id, Status = StatusCartao.aguardandoAprovacao, Valor = pagamento.Valor, Vencimento = pagamento.Vencimento }; var result = await _payAPIHandler.PostRealizarPagamento(pagamentoREquest); if (!result.IsSuccessStatusCode) { throw new Exception("Falha ao realizar o pagamento"); } return(pedido); }
public string excluirpagamentosCartao(PagamentoCartao pagamentoCartao) { string erro = null; try { pagamentosCartao.DeleteObject(pagamentoCartao); db.SaveChanges(); } catch (Exception ex) { erro = ex.Message; } return erro; }
public string adicionarPagamentosCartao(PagamentoCartao pagamentoCartao) { string erro = null; try { pagamentosCartao.AddObject(pagamentoCartao); db.SaveChanges(); } catch (Exception ex) { erro = ex.Message; } return erro; }
public string adicionarPagamentosCartao(PagamentoCartao pagamentoCartao) { string erro = null; try { pagamentosCartao.AddObject(pagamentoCartao); db.SaveChanges(); } catch (Exception ex) { erro = ex.Message; } return(erro); }
public string excluirpagamentosCartao(PagamentoCartao pagamentoCartao) { string erro = null; try { pagamentosCartao.DeleteObject(pagamentoCartao); db.SaveChanges(); } catch (Exception ex) { erro = ex.Message; } return(erro); }
public string editarPagamentosCartao(PagamentoCartao pagamentoCartao) { string erro = null; try { if (pagamentoCartao.EntityState == System.Data.EntityState.Detached) { pagamentosCartao.Attach(pagamentoCartao); } db.ObjectStateManager.ChangeObjectState(pagamentoCartao, System.Data.EntityState.Modified); db.SaveChanges(); } catch (Exception ex) { erro = ex.Message; } return erro; }
public string editarPagamentosCartao(PagamentoCartao pagamentoCartao) { string erro = null; try { if (pagamentoCartao.EntityState == System.Data.EntityState.Detached) { pagamentosCartao.Attach(pagamentoCartao); } db.ObjectStateManager.ChangeObjectState(pagamentoCartao, System.Data.EntityState.Modified); db.SaveChanges(); } catch (Exception ex) { erro = ex.Message; } return(erro); }
public async Task <ActionResult> AtualizarStatusPagamento([FromBody] CmmPagRequest cmmPagRequest) { try { var pagamento = new PagamentoCartao( cmmPagRequest.Bandeira, cmmPagRequest.NumeroCartao, cmmPagRequest.Vencimento, cmmPagRequest.CodigoSeguranca, cmmPagRequest.Valor, cmmPagRequest.Status) { Id = cmmPagRequest.PayId }; await _pedidoHandler.AtualizaStatusPagamento(pagamento); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
private void buttonCartão_Click(object sender, EventArgs e) { if (!VerificarCamposCartao()) { Helper.ShowErro("Preencha os campos sobre o cartão para prosseguir!"); return; } Ingresso ingresso = GerarIngresso(); PagamentoCartao pagamentoCartao = new PagamentoCartao(); pagamentoCartao.Valorapagar = ingresso.Valorinteiro ? evento.Valoringresso : evento.Valoringresso / 2; pagamentoCartao.Nometitular = textBoxNomeCartao.Text; pagamentoCartao.Numerocartao = textBoxNumeroCartao.Text; pagamentoCartao.Codseguranca = textBoxCodSegurancaCartao.Text; pagamentoCartao.Datavalidade = textBoxValidadeCartao.Text; ingresso.Pagamentocartaos.Add(pagamentoCartao); ingressoController.Save(ingresso); Helper.ShowSucesso("Compra efetuada com Sucesso!"); Close(); }
public static void RegistarPedidos() { Console.WriteLine("Registe a morada do cliente: "); Console.Write("Código morada: "); int IdMorada = int.Parse(Console.ReadLine()); Console.Write("Rua: "); string rua = Console.ReadLine(); Console.Write("Localidade: "); string localidade = Console.ReadLine(); Morada morada = new Morada(IdMorada, rua, localidade); Console.WriteLine("Registe os dados do cliente: "); Console.Write("Código Cliente: "); int codigo = int.Parse(Console.ReadLine()); Console.Write("Nome Cliente: "); string nome = Console.ReadLine(); Console.Write("Email Cliente: "); string email = Console.ReadLine(); Cliente cliente = new Cliente(codigo, nome, email, morada); Console.Write("Quantos pedidos?: "); int P = int.Parse(Console.ReadLine()); for (int i = 1; i <= P; i++) { Console.Write("Digite os dados do " + i + "º item:"); Console.Write("Código: "); int codigoPedido = int.Parse(Console.ReadLine()); Console.Write("Dia: "); int dia = int.Parse(Console.ReadLine()); Console.Write("Mês: "); int mes = int.Parse(Console.ReadLine()); Console.Write("Ano: "); int ano = int.Parse(Console.ReadLine()); Pedido pedido = new Pedido(codigoPedido, dia, mes, ano, cliente); Console.Write("Quantos itens tem o pedido?: "); int N = int.Parse(Console.ReadLine()); for (int e = 1; e <= N; e++) { Console.Write("Digite os dados do " + e + "º item:"); Console.Write("produto (codigo): "); int CodProduto = int.Parse(Console.ReadLine()); int pos = Program.produto.FindIndex(x => x.IdProduto == CodProduto); if (pos == -1) { throw new ModelExpecetion("Código de produto não encontrado " + CodProduto); } Console.Write("Quantidade: "); int qte = int.Parse(Console.ReadLine()); Console.Write("Percentagem de desconto: "); double desconto = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture); ItemPedido itemPedido = new ItemPedido(desconto, qte, Program.produto[pos].Preco, pedido, Program.produto[pos]); pedido.itens.Add(itemPedido); Console.Write("Pagamento será feito em cartão ou referência (C/R)? "); char ch = char.Parse(Console.ReadLine()); if (ch == 'c') { Console.Write("Referência "); int parcela = int.Parse(Console.ReadLine()); Pagamento c = new PagamentoCartao(parcela, EstadoPagamento.Aceite); pedido.pagamento.Add(c); Console.WriteLine(c); } else { Console.Write("Dia: "); int day = int.Parse(Console.ReadLine()); Console.Write("Mês: "); int mon = int.Parse(Console.ReadLine()); Console.Write("Ano: "); int year = int.Parse(Console.ReadLine()); Pagamento r = new PagamentoReferencia(day, mon, year, EstadoPagamento.Aceite); pedido.pagamento.Add(r); Console.WriteLine(r); } Program.Pedido.Add(pedido); } } }