Example #1
0
        public object ObterDadosPdf(IEspecificidade especificidade, BancoDeDados banco)
        {
            try
            {
                Autorizacao autorizacao = _da.ObterDadosPDF(especificidade.Titulo.Id, banco);
                DataEmissaoPorExtenso(autorizacao.Titulo);

                autorizacao.QueimaControlada = new QueimaControladaPDF(new QueimaControladaBus().ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()));

                List <ArquivoProjeto> arquivosProj = new ProjetoGeograficoBus().ObterArquivos(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(0), eCaracterizacao.QueimaControlada, true).Where(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.Croqui).ToList();

                autorizacao.AnexosPdfs = arquivosProj.Cast <Arquivo>().ToList();

                //Obtendo Arquivos
                ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno);

                for (int i = 0; i < autorizacao.AnexosPdfs.Count; i++)
                {
                    autorizacao.AnexosPdfs[i] = _busArquivo.ObterDados(autorizacao.AnexosPdfs[i].Id.GetValueOrDefault(0));
                }

                return(autorizacao);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(null);
        }
Example #2
0
        public PTVComunicador ObterComunicador(int IdPTV)
        {
            try
            {
                PTVComunicador comunicador;
                comunicador = _da.ObterComunicador(IdPTV);


                if (comunicador.ArquivoInternoId > 0)
                {
                    ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno);
                    comunicador.ArquivoInterno = _busArquivo.ObterDados(comunicador.ArquivoInternoId);
                }

                if (comunicador.ArquivoCredenciadoId > 0)
                {
                    ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Credenciado);
                    comunicador.ArquivoCredenciado = _busArquivo.ObterDados(comunicador.ArquivoCredenciadoId);
                }

                return(comunicador);
            }
            catch (Exception ex)
            {
                Validacao.AddErro(ex);
            }

            return(null);
        }
        public ActionResult Visualizar(int id)
        {
            Titulo   titulo = _bus.Obter(id);
            SalvarVM vm     = null;

            if (titulo == null)
            {
                vm = new SalvarVM(new List <Setor>(), new List <TituloModeloLst>(), new List <Municipio>());
                if (Request.IsAjaxRequest())
                {
                    return(PartialView("VisualizarPartial", vm));
                }

                return(View(vm));
            }

            List <Setor> lstSetores = _bus.ObterFuncionarioSetores();

            vm = new SalvarVM(lstSetores, _busModelo.ObterModelos(todos: true), _bus.ObterLocais(), titulo.Setor.Id, titulo.Modelo.Id, titulo.LocalEmissao.Id);
            vm.SetoresEditar = false;
            vm.Titulo        = titulo;
            vm.Modelo        = _busModelo.Obter(titulo.Modelo.Id);
            vm.Titulo.Modelo = vm.Modelo;
            vm.AtividadeEspecificidadeCaracterizacaoJSON = ViewModelHelper.Json(_busEspBase.GetConfigAtivEspCaracterizacao(vm.Modelo.Codigo.Value));

            vm.IsVisualizar = true;
            vm.AssinantesVM.IsVisualizar = true;
            vm.LabelTipoPrazo            = vm.Titulo.PrazoUnidade;

            vm.AssinantesVM.Assinantes = _busModelo.ObterAssinantes(vm.Modelo);

            if (titulo != null)
            {
                List <TituloAssinante> assinantesDoTitulo = _bus.ObterAssinantes(id);
                vm.AssinantesVM.MergeAssinantesCargos(assinantesDoTitulo);
                vm.AssinantesVM.Assinantes = _bus.ObterAssinantesCargos(vm.AssinantesVM.Assinantes).Where(x => x.Selecionado).ToList();
            }

            if (!vm.Modelo.Regra(eRegra.PdfGeradoSistema))
            {
                ArquivoBus arqBus = new ArquivoBus(eExecutorTipo.Interno);
                titulo.ArquivoPdf = arqBus.ObterDados(titulo.ArquivoPdf.Id.GetValueOrDefault());

                vm.ArquivoId    = titulo.ArquivoPdf.Id;
                vm.ArquivoTexto = titulo.ArquivoPdf.Nome;
                vm.ArquivoJSon  = ViewModelHelper.JsSerializer.Serialize(titulo.ArquivoPdf);
            }

            if (Request.IsAjaxRequest())
            {
                return(PartialView("VisualizarPartial", vm));
            }

            return(View(vm));
        }
