예제 #1
0
        public static string Gravar(TRegistro_EmprestimoConcedido val, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao = false;
            TCD_EmprestimoConcedido qtb_emp = new TCD_EmprestimoConcedido();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_emp.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_emp.Banco_Dados = banco;
                }
                val.Id_emprestimostr = CamadaDados.TDataQuery.getPubVariavel(qtb_emp.Gravar(val), "@P_ID_EMPRESTIMO");
                if (val.rDup != null)
                {
                    val.rDup.Nr_docto = "EMP" + val.Id_emprestimostr;
                    CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.GravarDuplicata(val.rDup, false, qtb_emp.Banco_Dados);
                    val.Cd_empresa = val.rDup.Cd_empresa;
                    val.Nr_lancto  = val.rDup.Nr_lancto;
                }
                if (val.rRetirada != null)
                {
                    //Gravar retirada
                    TCN_RetiradaCaixa.Gravar(val.rRetirada, qtb_emp.Banco_Dados);
                    //Processar retirada
                    TCN_RetiradaCaixa.ProcessarRetirada(val.rRetirada, qtb_emp.Banco_Dados);
                    val.Id_retirada = val.rRetirada.Id_retirada;
                }
                //Alterar emprestimo concedido
                qtb_emp.Gravar(val);
                if (st_transacao)
                {
                    qtb_emp.Banco_Dados.Commit_Tran();
                }
                return(val.Id_emprestimostr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_emp.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar emprestimo: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_emp.deletarBanco_Dados();
                }
            }
        }
예제 #2
0
        public static string Excluir(TRegistro_EmprestimoConcedido val, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao = false;
            TCD_EmprestimoConcedido qtb_emp = new TCD_EmprestimoConcedido();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_emp.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_emp.Banco_Dados = banco;
                }
                //Estornar duplicata
                if (val.Nr_lancto.HasValue)
                {
                    CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.CancelarDuplicata(
                        CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.Busca(val.Cd_empresa,
                                                                                  val.Nr_lanctostr,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  false,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  false,
                                                                                  1,
                                                                                  string.Empty,
                                                                                  qtb_emp.Banco_Dados)[0], qtb_emp.Banco_Dados);
                }
                //Estornar Retirada Caixa
                if (val.Id_retirada.HasValue)
                {
                    val.rRetirada = TCN_RetiradaCaixa.Buscar(val.Id_retiradastr,
                                                             string.Empty,
                                                             string.Empty,
                                                             string.Empty,
                                                             qtb_emp.Banco_Dados)[0];
                    if (val.rRetirada.Id_transf.HasValue)
                    {
                        CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.EstornarCaixa(
                            new CamadaDados.Financeiro.Caixa.TCD_LanCaixa(qtb_emp.Banco_Dados).Select(
                                new Utils.TpBusca[]
                        {
                            new Utils.TpBusca()
                            {
                                vNM_Campo = string.Empty,
                                vOperador = "exists",
                                vVL_Busca = "(select 1 from TB_FIN_TransfCaixa x " +
                                            "where x.cd_conta_ent = a.cd_contager " +
                                            "and x.cd_lanctocaixa_ent = a.cd_lanctocaixa " +
                                            "and x.id_transf = " + val.rRetirada.Id_transfstr + ")"
                            }
                        }, 1, string.Empty)[0], null, qtb_emp.Banco_Dados);
                    }
                    //Verificar cheque
                    CamadaNegocio.Faturamento.PDV.TCN_Retirada_X_Cheque.Buscar(val.Id_retiradastr,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               qtb_emp.Banco_Dados).ForEach(p =>
                    {
                        CamadaNegocio.Financeiro.Titulo.TCN_TransfTitulo.Buscar(p.Cd_empresa,
                                                                                string.Empty,
                                                                                string.Empty,
                                                                                decimal.Zero,
                                                                                decimal.Zero,
                                                                                p.Nr_lanctocheque.Value,
                                                                                p.Cd_banco,
                                                                                0,
                                                                                string.Empty,
                                                                                qtb_emp.Banco_Dados).ForEach(v =>
                        {
                            //Estornar caixa origem
                            CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.EstornarSomenteCaixa(
                                CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.Busca(v.Cd_conta_orig,
                                                                                  v.Cd_lanctocaixa_orig.ToString(),
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  decimal.Zero,
                                                                                  decimal.Zero,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  false,
                                                                                  string.Empty,
                                                                                  decimal.Zero,
                                                                                  false,
                                                                                  qtb_emp.Banco_Dados)[0], qtb_emp.Banco_Dados);
                            CamadaNegocio.Financeiro.Titulo.TCN_TituloXCaixa.DeletarTituloCaixa(
                                new CamadaDados.Financeiro.Titulo.TRegistro_LanTituloXCaixa()
                            {
                                Cd_banco        = p.Cd_banco,
                                Cd_contager     = v.Cd_conta_orig,
                                Cd_empresa      = p.Cd_empresa,
                                Cd_lanctocaixa  = v.Cd_lanctocaixa_orig,
                                Nr_lanctocheque = p.Nr_lanctocheque.Value
                            }, qtb_emp.Banco_Dados);
                            //Estornar caixa destino
                            CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.EstornarSomenteCaixa(
                                CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.Busca(v.Cd_conta_dest,
                                                                                  v.Cd_lanctocaixa_dest.ToString(),
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  decimal.Zero,
                                                                                  decimal.Zero,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  string.Empty,
                                                                                  false,
                                                                                  string.Empty,
                                                                                  decimal.Zero,
                                                                                  false,
                                                                                  qtb_emp.Banco_Dados)[0], qtb_emp.Banco_Dados);
                            CamadaNegocio.Financeiro.Titulo.TCN_TituloXCaixa.DeletarTituloCaixa(
                                new CamadaDados.Financeiro.Titulo.TRegistro_LanTituloXCaixa()
                            {
                                Cd_banco        = p.Cd_banco,
                                Cd_contager     = v.Cd_conta_dest,
                                Cd_empresa      = p.Cd_empresa,
                                Cd_lanctocaixa  = v.Cd_lanctocaixa_dest,
                                Nr_lanctocheque = p.Nr_lanctocheque.Value
                            }, qtb_emp.Banco_Dados);
                            CamadaNegocio.Financeiro.Titulo.TCN_TransfTitulo.ExcluirTransfTitulo(v, qtb_emp.Banco_Dados);
                        });
                        CamadaNegocio.Faturamento.PDV.TCN_Retirada_X_Cheque.Excluir(p, qtb_emp.Banco_Dados);
                    });
                    //Cancelar retirada
                    TCN_RetiradaCaixa.Cancelar(val.rRetirada, qtb_emp.Banco_Dados);
                }
                //Cancelar emprestimo
                val.St_registro = "C";
                qtb_emp.Gravar(val);
                if (st_transacao)
                {
                    qtb_emp.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_emp.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro excluir emprestimo: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_emp.deletarBanco_Dados();
                }
            }
        }