/// <summary> /// Exclui o item corrente da lista /// </summary> /// <returns></returns> public override bool Excluir() { try { bool ok = contratoPapel.Excluir(); if (ok) { lista.RemoveAt(Indice); } return(ok); } catch (Exception ex) { throw ex; } }
public override bool Excluir(int id) { bool blnExcluir = true; BD bdGravar = null; ContratoPapel contratoPapel = null; ContratoPapelLista contratoPapelLista = null; try { bdGravar = new BD(); bdGravar.IniciarTransacao(); if (this.Control.UsuarioID == 0) { throw new ContratoException("É necessário informar o usuário que está executando essa operação."); } #region Exclui os papeis contratoPapel = new ContratoPapel(this.Control.UsuarioID); contratoPapelLista = new ContratoPapelLista(this.Control.UsuarioID); contratoPapelLista.FiltroSQL = "ContratoID = " + id; contratoPapelLista.Carregar(); if (contratoPapelLista.Primeiro()) { do { if (!contratoPapel.Excluir(contratoPapelLista.ContratoPapel.Control.ID, bdGravar)) { throw new Exception("Não possível excluir o papel do contrato."); } } while (contratoPapelLista.Proximo()); } #endregion #region Exclui o contrato this.Excluir(id, bdGravar); #endregion bdGravar.FinalizarTransacao(); } catch (Exception ex) { if (bdGravar != null) { bdGravar.DesfazerTransacao(); } blnExcluir = false; throw ex; } finally { if (bdGravar != null) { bdGravar.Fechar(); bdGravar = null; } contratoPapel = null; contratoPapelLista = null; } return(blnExcluir); }