public void Cancelar(NumeroCFOCFOC objeto, BancoDeDados banco = null) { try { if (!_validar.Cancelar(objeto)) { return; } GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); _da.Cancelar(objeto, bancoDeDados); switch ((eDocumentoFitossanitarioTipo)objeto.Tipo) { case eDocumentoFitossanitarioTipo.CFO: EmissaoCFOBus busCFO = new EmissaoCFOBus(); busCFO.Cancelar(new EmissaoCFO() { Numero = objeto.Numero.ToString(), Serie = objeto.Serie }); break; case eDocumentoFitossanitarioTipo.CFOC: EmissaoCFOCBus busCFOC = new EmissaoCFOCBus(); busCFOC.Cancelar(new EmissaoCFOC() { Numero = objeto.Numero.ToString(), Serie = objeto.Serie }); break; } if (!Validacao.EhValido) { bancoDeDados.Rollback(); return; } bancoDeDados.Commit(); String numero = !string.IsNullOrWhiteSpace(objeto.Serie) ? objeto.Numero.ToString() + "/" + objeto.Serie : objeto.Numero.ToString(); Validacao.Add(Mensagem.LiberacaoNumeroCFOCFOC.NumeroCanceladoSucesso(numero)); } } catch (Exception exc) { Validacao.AddErro(exc); } }