public static string Excluir(TRegistro_FaturaCartao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_FaturaCartao qtb_fatura = new TCD_FaturaCartao(); try { if (banco == null) { st_transacao = qtb_fatura.CriarBanco_Dados(true); } else { qtb_fatura.Banco_Dados = banco; } qtb_fatura.Excluir(val); if (st_transacao) { qtb_fatura.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_fatura.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir fatura: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_fatura.deletarBanco_Dados(); } } }
public static void CancelarFatura(TRegistro_FaturaCartao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_FaturaCartao qtb_fatura = new TCD_FaturaCartao(); try { if (banco == null) { st_transacao = qtb_fatura.CriarBanco_Dados(true); } else { qtb_fatura.Banco_Dados = banco; } //Verificar se a fatura possui quitacao if (new TCD_QuitarFatura(qtb_fatura.Banco_Dados).BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.id_fatura", vOperador = "=", vVL_Busca = val.Id_fatura.Value.ToString() } }, string.Empty) != null) { throw new Exception("Fatura cartão possui quitação. Obrigatorio extornar primeiro quitação."); } //Buscar lista de caixa da fatura TList_LanCaixa lCaixa = new TCD_LanCaixa(qtb_fatura.Banco_Dados).Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fin_faturacartao_x_caixa x " + "where x.cd_contager = a.cd_contager " + "and x.cd_lanctocaixa = a.cd_lanctocaixa " + "and x.id_fatura = " + val.Id_fatura.Value.ToString() + ")" } }, 0, string.Empty); //Excluir caixa lCaixa.ForEach(p => TCN_FaturaCartao_X_Caixa.Excluir(new TRegistro_FaturaCartao_X_Caixa() { Cd_contager = p.Cd_ContaGer, Cd_lanctocaixa = p.Cd_LanctoCaixa, Id_fatura = val.Id_fatura }, qtb_fatura.Banco_Dados)); //Excluir fatura Excluir(val, qtb_fatura.Banco_Dados); //Cancelar lancamentos de caixa lCaixa.ForEach(p => { if (p.St_Estorno.Trim().ToUpper() != "S") { CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.EstornarCaixa(p, null, qtb_fatura.Banco_Dados); } }); if (st_transacao) { qtb_fatura.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_fatura.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro estornar fatura: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_fatura.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_FaturaCartao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_FaturaCartao qtb_fatura = new TCD_FaturaCartao(); try { if (banco == null) { st_transacao = qtb_fatura.CriarBanco_Dados(true); } else { qtb_fatura.Banco_Dados = banco; } string retorno = qtb_fatura.Gravar(val); val.Id_fatura = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_FATURA")); if (!string.IsNullOrEmpty(val.Cd_contager)) { //Gravar caixa string ret = TCN_LanCaixa.GravaLanCaixa( new TRegistro_LanCaixa() { Cd_ContaGer = val.Cd_contager, Cd_Empresa = val.Cd_empresa, Nr_Docto = "FAT" + val.Id_fatura.Value.ToString(), Cd_Historico = val.Cd_historico, Login = Utils.Parametros.pubLogin, ComplHistorico = "FATURA CARTAO AVULSA", Dt_lancto = val.Dt_fatura, Vl_PAGAR = decimal.Zero, Vl_RECEBER = val.Vl_nominal, St_Titulo = "N", St_Estorno = "N", St_avulso = "N", Id_adto = val.Id_adto }, qtb_fatura.Banco_Dados); //Amarrar caixa com fatura TCN_FaturaCartao_X_Caixa.Gravar(new TRegistro_FaturaCartao_X_Caixa() { Cd_contager = val.Cd_contager, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_CD_LANCTOCAIXA")), Id_fatura = val.Id_fatura }, qtb_fatura.Banco_Dados); } if (st_transacao) { qtb_fatura.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_fatura.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar fatura: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_fatura.deletarBanco_Dados(); } } }