示例#1
0
        public static string Gravar(TRegistro_LanLoteCartao val, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao         = false;
            TCD_LanLoteCartao qtb_orc = new TCD_LanLoteCartao();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_orc.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_orc.Banco_Dados = banco;
                }
                string retorno = qtb_orc.Gravar(val);
                val.Id_Lote = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_LOTE"));

                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.Commit_Tran();
                }
                val.lCartao.ForEach(p =>
                {
                    p.Cd_Empresa = val.Cd_Empresa;
                    p.Id_Lote    = val.Id_Lote;
                    TCN_FaturaDescontar.Gravar(p, null);
                });


                return(val.Id_Lote.ToString());
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar Lote: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_orc.deletarBanco_Dados();
                }
            }
        }
示例#2
0
        public static string Excluir(TRegistro_LanLoteCartao val, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao         = false;
            TCD_LanLoteCartao qtb_orc = new TCD_LanLoteCartao();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_orc.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_orc.Banco_Dados = banco;
                }
                val.lCartao.ForEach(p =>
                {
                    TCN_FaturaDescontar.Excluir(p, qtb_orc.Banco_Dados);
                });

                qtb_orc.Excluir(val);
                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.Commit_Tran();
                }


                return(val.Id_Lote.ToString());
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro excluir projeto: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_orc.deletarBanco_Dados();
                }
            }
        }
示例#3
0
        public static void EstornarLote(TRegistro_LanLoteCartao val, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao          = false;
            TCD_LanLoteCartao qtb_lote = new TCD_LanLoteCartao();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_lote.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_lote.Banco_Dados = banco;
                }
                //Inicio do processo de estornar lote
                if (val.St_registro.Equals("P"))
                {
                    //Excluir registro Lote X Caixa
                    val.lFatCartao_Caixa.ForEach(p =>
                    {
                        TCN_FaturaCartao_X_Caixa.Excluir(new TRegistro_FaturaCartao_X_Caixa()
                        {
                            Cd_contager    = p.Cd_contager,
                            Cd_lanctocaixa = p.Cd_lanctocaixa,
                            Id_fatura      = p.Id_fatura
                        }, qtb_lote.Banco_Dados);
                    });

                    //Chamar metodo estorno de caixa
                    val.lLanCaixa.ForEach(p =>
                    {
                        Caixa.TCN_LanCaixa.EstornarCaixa(p, null, qtb_lote.Banco_Dados);
                    });

                    //Alterar o valor da taxa no bloquetos
                    val.lFatCartao.ForEach(p =>
                    {
                        p.Vl_taxa = decimal.Zero;
                        TCN_FaturaCartao.Gravar(p, null);
                    });
                    //Alterar o lote
                    val.St_registro = "A";
                    qtb_lote.Gravar(val);
                    if (st_transacao)
                    {
                        qtb_lote.Banco_Dados.Commit_Tran();
                    }
                }
                else
                {
                    throw new Exception("Lote não se encontra processado.");
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_lote.Banco_Dados.RollBack_Tran();
                }
                throw new Exception(ex.Message);
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_lote.deletarBanco_Dados();
                }
            }
        }