示例#1
0
        public bool PodeCopiar(int empInternoID, BancoDeDados banco = null)
        {
            CredenciadoPessoa credenciado = _busCaracterizacao.ObterCredenciado(User.FuncionarioId, true);

            UnidadeConsolidacaoInternoBus unidadeConsolidacaoInternoBus = new UnidadeConsolidacaoInternoBus();
            UnidadeConsolidacao           caracterizacao = unidadeConsolidacaoInternoBus.ObterPorEmpreendimento(empInternoID);

            return(caracterizacao.ResponsaveisTecnicos.Any(x => x.CpfCnpj == credenciado.Pessoa.CPFCNPJ));
        }
示例#2
0
        public bool CopiarDadosInstitucional(int empreendimentoID, int empreendimentoInternoID, BancoDeDados banco)
        {
            if (banco == null)
            {
                return(false);
            }

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

            #region Configurar Caracterização

            UnidadeProducaoInternoBus unidadeConsolidacaoInternoBus = new UnidadeProducaoInternoBus();
            UnidadeProducao           caracterizacao = unidadeConsolidacaoInternoBus.ObterPorEmpreendimento(empreendimentoInternoID);

            caracterizacao.Empreendimento.Id = empreendimentoID;
            caracterizacao.InternoID         = caracterizacao.Id;
            caracterizacao.InternoTID        = caracterizacao.Tid;
            caracterizacao.UnidadesProducao.SelectMany(u => u.Produtores).ToList().ForEach(p => { p.IdRelacionamento = 0; });
            caracterizacao.UnidadesProducao.SelectMany(u => u.ResponsaveisTecnicos).ToList().ForEach(r => { r.IdRelacionamento = 0; });

            //Remove UPs nao relacionadas.
            CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus();
            CredenciadoPessoa credenciado       = caracterizacaoBus.ObterCredenciado(User.FuncionarioId, true);

            //REMOVIDO FILTRO QUE IMPORTAVA APENAS UP's VINCULADAS AO RESPONSAVEL TECNICO
            //caracterizacao.UnidadesProducao.RemoveAll(x => !x.ResponsaveisTecnicos.Any(y => y.CpfCnpj == credenciado.Pessoa.CPFCNPJ));

            #endregion

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

                    //Setar ID do credenciado
                    caracterizacao.Id = ObterPorEmpreendimento(empreendimentoID, simplificado: true, banco: bancoDeDados).Id;

                    _da.CopiarDadosInstitucional(caracterizacao, bancoDeDados);

                    bancoDeDados.Commit();
                }
            }

            return(Validacao.EhValido);
        }