public BarragemDispensaLicencaBus(BarragemDispensaLicencaValidar validar) { _validar = validar; }
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); }