Example #4
0
        public ActionResult Editar(int id)
        {
            Titulo titulo = _bus.Obter(id);

            titulo.Modelo = _busModelo.Obter(titulo.Modelo.Id);
            SalvarVM vm = null;

            #region Nao Encontrada

            if (titulo == null || titulo.Id == 0)
            {
                Validacao.Add(Mensagem.Titulo.NaoEncontrado);
                return(RedirectToAction("Index", Validacao.QueryParamSerializer()));
            }

            if (!_validar.ListarEditar(titulo))
            {
                return(RedirectToAction("Index", Validacao.QueryParamSerializer()));
            }

            #endregion

            vm               = new SalvarVM(new List <Setor>(), _busModelo.ObterModelosDeclaratorios(), _bus.ObterLocais(), titulo.Setor.Id, titulo.Modelo.Id, titulo.LocalEmissao.Id);
            vm.Titulo        = titulo;
            vm.Modelo        = _busModelo.Obter(titulo.Modelo.Id);
            vm.Titulo.Modelo = vm.Modelo;
            vm.AtividadeEspecificidadeCaracterizacaoJSON = ViewModelHelper.Json(_busEspBase.GetConfigAtivEspCaracterizacao(vm.Modelo.Codigo.Value));
            vm.TemEmpreendimento = titulo.EmpreendimentoId.HasValue;
            vm.IsEditar          = true;

            if (!vm.Modelo.Regra(eRegra.PdfGeradoSistema))
            {
                ArquivoBus arqBus = new ArquivoBus(eExecutorTipo.Interno);
                titulo.ArquivoPdf = arqBus.ObterDados(titulo.ArquivoPdf.Id.GetValueOrDefault());

                vm.ArquivoId    = titulo.ArquivoPdf.Id;
                vm.ArquivoTexto = titulo.ArquivoPdf.Nome;
                vm.ArquivoJSon  = ViewModelHelper.JsSerializer.Serialize(titulo.ArquivoPdf);
            }

            return(View(vm));
        }
Example #5
0
        public ActionResult Visualizar(int id)
        {
            Titulo   titulo = _bus.Obter(id);
            SalvarVM vm     = null;

            if (titulo == null)
            {
                vm = new SalvarVM(new List <Setor>(), new List <TituloModeloLst>(), new List <Municipio>());
                if (Request.IsAjaxRequest())
                {
                    return(PartialView("VisualizarPartial", vm));
                }

                return(View(vm));
            }

            vm               = new SalvarVM(new List <Setor>(), _busModelo.ObterModelos(todos: true), _bus.ObterLocais(), titulo.Setor.Id, titulo.Modelo.Id, titulo.LocalEmissao.Id);
            vm.Titulo        = titulo;
            vm.Modelo        = _busModelo.Obter(titulo.Modelo.Id);
            vm.Titulo.Modelo = vm.Modelo;
            vm.AtividadeEspecificidadeCaracterizacaoJSON = ViewModelHelper.Json(_busEspBase.GetConfigAtivEspCaracterizacao(vm.Modelo.Codigo.Value));

            vm.IsVisualizar = true;

            if (!vm.Modelo.Regra(eRegra.PdfGeradoSistema))
            {
                ArquivoBus arqBus = new ArquivoBus(eExecutorTipo.Interno);
                titulo.ArquivoPdf = arqBus.ObterDados(titulo.ArquivoPdf.Id.GetValueOrDefault());

                vm.ArquivoId    = titulo.ArquivoPdf.Id;
                vm.ArquivoTexto = titulo.ArquivoPdf.Nome;
                vm.ArquivoJSon  = ViewModelHelper.JsSerializer.Serialize(titulo.ArquivoPdf);
            }

            if (Request.IsAjaxRequest())
            {
                return(PartialView("VisualizarPartial", vm));
            }

            return(View(vm));
        }
