public List <Models.Pagamento> ObterTodos() { List <Models.Pagamento> dados = new List <Models.Pagamento>(); try { string sql = @"select * from pagamento"; DataTable dt = _bd.ExecutarSelect(sql); foreach (DataRow row in dt.Rows) { Models.Pagamento pagamento = new Models.Pagamento(); pagamento.Id = Convert.ToInt32(row["Id"]); pagamento.Descriçao = row["Descriçao"].ToString(); pagamento.FormaPag = row["FormaPag"].ToString(); pagamento.dtVencimento = row["DtVencimento"].ToString(); pagamento.Valor = Convert.ToDouble(row["Valor"]); pagamento.Quitado = Convert.ToBoolean(row["Quitado"]); pagamento.dtPagamento = row["DtPagamento"].ToString(); pagamento.ValorParcial = Convert.ToDouble(row["ValorParcial"]); dados.Add(pagamento); } } catch (Exception ex) { throw; } finally { _bd.Fechar(); } return(dados); }
public async Task <Transacao> AutorizarPagamento(Models.Pagamento pagamento) { var nerdsPagSvc = new NerdsPagService(_pagamentoConfig.DefaultApiKey, _pagamentoConfig.DefaultEncryptionKey); var cardHashGen = new CardHash(nerdsPagSvc) { CardNumber = pagamento.CartaoCredito.NumeroCartao, CardHolderName = pagamento.CartaoCredito.NomeCartao, CardExpirationDate = pagamento.CartaoCredito.MesAnoVencimento, CardCvv = pagamento.CartaoCredito.CVV }; var cardHash = cardHashGen.Generate(); var transacao = new Transaction(nerdsPagSvc) { CardHash = cardHash, CardNumber = pagamento.CartaoCredito.NumeroCartao, CardHolderName = pagamento.CartaoCredito.NomeCartao, CardExpirationDate = pagamento.CartaoCredito.MesAnoVencimento, CardCvv = pagamento.CartaoCredito.CVV, PaymentMethod = PaymentMethod.CreditCard, Amount = pagamento.Valor }; return(ParaTransacao(await transacao.AuthorizeCardTransaction())); }
public ActionResult EditarPagamento(Models.Pagamento collection) { Models.Data.PagamentoData pd = new Models.Data.PagamentoData(); pd.EditarPagamento(collection); return(RedirectToAction(nameof(ListaPagamento))); }
public async Task <ResponseMessage> AutorizarPagamento(Models.Pagamento pagamento) { var transacao = await _pagamentoFacade.AutorizarPagamento(pagamento); var validationResult = new ValidationResult(); if (transacao.Status != StatusTransacao.Autorizado) { validationResult.Errors.Add(new ValidationFailure("Pagamento", "Pagamento recusado, entre em contato com a sua operadora de cartão.")); return(new ResponseMessage(validationResult)); } pagamento.AdicionarTransacao(transacao); _pagamentoRepository.AdicionarPagamento(pagamento); if (!await _pagamentoRepository.UnitOfWork.Commit()) { validationResult.Errors.Add(new ValidationFailure("Pagamento", "Houve um erro ao realizar o pagamento.")); //TODO: Comunicar com o gateway para realizar o estorno. return(new ResponseMessage(validationResult)); } return(new ResponseMessage(validationResult)); }
public void Registrar([FromBody] string conteudo) { Models.Pagamento pagamento = JsonConvert.DeserializeObject <Models.Pagamento>(conteudo); Models.LojaDataContext dc = new Models.LojaDataContext(); dc.Pagamentos.InsertOnSubmit(pagamento); dc.SubmitChanges(); }
public List <Models.Pagamento> Listar(Models.Pagamento pagamento) { Models.LojaDataContext dc = new Models.LojaDataContext(); var pagamentos = from p in dc.Pagamentos where p.funcionario_id == pagamento.funcionario_id && p.mesReferente == pagamento.mesReferente && p.anoReferente == pagamento.anoReferente select p; return(pagamentos.ToList()); }
public void Alterar(int id, [FromBody] string conteudo) { Models.LojaDataContext dc = new Models.LojaDataContext(); Models.Pagamento newPagamento = JsonConvert.DeserializeObject <Models.Pagamento>(conteudo); Models.Pagamento oldPagamento = (from p in dc.Pagamentos where p.id == id select p).Single(); oldPagamento = newPagamento; dc.SubmitChanges(); }
public static PagamentoResult ToResult(this Models.Pagamento result) { return(new PagamentoResult() { NumeroCartao = result.NumeroCartao, NumeroParcelas = result.NumeroParcelas, PagamentoId = result.PagamentoId, Total = result.Total, ValorParcelas = result.ValorParcelas }); }
public bool QuitarParcial(double valorparcial, int id) { int linhasAfetadas = 0; DateTime thisDay = DateTime.Today; string dtpagamento = thisDay.ToString(); var dt = dtpagamento.Split(' '); Models.Pagamento pagamento = new Models.Pagamento(); pagamento = Obter(id); pagamento.ValorParcial = pagamento.ValorParcial + valorparcial; try { if (pagamento.ValorParcial > pagamento.Valor) { return(false); } else { if (pagamento.Valor == pagamento.ValorParcial) { GravarParcial(pagamento.Valor, pagamento.dtVencimento, pagamento.Descriçao, pagamento.FormaPag, valorparcial, dt[0]); string update = @"update pagamento set ValorParcial = @ValorParcial, Quitado = @Quitado where Id =" + id; //var parametros = _bd.GerarParametros(); Dictionary <string, object> parametros = new Dictionary <string, object>(); parametros.Add("@ValorParcial", pagamento.ValorParcial); parametros.Add("@Quitado", true); linhasAfetadas = _bd.ExecutarNonQuery(update, parametros); } else { GravarParcial(pagamento.Valor, pagamento.dtVencimento, pagamento.Descriçao, pagamento.FormaPag, valorparcial, dt[0]); string update = @"update pagamento set ValorParcial = @ValorParcial where Id =" + id; //var parametros = _bd.GerarParametros(); Dictionary <string, object> parametros = new Dictionary <string, object>(); parametros.Add("@ValorParcial", pagamento.ValorParcial); linhasAfetadas = _bd.ExecutarNonQuery(update, parametros); } } } catch (Exception ex) { string erro = ex.Message; } return(linhasAfetadas > 0); }
public async Task <PagamentoResult> InserirAsync(PagamentoSignature signature) { var pagamento = new Models.Pagamento(signature.NumeroCartao, signature.NumeroParcelas, signature.Total); if (!pagamento.ValidarCartao()) { throw new System.ArgumentException("Cartão de crédito inválido"); } await _pagamentoRepository.InserirAsync(pagamento); return(pagamento.ToResult()); }
internal Models.Pagamento Map(DataRow row) { Models.Pagamento pagamento = new Models.Pagamento(); pagamento.Id = Convert.ToInt32(row["Id"]); pagamento.FormaPag = row["FormaPag"].ToString(); pagamento.Descriçao = row["Descriçao"].ToString(); pagamento.dtVencimento = row["DtVencimento"].ToString(); pagamento.dtPagamento = row["DtPagamento"].ToString(); pagamento.Valor = Convert.ToDouble(row["Valor"]); pagamento.ValorParcial = Convert.ToDouble(row["ValorParcial"]); pagamento.Quitado = Convert.ToBoolean(row["Quitado"]); return(pagamento); }
public bool Extornar(int id) //revisar { Models.Pagamento pagamento = new Models.Pagamento(); pagamento = Obter(id); int linhasAfetadas = 0; bool quitado = false; double valorparcial = 0; string dt = ""; int nid = 0; if (pagamento.Valor == pagamento.ValorParcial) { nid = id; } else { List <Models.Pagamento> receb = ObterExtorno(id, pagamento.Valor, pagamento.Descriçao); foreach (var d in receb) { if (d.ValorParcial == pagamento.Valor || d.Quitado == false) { nid = d.Id; valorparcial = d.ValorParcial - pagamento.ValorParcial; } } Excluir(id); } try { string update = @"update pagamento set Quitado = @Quitado, DtPagamento = @DtPagamento, ValorParcial = @ValorParcial where Id =" + nid; //var parametros = _bd.GerarParametros(); Dictionary <string, object> parametros = new Dictionary <string, object>(); parametros.Add("@Quitado", quitado); parametros.Add("@ValorParcial", valorparcial); parametros.Add("@DtPagamento", dt); linhasAfetadas = _bd.ExecutarNonQuery(update, parametros); } catch (Exception ex) { string erro = ex.Message; } return(linhasAfetadas > 0); }
public Models.Pagamento Obter(int id) { Models.Pagamento pagamento = null; string select = @"select * from pagamento where id = " + id; DataTable dt = _bd.ExecutarSelect(select); if (dt.Rows.Count == 1) { //ORM - Relacional -> Objeto pagamento = Map(dt.Rows[0]); } return(pagamento); }
private async Task <ResponseMessage> AutorizarPagamento(PedidoIniciadoIntegrationEvent message) { ResponseMessage response; using (var scope = _serviceProvider.CreateScope()) { var pagamentoService = scope.ServiceProvider.GetRequiredService <IPagamentoService>(); var pagamento = new Models.Pagamento { PedidoId = message.PedidoId, TipoPagamento = (TipoPagamento)message.TipoPagamento, Valor = message.Valor, CartaoCredito = new CartaoCredito(message.NomeCartao, message.NumeroCartao, message.MesAnoVencimento, message.CVV) }; response = await pagamentoService.AutorizarPagamento(pagamento); } return(response); }
public List <Models.Pagamento> ObterExtorno(int id, double valor, string desc) { List <Models.Pagamento> dados = new List <Models.Pagamento>(); try { string sql = @"select * from pagamento where Descriçao like @Descriçao"; var parametros = _bd.GerarParametros(); parametros.Add("@Descriçao", "%" + desc + "%"); DataTable dt = _bd.ExecutarSelect(sql, parametros); foreach (DataRow row in dt.Rows) { Models.Pagamento pagamento = new Models.Pagamento(); pagamento.Id = Convert.ToInt32(row["Id"]); pagamento.Descriçao = row["Descriçao"].ToString(); pagamento.FormaPag = row["FormaPag"].ToString(); pagamento.dtVencimento = row["DtVencimento"].ToString(); pagamento.Valor = Convert.ToDouble(row["Valor"]); pagamento.Quitado = Convert.ToBoolean(row["Quitado"]); pagamento.dtPagamento = row["DtPagamento"].ToString(); pagamento.ValorParcial = Convert.ToDouble(row["ValorParcial"]); dados.Add(pagamento); } } catch (Exception ex) { throw; } finally { _bd.Fechar(); } return(dados); }
public void AdicionarPagamento(Models.Pagamento pagamento) { _context.Pagamentos.Add(pagamento); }
public async Task InserirAsync(Models.Pagamento pagamento) { await _contexto.Pagamento.InsertOneAsync(pagamento); }