コード例 #1
0
        /// <summary>
        /// Busca os detalhes de uma transação
        /// </summary>
        public IList <TransacaoCapptaTef> GetListTransacoes(Helper.UtilsFinanceiro.TipoReceb tipoRecebimento, int idReferencia)
        {
            var sql = "SELECT * FROM transacao_cappta_tef WHERE CheckoutGuid IS NOT NULL AND TipoRecebimento = ?tpReceb AND IdReferencia = ?id";

            var dados = objPersistence.LoadData(sql, new GDAParameter("?tpReceb", tipoRecebimento), new GDAParameter("?id", idReferencia)).ToList();

            dados.ForEach(d => BuscarDados(d));

            return(dados);
        }
コード例 #2
0
        /// <summary>
        /// Finaliza uma transação que ficou na situação processando
        /// </summary>
        public void FinalizarTransacaoProcessando(Helper.UtilsFinanceiro.TipoReceb tipoRecebimento, int idReferencia)
        {
            using (var transacation = new GDATransaction())
            {
                try
                {
                    transacation.BeginTransaction();

                    var sql            = "SELECT COUNT(*) > 0 FROM transacao_cappta_tef WHERE COALESCE(CodigoControle, '') <> '' AND TipoRecebimento = ?tr AND IdReferencia = ?id";
                    var temRecebimento = ExecuteScalar <bool>(transacation, sql, new GDAParameter("?tr", (int)tipoRecebimento), new GDAParameter("?id", idReferencia));

                    switch (tipoRecebimento)
                    {
                    case Helper.UtilsFinanceiro.TipoReceb.LiberacaoAVista:
                    {
                        if (temRecebimento)
                        {
                            LiberarPedidoDAO.Instance.FinalizarPreLiberacaoAVista(transacation, idReferencia);
                        }
                        else
                        {
                            LiberarPedidoDAO.Instance.CancelarPreLiberacaoAVista(transacation, DateTime.Now, idReferencia, "Cancelamento de liberação em situação processando.");
                        }

                        break;
                    }

                    case Helper.UtilsFinanceiro.TipoReceb.Acerto:
                    {
                        if (temRecebimento)
                        {
                            ContasReceberDAO.Instance.FinalizarPreRecebimentoAcerto(transacation, idReferencia);
                        }
                        else
                        {
                            ContasReceberDAO.Instance.CancelarPreRecebimentoAcerto(transacation, DateTime.Now, idReferencia, "Cancelamento de liberação em situação processando.");
                        }

                        break;
                    }

                    case Helper.UtilsFinanceiro.TipoReceb.ChequeDevolvido:
                    {
                        if (temRecebimento)
                        {
                            ChequesDAO.Instance.FinalizarPreQuitacaoChequeDevolvido(transacation, idReferencia);
                        }
                        else
                        {
                            ChequesDAO.Instance.CancelarPreQuitacaoChequeDevolvido(transacation, DateTime.Now, idReferencia, "Cancelamento de liberação em situação processando.");
                        }

                        break;
                    }

                    case Helper.UtilsFinanceiro.TipoReceb.ContaReceber:
                    {
                        if (temRecebimento)
                        {
                            ContasReceberDAO.Instance.FinalizarPreRecebimentoConta(transacation, idReferencia);
                        }
                        else
                        {
                            ContasReceberDAO.Instance.CancelarPreRecebimentoConta(transacation, DateTime.Now, idReferencia, "Cancelamento de liberação em situação processando.");
                        }

                        break;
                    }

                    case Helper.UtilsFinanceiro.TipoReceb.SinalPedido:
                    {
                        if (temRecebimento)
                        {
                            SinalDAO.Instance.FinalizarPreRecebimentoSinalPagamentoAntecipado(transacation, idReferencia);
                        }
                        else
                        {
                            SinalDAO.Instance.CancelarPreRecebimentoSinalPagamentoAntecipado(transacation, idReferencia, "Cancelamento de liberação em situação processando.");
                        }

                        break;
                    }

                    case Helper.UtilsFinanceiro.TipoReceb.Obra:
                    {
                        if (temRecebimento)
                        {
                            ObraDAO.Instance.FinalizarPrePagamentoVista(transacation, idReferencia, string.Empty);
                        }
                        else
                        {
                            ObraDAO.Instance.CancelarPrePagamentoVista(transacation, idReferencia, "Cancelamento de liberação em situação processando.");
                        }

                        break;
                    }

                    default:
                        break;
                    }

                    transacation.Commit();
                    transacation.Close();
                }
                catch (Exception ex)
                {
                    transacation.Rollback();
                    transacation.Close();

                    ErroDAO.Instance.InserirFromException("FinalizarTransacaoProcessando", ex);
                    throw;
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Verifica se a referencia informada possui recebimento com TEF
        /// </summary>
        public bool TemRecebimentoComTef(GDASession sessao, Helper.UtilsFinanceiro.TipoReceb tipoRecebimento, int id)
        {
            var sql = @"SELECT count(*) FROM transacao_cappta_tef WHERE CheckoutGuid IS NOT NULL AND IdReferencia = ?id AND tipoRecebimento = ?tipoRecebimento";

            return(objPersistence.ExecuteSqlQueryCount(sessao, sql, new GDAParameter("?id", id), new GDAParameter("?tipoRecebimento", tipoRecebimento)) > 0);
        }