예제 #1
0
        public void ImportarCaracterizacaoCDLA(Requerimento requerimento, BancoDeDados bancoCredenciado, BancoDeDados bancoInterno)
        {
            BarragemDispensaLicenca caracterizacao = _da.ImportarCaracterizacaoCdla(requerimento.Id, bancoCredenciado);

            Dictionary <Int32, String> _diretorioCred     = _da.ObterCredenciadoDiretorioArquivo(bancoCredenciado);
            Dictionary <Int32, String> _diretorioTempCred = _da.ObterCredenciadoDiretorioArquivoTemp(bancoCredenciado);

            ArquivoBus _busArquivoCredenciado = new ArquivoBus(eExecutorTipo.Credenciado, _diretorioCred, _diretorioTempCred, UsuarioCredenciado);
            ArquivoBus _busArquivoInterno     = new ArquivoBus(eExecutorTipo.Interno, usuarioCredenciado: UsuarioCredenciado);

            Arquivo aux = _busArquivoCredenciado.Obter(caracterizacao.Autorizacao.Id.Value); //Obtém o arquivo completo do diretorio do Institucional(nome, buffer, etc)

            aux.Id = 0;                                                                      //Zera o ID
            aux    = _busArquivoInterno.SalvarTemp(aux);                                     //salva no diretório temporário
            aux    = _busArquivoInterno.Copiar(aux);                                         //Copia para o diretório oficial

            Executor executor = Executor.Current;

            ArquivoDa arquivoDa = new ArquivoDa();

            arquivoDa.Salvar(aux, executor.Id, executor.Nome, executor.Login, (int)eExecutorTipo.Interno, executor.Tid, bancoInterno);

            caracterizacao.Autorizacao.Id = aux.Id;

            _da.CopiarDadosCredenciado(caracterizacao, bancoInterno);
        }
        public string Arquivo(HttpPostedFileBase file)
        {
            string  msg     = string.Empty;
            Arquivo arquivo = null;

            try
            {
                ArquivoBus _bus = new ArquivoBus(eExecutorTipo.Credenciado);
                arquivo = _bus.SalvarTemp(file);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(ViewModelHelper.JsSerializer.Serialize(new { Msg = Validacao.Erros, Arquivo = arquivo }));
        }
        public bool CopiarDadosInstitucional(int empreendimentoID, int empreendimentoInternoID, BancoDeDados banco)
        {
            if (banco == null)
            {
                return(false);
            }

            if (_validar == null)
            {
                _validar = new BarragemDispensaLicencaValidar();
            }

            BarragemDispensaLicencaInternoBus barragemDispLicencaInternoBus = new BarragemDispensaLicencaInternoBus();
            BarragemDispensaLicenca           caracterizacao = barragemDispLicencaInternoBus.ObterPorEmpreendimento(empreendimentoInternoID);

            caracterizacao.EmpreendimentoID = empreendimentoID;
            caracterizacao.InternoID        = caracterizacao.Id;
            caracterizacao.InternoTID       = caracterizacao.Tid;

            if (_validar.CopiarDadosInstitucional(caracterizacao))
            {
                using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, EsquemaCredenciadoBanco))
                {
                    bancoDeDados.IniciarTransacao();

                    #region Configurar

                    caracterizacao.Id = ObterPorEmpreendimento(empreendimentoID, simplificado: true, banco: bancoDeDados).Id;

                    if (caracterizacao.PossuiMonge.HasValue && !Convert.ToBoolean(caracterizacao.PossuiMonge))
                    {
                        caracterizacao.MongeTipo          = null;
                        caracterizacao.EspecificacaoMonge = string.Empty;
                    }

                    if (caracterizacao.PossuiVertedouro.HasValue && !Convert.ToBoolean(caracterizacao.PossuiVertedouro))
                    {
                        caracterizacao.VertedouroTipo          = null;
                        caracterizacao.EspecificacaoVertedouro = string.Empty;
                    }

                    #endregion

                    #region Arquivo

                    if (caracterizacao.Autorizacao != null && caracterizacao.Autorizacao.Id > 0)
                    {
                        ArquivoBus _busArquivoInterno     = new ArquivoBus(eExecutorTipo.Interno);
                        ArquivoBus _busArquivoCredenciado = new ArquivoBus(eExecutorTipo.Credenciado);

                        Arquivo aux = _busArquivoInterno.Obter(caracterizacao.Autorizacao.Id.Value); //Obtém o arquivo completo do diretorio do Institucional(nome, buffer, etc)

                        aux.Id = 0;                                                                  //Zera o ID
                        aux    = _busArquivoCredenciado.SalvarTemp(aux);                             //salva no diretório temporário
                        aux    = _busArquivoCredenciado.Copiar(aux);                                 //Copia para o diretório oficial

                        //Salvar na Oficial
                        ArquivoDa arquivoDa = new ArquivoDa();
                        arquivoDa.Salvar(aux, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Credenciado, User.FuncionarioTid, bancoDeDados);

                        caracterizacao.Autorizacao.Id = aux.Id;
                    }

                    #endregion

                    _da.CopiarDadosInstitucional(caracterizacao, bancoDeDados);

                    bancoDeDados.Commit();
                }
            }

            return(Validacao.EhValido);
        }
