public static string ProcessarContratoFin(TRegistro_ContratoFin val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_ContratoFin qtb_contr = new TCD_ContratoFin(); try { if (banco == null) { st_transacao = qtb_contr.CriarBanco_Dados(true); } else { qtb_contr.Banco_Dados = banco; } //Gravar Duplicata if (val.Nr_lancto == null && val.lDup.Count > 0) { CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.GravarDuplicata(val.lDup, false, qtb_contr.Banco_Dados); val.Nr_lancto = val.lDup[0].Nr_lancto; TCN_ContratoFin.Gravar(val, qtb_contr.Banco_Dados); val.lParc.ForEach(p => { p.St_registro = "P"; p.Cd_empresa = val.Cd_empresa; p.NR_Contrato = val.NR_Contrato; CamadaNegocio.Financeiro.Contrato.TCN_ParcelaContrato.Gravar(p, qtb_contr.Banco_Dados); }); } if (st_transacao) { qtb_contr.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_contr.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro Gravar registro: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_contr.deletarBanco_Dados(); } } }
public static string EstornarProcessamento(TRegistro_ContratoFin val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_ContratoFin qtb_contr = new TCD_ContratoFin(); try { if (banco == null) { st_transacao = qtb_contr.CriarBanco_Dados(true); } else { qtb_contr.Banco_Dados = banco; } //Excluir duplicata //Verificar se usuario tem permissão para excluir duplicata if (Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(Utils.Parametros.pubLogin.Trim().ToUpper(), "PERMITIR EXCLUSAO DE DOCUMENTO FINANCEIRO", banco)) { //Verificar se o usuario tem acesso a tela de duplicata if ((CamadaNegocio.Diversos.TCN_CadAcesso.BuscarDetalhesAcesso(Utils.Parametros.pubLogin, "Financeiro.TFLanContas") == null) && (!Utils.Parametros.pubLogin.Trim().ToUpper().Equals("MASTER")) && (!Utils.Parametros.pubLogin.Trim().ToUpper().Equals("DESENV"))) { throw new Exception("Não é permitido estornar contrato com movimentação financeira.\r\n" + "Para estornar contrato é necessário cancelar primeiro o financeiro."); } else { val.Nr_lancto = null; TCN_ContratoFin.Gravar(val, qtb_contr.Banco_Dados); val.lParc.ForEach(p => { //Alterar Parcelas para Aberta p.St_registro = "A"; TCN_ParcelaContrato.Gravar(p, qtb_contr.Banco_Dados); }); //Cancelar Duplicata val.lDup.ForEach(v => CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.CancelarDuplicata(v, qtb_contr.Banco_Dados)); } } else { throw new Exception("Usuário não tem permissão para cancelar Duplicata!"); } if (st_transacao) { qtb_contr.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_contr.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro Gravar registro: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_contr.deletarBanco_Dados(); } } }