Example #6
0
        public ArquivoProjeto EnviarArquivo(ProjetoGeografico projeto)
        {
            ArquivoProjeto arquivoEnviado;

            if (projeto.Arquivos == null || projeto.Arquivos.Count <= 0)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.ArquivoNaoEncontrado);
            }

            arquivoEnviado = projeto.Arquivos[0];

            try
            {
                if (_validar.EnviarArquivo(arquivoEnviado))
                {
                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
                    {
                        ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno);

                        _busArquivo.Copiar(arquivoEnviado);

                        _busArquivo.ObterTemporario(arquivoEnviado);

                        arquivoEnviado.IdRelacionamento = _da.ExisteArquivoFila(arquivoEnviado);

                        List <ArquivoProjeto> arquivosSalvos = _da.ObterArquivos(arquivoEnviado.ProjetoId).Where(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.ArquivoEnviado).ToList();

                        #region Erro de DuplicaƧao de arquivos enviados

                        if (arquivosSalvos.Count > 1)
                        {
                            _da.ExcluirArquivoDuplicados(arquivoEnviado.ProjetoId, bancoDeDados);
                            arquivosSalvos = _da.ObterArquivos(arquivoEnviado.ProjetoId, bancoDeDados).Where(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.ArquivoEnviado).ToList();
                        }

                        #endregion

                        Arquivo arqAnterior = null;

                        if (arquivosSalvos.Count > 0)
                        {
                            ArquivoProjeto arq = arquivosSalvos.SingleOrDefault(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.ArquivoEnviado);
                            try
                            {
                                arqAnterior = _busArquivo.Obter((arq ?? new ArquivoProjeto()).Id.GetValueOrDefault());
                                if (arqAnterior != null)
                                {
                                    arquivoEnviado.Id = arqAnterior.Id.Value;
                                    _busArquivo.Deletar(arqAnterior.Caminho);
                                }
                            }
                            catch
                            {
                                ArquivoDa arqDa = new ArquivoDa();
                                if (arqAnterior == null && (arq ?? new ArquivoProjeto()).Id.GetValueOrDefault() > 0)
                                {
                                    arqAnterior = _busArquivo.ObterDados((arq ?? new ArquivoProjeto()).Id.GetValueOrDefault());
                                }
                                arqDa.MarcarDeletado(arqAnterior.Id.Value, arqAnterior.Caminho);
                            }
                        }

                        ArquivoDa _arquivoDa = new ArquivoDa();
                        _arquivoDa.Salvar(arquivoEnviado, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados);

                        //Atualiza a lista de arquivos do projeto
                        _da.AtualizarArquivosEnviado(arquivoEnviado, bancoDeDados);

                        arquivoEnviado.Buffer.Close();
                        arquivoEnviado.Buffer.Dispose();
                        arquivoEnviado.Buffer   = null;
                        arquivoEnviado.Etapa    = (int)eFilaEtapaGeo.Validacao;                     //1;
                        arquivoEnviado.Situacao = (int)eFilaSituacaoGeo.Aguardando;                 //1;

                        if (arquivoEnviado.IdRelacionamento <= 0)
                        {
                            _da.InserirFila(arquivoEnviado, bancoDeDados);
                        }
                        else
                        {
                            _da.AlterarSituacaoFila(arquivoEnviado, bancoDeDados);
                        }

                        bancoDeDados.Commit();

                        ObterSituacao(arquivoEnviado);
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
            return(arquivoEnviado);
        }
        public ActionResult Editar(int id, bool trocarAutor = false, int?setorTrocado = null)
        {
            Titulo titulo = _bus.Obter(id);

            titulo.Modelo = _busModelo.Obter(titulo.Modelo.Id);
            SalvarVM vm = null;

            #region Nao Encontrada

            if (titulo == null || titulo.Id == 0)
            {
                Validacao.Add(Mensagem.Titulo.NaoEncontrado);
                return(RedirectToAction("Index", Validacao.QueryParamSerializer()));
            }

            if (!_validar.ListarEditar(titulo))
            {
                return(RedirectToAction("Index", Validacao.QueryParamSerializer()));
            }

            #endregion

            List <Setor> lstSetores = _bus.ObterFuncionarioSetores();

            vm = new SalvarVM(lstSetores, _busModelo.ObterModelosDeclaratorios(), _bus.ObterLocais(), titulo.Setor.Id, titulo.Modelo.Id, titulo.LocalEmissao.Id);
            vm.SetoresEditar = lstSetores.Count > 1;
            vm.Titulo        = titulo;
            vm.Modelo        = _busModelo.Obter(titulo.Modelo.Id);
            vm.Titulo.Modelo = vm.Modelo;
            vm.AtividadeEspecificidadeCaracterizacaoJSON = ViewModelHelper.Json(_busEspBase.GetConfigAtivEspCaracterizacao(vm.Modelo.Codigo.Value));
            vm.TemEmpreendimento = titulo.EmpreendimentoId.HasValue;
            vm.IsEditar          = true;

            if (!vm.Modelo.Regra(eRegra.PdfGeradoSistema))
            {
                ArquivoBus arqBus = new ArquivoBus(eExecutorTipo.Interno);
                titulo.ArquivoPdf = arqBus.ObterDados(titulo.ArquivoPdf.Id.GetValueOrDefault());

                vm.ArquivoId    = titulo.ArquivoPdf.Id;
                vm.ArquivoTexto = titulo.ArquivoPdf.Nome;
                vm.ArquivoJSon  = ViewModelHelper.JsSerializer.Serialize(titulo.ArquivoPdf);
            }

            #region Assinantes

            vm.AssinantesVM.Assinantes = _busModelo.ObterAssinantes(vm.Modelo);

            if (titulo != null)
            {
                vm.AssinantesVM.MergeAssinantesCargos(titulo.Assinantes);
            }

            List <ListaValor> lista = null;

            if (vm.AssinantesVM.Assinantes != null && vm.AssinantesVM.Assinantes.Count > 0)
            {
                vm.AssinantesVM.Assinantes = _bus.ObterAssinantesCargos(vm.AssinantesVM.Assinantes).Where(x => x.Selecionado).ToList();
                lista = vm.Modelo.Assinantes.Select(x => new ListaValor {
                    Id = x.SetorId, Texto = x.SetorTexto
                }).OrderBy(x => x.Texto).ToList();
            }

            vm.AssinantesVM.Setores      = ViewModelHelper.CriarSelectList(lista);
            vm.AssinantesVM.Cargos       = ViewModelHelper.CriarSelectList(new List <ListaValor>());
            vm.AssinantesVM.Funcionarios = ViewModelHelper.CriarSelectList(new List <ListaValor>());

            #endregion

            return(View(vm));
        }
        public object ObterDadosPdf(IEspecificidade especificidade, BancoDeDados banco)
        {
            try
            {
                Cadastro cadastro = _da.ObterDadosPDF(especificidade.Titulo.Id, banco);
                CadastroAmbientalRuralBus carBus = new CadastroAmbientalRuralBus();

                cadastro.CAR           = new CadastroAmbientalRuralPDF(carBus.ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), true));
                cadastro.Dominialidade = new DominialidadePDF(new DominialidadeBus().ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()));

                if (cadastro.Dominialidade.IsEmpreendimentoCedente && cadastro.Dominialidade.IsEmpreendimentoReceptor)
                {
                    cadastro.CAR.TipoCompensacao = "CEDENTE E RECEPTOR";
                }
                else if (cadastro.Dominialidade.IsEmpreendimentoCedente)
                {
                    cadastro.CAR.TipoCompensacao = "CEDENTE";
                }
                else if (cadastro.Dominialidade.IsEmpreendimentoReceptor)
                {
                    cadastro.CAR.TipoCompensacao = "RECEPTOR";
                }

                #region Solicitacao CAR

                //Interno
                cadastro.SICAR = _da.ObterSICARInterno(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(0), banco) ?? new SicarPDF();

                if (String.IsNullOrWhiteSpace(cadastro.SICAR.Numero))
                {
                    cadastro.SICAR = _da.ObterSICARCredenciado(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(0), banco) ?? new SicarPDF();
                }

                #endregion

                #region Arl Compensadas

                cadastro.Dominialidade.Dominios.ForEach(d =>
                {
                    List <ReservaLegalPDF> rlCompensadas = d.ReservasLegais.Where(r => r.CompensacaoTipo != eCompensacaoTipo.Nulo).ToList();

                    foreach (var reservaLegal in rlCompensadas)
                    {
                        string identificacao             = string.Empty;
                        string areaCroqui                = string.Empty;
                        string coordenadaE               = string.Empty;
                        string coordenadaN               = string.Empty;
                        eCompensacaoTipo compensacaoTipo = eCompensacaoTipo.Nulo;

                        if (reservaLegal.CompensacaoTipo.Equals(eCompensacaoTipo.Cedente))
                        {
                            compensacaoTipo = eCompensacaoTipo.Cedente;
                            identificacao   = reservaLegal.Identificacao;
                            areaCroqui      = reservaLegal.ARLCroqui;
                            coordenadaE     = reservaLegal.Coordenada.EastingUtm.ToString();
                            coordenadaN     = reservaLegal.Coordenada.NorthingUtm.ToString();
                        }
                        else if (reservaLegal.CompensacaoTipo.Equals(eCompensacaoTipo.Receptora))
                        {
                            compensacaoTipo = eCompensacaoTipo.Receptora;

                            if (reservaLegal.IdentificacaoARLCedente > 0)
                            {
                                var reservaLegalReceptora = new DominialidadeDa().ObterARLPorId(reservaLegal.IdentificacaoARLCedente);

                                identificacao = reservaLegalReceptora.Identificacao;
                                areaCroqui    = reservaLegalReceptora.ARLCroqui.ToStringTrunc();
                                coordenadaE   = reservaLegalReceptora.Coordenada.EastingUtm.ToString();
                                coordenadaN   = reservaLegalReceptora.Coordenada.NorthingUtm.ToString();
                            }
                            else
                            {
                                areaCroqui  = reservaLegal.ARLCroqui;
                                coordenadaE = reservaLegal.Coordenada.EastingUtm.ToString();
                                coordenadaN = reservaLegal.Coordenada.NorthingUtm.ToString();
                            }
                        }

                        if (string.IsNullOrWhiteSpace(areaCroqui))
                        {
                            continue;
                        }

                        cadastro.CAR.TotalRLCompensadaDecimal += Convert.ToDecimal(areaCroqui);

                        cadastro.RLCompensada.Add(new AreaReservaLegalPDF()
                        {
                            CompensacaoTipo = (int)compensacaoTipo,
                            Tipo            = reservaLegal.SituacaoVegetalId,
                            Codigo          = reservaLegal.EmpreendimentoCompensacao.Codigo,
                            AreaCroqui      = areaCroqui,
                            CoordenadaE     = coordenadaE,
                            CoordenadaN     = coordenadaN,
                            Identificacao   = identificacao
                        });
                    }
                });

                #endregion

                #region Croqui
                List <ArquivoProjeto> arquivosProj = carBus.ObterArquivosProjeto(cadastro.CAR.ProjetoGeoId, true).Where(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.Croqui).ToList();
                cadastro.AnexosPdfs = arquivosProj.Cast <Arquivo>().ToList();

                //Obtendo Arquivos
                ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno);
                for (int i = 0; i < cadastro.AnexosPdfs.Count; i++)
                {
                    cadastro.AnexosPdfs[i] = _busArquivo.ObterDados(cadastro.AnexosPdfs[i].Id.GetValueOrDefault(0));
                }
                #endregion

                String pathImg = HttpContext.Current.Request.MapPath("~/Content/_imgLogo/logomarca_simlam_idaf.jpg");
                cadastro.LogoOrgao = File.ReadAllBytes(pathImg);
                cadastro.LogoOrgao = AsposeImage.RedimensionarImagem(cadastro.LogoOrgao, 2.2f);

                GerenciadorConfiguracao <ConfiguracaoSistema>     _configSys  = new GerenciadorConfiguracao <ConfiguracaoSistema>(new ConfiguracaoSistema());
                GerenciadorConfiguracao <ConfiguracaoFuncionario> _configFunc = new GerenciadorConfiguracao <ConfiguracaoFuncionario>(new ConfiguracaoFuncionario());

                cadastro.GovernoNome    = _configSys.Obter <String>(ConfiguracaoSistema.KeyGovernoNome);
                cadastro.SecretariaNome = _configSys.Obter <String>(ConfiguracaoSistema.KeySecretariaNome);
                cadastro.OrgaoNome      = _configSys.Obter <String>(ConfiguracaoSistema.KeyOrgaoNome);
                cadastro.SetorNome      = _configFunc.Obter <List <Setor> >(ConfiguracaoFuncionario.KeySetores).Single(x => x.Id == especificidade.Titulo.SetorId).Nome;

                return(cadastro);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(null);
        }
        public ArquivoProjeto EnviarArquivo(ArquivoProjeto arquivo)
        {
            try
            {
                if (_validar.EnviarArquivo(arquivo))
                {
                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(EsquemaBancoCredenciado))
                    {
                        ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Credenciado);

                        _busArquivo.Copiar(arquivo);

                        _busArquivo.ObterTemporario(arquivo);

                        arquivo.Processamento.Id = _da.ExisteItemFila(arquivo.Processamento);

                        _da.ExcluirArquivoDuplicados(arquivo.ProjetoId, bancoDeDados);

                        ArquivoProjeto arq = _da.ObterArquivos(arquivo.ProjetoId, bancoDeDados).SingleOrDefault(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.ArquivoEnviado) ?? new ArquivoProjeto();
                        if (arq.Id.GetValueOrDefault() > 0 && !_da.ArquivoAssociadoProjetoDigital(arq.Id.GetValueOrDefault()))
                        {
                            Arquivo arqAnterior = null;

                            try
                            {
                                arqAnterior = _busArquivo.Obter(arq.Id.GetValueOrDefault());
                                if (arqAnterior != null)
                                {
                                    arquivo.Id = arqAnterior.Id.Value;
                                    _busArquivo.Deletar(arqAnterior.Caminho);
                                }
                            }
                            catch
                            {
                                ArquivoDa arqDa = new ArquivoDa();
                                if (arqAnterior == null && (arq ?? new ArquivoProjeto()).Id.GetValueOrDefault() > 0)
                                {
                                    arqAnterior = _busArquivo.ObterDados((arq ?? new ArquivoProjeto()).Id.GetValueOrDefault());
                                }
                                arqDa.MarcarDeletado(arqAnterior.Id.Value, arqAnterior.Caminho, bancoDeDados);
                            }
                        }

                        ArquivoDa arquivoDa = new ArquivoDa();
                        arquivoDa.Salvar(arquivo, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados);

                        //Atualiza a lista de arquivos do projeto
                        _da.AtualizarArquivosEnviado(arquivo, bancoDeDados);

                        arquivo.Buffer.Close();
                        arquivo.Buffer.Dispose();
                        arquivo.Buffer = null;
                        arquivo.Processamento.Etapa    = (int)eFilaEtapaGeo.Validacao;
                        arquivo.Processamento.Situacao = (int)eFilaSituacaoGeo.Aguardando;

                        if (arquivo.Processamento.Id <= 0)
                        {
                            _da.InserirFila(arquivo.Processamento, bancoDeDados);
                        }
                        else
                        {
                            _da.AlterarSituacaoFila(arquivo.Processamento, bancoDeDados);
                        }

                        bancoDeDados.Commit();

                        ObterSituacao(arquivo.Processamento);
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(arquivo);
        }