예제 #4
0
        public void CopiarDadosCredenciado(Dependencia dependencia, int empreendimentoInternoID, BancoDeDados banco, BancoDeDados bancoCredenciado)
        {
            if (banco == null)
            {
                return;
            }

            #region Configurar Projeto

            //Obter do Credenciado
            Cred.ModuloProjetoGeografico.Bussiness.ProjetoGeograficoBus projetoGeoCredBus = new Cred.ModuloProjetoGeografico.Bussiness.ProjetoGeograficoBus();
            ProjetoGeografico projetoGeo         = projetoGeoCredBus.ObterHistorico(dependencia.DependenciaId, dependencia.DependenciaTid);
            eCaracterizacao   caracterizacaoTipo = (eCaracterizacao)dependencia.DependenciaCaracterizacao;

            int projetoGeoCredenciadoId     = projetoGeo.Id;
            int empreendimentoCredenciadoId = projetoGeo.EmpreendimentoId;

            bool atualizarDependencias = (!Desatualizado(projetoGeo.InternoID, projetoGeo.InternoTID) && !projetoGeo.AlteradoCopiar);

            #endregion

            if (_validar.CopiarDadosCredenciado(projetoGeo))
            {
                GerenciadorTransacao.ObterIDAtual();

                using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
                {
                    bancoDeDados.IniciarTransacao();

                    _da.CopiarDadosCredenciado(projetoGeo, empreendimentoInternoID, bancoDeDados);

                    projetoGeoCredBus.AtualizarInternoIdTid(
                        empreendimentoCredenciadoId,
                        projetoGeoCredenciadoId,
                        (eCaracterizacao)projetoGeo.CaracterizacaoId,
                        projetoGeo.Id,
                        GerenciadorTransacao.ObterIDAtual(),
                        bancoCredenciado);

                    #region Arquivo

                    ArquivoBus _busArquivoInterno     = new ArquivoBus(eExecutorTipo.Interno);
                    ArquivoBus _busArquivoCredenciado = new ArquivoBus(eExecutorTipo.Credenciado);

                    foreach (var item in projetoGeo.Arquivos)
                    {
                        Arquivo aux = _busArquivoCredenciado.Obter(item.Id.Value); //Obtém o arquivo completo do diretorio do credenciado(nome, buffer, etc)

                        aux.Id = 0;                                                //Zera o ID
                        aux    = _busArquivoInterno.SalvarTemp(aux);               //salva no diretório temporário
                        aux    = _busArquivoInterno.Copiar(aux);                   //Copia para o diretório oficial

                        //Salvar na Oficial
                        ArquivoDa arquivoDa = new ArquivoDa();
                        arquivoDa.Salvar(aux, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados);

                        item.Id = aux.Id;
                    }

                    _da.SalvarArquivosCredenciado(projetoGeo, bancoDeDados);

                    #endregion

                    #region Histórico

                    HistCaract.Historico historico = new HistCaract.Historico();
                    historico.Gerar(projetoGeo.Id, eHistoricoArtefatoCaracterizacao.projetogeografico, eHistoricoAcao.importar, bancoDeDados);
                    historico.GerarGeo(projetoGeo.Id, eHistoricoArtefatoCaracterizacao.projetogeografico, eHistoricoAcao.importar, bancoDeDados);

                    #endregion

                    #region Dependencias

                    //Gerencia as dependências
                    projetoGeo.Dependencias = _caracterizacaoBus.ObterDependenciasAtual(empreendimentoInternoID, caracterizacaoTipo, eCaracterizacaoDependenciaTipo.ProjetoGeografico);
                    _caracterizacaoBus.Dependencias(new Caracterizacao()
                    {
                        Id             = projetoGeo.Id,
                        Tipo           = caracterizacaoTipo,
                        DependenteTipo = eCaracterizacaoDependenciaTipo.ProjetoGeografico,
                        Dependencias   = projetoGeo.Dependencias
                    }, bancoDeDados);

                    if (projetoGeo.InternoID > 0)
                    {
                        if (atualizarDependencias)
                        {
                            CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus();
                            caracterizacaoBus.AtualizarDependentes(projetoGeo.InternoID, caracterizacaoTipo, eCaracterizacaoDependenciaTipo.ProjetoGeografico, projetoGeo.Tid, bancoDeDados);
                        }
                    }

                    #endregion

                    bancoDeDados.Commit();
                }
            }
        }
        public void CopiarDadosInstitucional(int empreendimentoID, int empreendimentoInternoID, eCaracterizacao caracterizacaoTipo, BancoDeDados banco)
        {
            if (banco == null)
            {
                return;
            }

            #region Configurar Projeto

            ProjetoGeograficoInternoBus projetoGeograficoInternoBus = new ProjetoGeograficoInternoBus();
            ProjetoGeografico           projetoGeo = new ProjetoGeografico();

            //Obter do Institucional
            projetoGeo.InternoID = projetoGeograficoInternoBus.ExisteProjetoGeografico(empreendimentoInternoID, (int)caracterizacaoTipo);
            if (projetoGeo.InternoID > 0)
            {
                projetoGeo = projetoGeograficoInternoBus.ObterProjeto(projetoGeo.InternoID);
            }

            projetoGeo.EmpreendimentoId = empreendimentoID;
            projetoGeo.InternoID        = projetoGeo.Id;
            projetoGeo.InternoTID       = projetoGeo.Tid;

            #endregion

            if (_validar.CopiarDadosInstitucional(projetoGeo))
            {
                projetoGeo.Id = 0;                //Só é apagado aqui por causa da validação de soprepor ponto do empreendimento

                using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, EsquemaBancoCredenciado))
                {
                    bancoDeDados.IniciarTransacao();

                    _da.CopiarDadosInstitucional(projetoGeo);

                    #region Arquivo

                    ArquivoBus _busArquivoInterno     = new ArquivoBus(eExecutorTipo.Interno);
                    ArquivoBus _busArquivoCredenciado = new ArquivoBus(eExecutorTipo.Credenciado);

                    foreach (var item in projetoGeo.Arquivos)
                    {
                        Arquivo aux = _busArquivoInterno.Obter(item.Id.Value); //Obtém o arquivo completo do diretorio do interno(nome, buffer, etc)

                        aux.Id = 0;                                            //Zera o ID
                        aux    = _busArquivoCredenciado.SalvarTemp(aux);       //salva no diretório temporário
                        aux    = _busArquivoCredenciado.Copiar(aux);           //Copia para o diretório oficial

                        //Salvar na Oficial
                        ArquivoDa arquivoDa = new ArquivoDa(EsquemaBancoCredenciado);
                        arquivoDa.Salvar(aux, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Credenciado, User.FuncionarioTid, bancoDeDados);

                        item.Id = aux.Id;
                    }

                    _da.SalvarArquivosInstitucional(projetoGeo, bancoDeDados);

                    #endregion

                    #region Histórico

                    Historico historico = new Historico();
                    historico.Gerar(projetoGeo.Id, eHistoricoArtefatoCaracterizacao.projetogeografico, eHistoricoAcao.copiar, bancoDeDados, null);
                    historico.GerarGeo(projetoGeo.Id, eHistoricoArtefatoCaracterizacao.projetogeografico, eHistoricoAcao.copiar, bancoDeDados, null);

                    #endregion

                    #region Dependencias

                    //Gerencia as dependências
                    projetoGeo.Dependencias = _caracterizacaoBus.ObterDependenciasAtual(empreendimentoID, caracterizacaoTipo, eCaracterizacaoDependenciaTipo.ProjetoGeografico);
                    _caracterizacaoBus.Dependencias(new Caracterizacao()
                    {
                        Id             = projetoGeo.Id,
                        Tipo           = caracterizacaoTipo,
                        DependenteTipo = eCaracterizacaoDependenciaTipo.ProjetoGeografico,
                        Dependencias   = projetoGeo.Dependencias
                    }, bancoDeDados);

                    #endregion

                    bancoDeDados.Commit();
                }
            }
        }