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); } }
internal List <NumeroCFOCFOC> FiltrarConsulta(ConsultaFiltro filtro, BancoDeDados banco = null) { List <NumeroCFOCFOC> retorno = new List <NumeroCFOCFOC>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { Comando comando = bancoDeDados.CriarComando(@" select t.* from tab_numero_cfo_cfoc t, hst_liberacao_cfo_cfoc h where h.responsavel_tecnico_id = :credenciado_id and h.liberacao_id = t.liberacao and t.tipo_numero = :tipo_numero " ); comando.AdicionarParametroEntrada("tipo_numero", filtro.TipoNumero, DbType.Int32); comando.AdicionarParametroEntrada("credenciado_id", filtro.CredenciadoId, DbType.Int32); comando.DbCommand.CommandText += comando.FiltroAnd("t.numero", "numero", filtro.Numero); comando.DbCommand.CommandText += comando.FiltroAnd("t.tipo_documento", "tipo_documento", filtro.TipoDocumento); if (!string.IsNullOrEmpty(filtro.DataInicialEmissao)) { comando.DbCommand.CommandText += " and h.data_execucao >= :data_inicial "; comando.AdicionarParametroEntrada("data_inicial", filtro.DataInicialEmissao, DbType.DateTime); } if (!string.IsNullOrEmpty(filtro.DataFinalEmissao)) { comando.DbCommand.CommandText += " and h.data_execucao <= :data_final"; comando.AdicionarParametroEntrada("data_final", filtro.DataFinalEmissao, DbType.DateTime); } comando.DbCommand.CommandText += " order by t.numero"; using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { NumeroCFOCFOC item = null; while (reader.Read()) { item = new NumeroCFOCFOC(); item.Id = reader.GetValue <int>("id"); item.Numero = reader.GetValue <long>("numero"); item.Situacao = reader.GetValue <bool>("situacao"); item.Tipo = reader.GetValue <int>("tipo_documento"); item.TipoNumero = filtro.TipoNumero; item.Utilizado = reader.GetValue <bool>("utilizado"); item.Motivo = reader.GetValue <string>("motivo"); retorno.Add(item); } reader.Close(); } } return(retorno); }
internal void Cancelar(NumeroCFOCFOC objeto, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { Comando comando = bancoDeDados.CriarComando("update tab_numero_cfo_cfoc set motivo =:motivo, situacao = 0, tid = :tid where id = :id", EsquemaBanco); comando.AdicionarParametroEntrada("id", objeto.Id, DbType.Int32); comando.AdicionarParametroEntrada("motivo", objeto.Motivo, DbType.String); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); Historico.Gerar(objeto.Id, eHistoricoArtefato.numerocfocfoc, eHistoricoAcao.cancelar, bancoDeDados); bancoDeDados.Commit(); } }
internal bool Cancelar(NumeroCFOCFOC objeto) { if (_da.NumeroCancelado(objeto.Id)) { Validacao.Add(Mensagem.LiberacaoNumeroCFOCFOC.CancelarSituacaoInvalida(objeto.TipoDocumentoTexto, objeto.Numero.ToString())); return(false); } int utilizadoID = 0; switch ((eDocumentoFitossanitarioTipo)objeto.Tipo) { case eDocumentoFitossanitarioTipo.CFO: EmissaoCFODa daCFO = new EmissaoCFODa(); utilizadoID = daCFO.NumeroUtilizado(objeto.Numero, objeto.Serie); break; case eDocumentoFitossanitarioTipo.CFOC: EmissaoCFOCDa daCFOC = new EmissaoCFOCDa(); utilizadoID = daCFOC.NumeroUtilizado(objeto.Numero, objeto.Serie); break; } if (utilizadoID > 0) { var aux = _da.CFOCFOCJaAssociado(objeto.Tipo, utilizadoID); if (aux.Count == 1) { Validacao.Add(Mensagem.LiberacaoNumeroCFOCFOC.DocumentoJaAssociado(objeto.TipoDocumentoTexto, objeto.Numero.ToString(), aux.First().Key, aux.First().Value)); } else if (aux.Count > 1) { Validacao.Add(Mensagem.LiberacaoNumeroCFOCFOC.DocumentoJaAssociadoEOutros(objeto.TipoDocumentoTexto, objeto.Numero.ToString(), aux.First().Key, aux.First().Value)); } } if (string.IsNullOrWhiteSpace(objeto.Motivo)) { Validacao.Add(Mensagem.LiberacaoNumeroCFOCFOC.MotivoCancelamentoObrigatorio); } return(Validacao.EhValido); }
public ActionResult Cancelar(NumeroCFOCFOC objeto) { _bus.Cancelar(objeto); return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros })); }