Пример #1
0
        public static string Gravar(TRegistro_CreditoClifor val,
                                    CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa rCaixa,
                                    BancoDados.TObjetoBanco banco)
        {
            bool st_transacao          = false;
            TCD_CreditoClifor qtb_cred = new TCD_CreditoClifor();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_cred.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_cred.Banco_Dados = banco;
                }
                //Gravar Credito
                val.Id_creditostr = CamadaDados.TDataQuery.getPubVariavel(qtb_cred.Gravar(val), "@P_ID_CREDITO");
                //Gravar Caixa
                CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa(rCaixa, qtb_cred.Banco_Dados);
                //Gravar Credito X Caixa
                TCN_CreditoClifor_X_Caixa.Gravar(new TRegistro_CreditoClifor_X_Caixa()
                {
                    Cd_contager    = rCaixa.Cd_ContaGer,
                    Cd_empresa     = val.Cd_empresa,
                    Cd_lanctocaixa = rCaixa.Cd_LanctoCaixa,
                    Id_credito     = val.Id_credito
                }, qtb_cred.Banco_Dados);
                if (st_transacao)
                {
                    qtb_cred.Banco_Dados.Commit_Tran();
                }
                return(val.Id_creditostr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_cred.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar credito: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_cred.deletarBanco_Dados();
                }
            }
        }
Пример #2
0
        public static CamadaDados.Financeiro.Caixa.TList_LanCaixa DevolverCredito(string Cd_empresa,
                                                                                  string Cd_clifor,
                                                                                  string Cd_historico,
                                                                                  DateTime?Dt_lancto,
                                                                                  decimal Vl_credito,
                                                                                  BancoDados.TObjetoBanco banco)
        {
            //Buscar lista de credito da empresa/cliente
            TList_CreditoClifor lCredito = Buscar(string.Empty,
                                                  Cd_empresa,
                                                  Cd_clifor,
                                                  string.Empty,
                                                  string.Empty,
                                                  string.Empty,
                                                  true,
                                                  banco);

            CamadaDados.Financeiro.Caixa.TList_LanCaixa lCaixa = new CamadaDados.Financeiro.Caixa.TList_LanCaixa();
            if (lCredito.Count > 0)
            {
                decimal saldo_credito = Vl_credito;
                foreach (TRegistro_CreditoClifor rCred in lCredito)
                {
                    if (saldo_credito > 0)
                    {
                        if (rCred.Vl_saldodevolver > decimal.Zero)
                        {
                            CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa rCaixa =
                                new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa()
                            {
                                Cd_ContaGer    = rCred.Cd_contager,
                                Cd_Empresa     = Cd_empresa,
                                Cd_Historico   = Cd_historico,
                                ComplHistorico = "DEVOLUCAO CREDITO: " + rCred.Id_creditostr,
                                Nr_Docto       = "DEV" + rCred.Id_creditostr,
                                NM_Clifor      = rCred.Nm_clifor,
                                Dt_lancto      = Dt_lancto,
                                St_Titulo      = "N",
                                Vl_PAGAR       = rCred.Vl_saldodevolver > saldo_credito ? saldo_credito : rCred.Vl_saldodevolver,
                                Vl_RECEBER     = decimal.Zero
                            };
                            CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa(rCaixa, banco);
                            lCaixa.Add(rCaixa);

                            //Gravar Credito X Caixa
                            TCN_CreditoClifor_X_Caixa.Gravar(new TRegistro_CreditoClifor_X_Caixa()
                            {
                                Cd_contager    = rCaixa.Cd_ContaGer,
                                Cd_lanctocaixa = rCaixa.Cd_LanctoCaixa,
                                Cd_empresa     = rCred.Cd_empresa,
                                Id_credito     = rCred.Id_credito
                            }, banco);

                            saldo_credito -= rCred.Vl_saldodevolver > Vl_credito ? Vl_credito : rCred.Vl_saldodevolver;
                        }
                        else
                        {
                            continue;
                        }
                    }
                    else
                    {
                        break;
                    }
                }
            }
            return(lCaixa);
        }