Exemplo n.º 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));
        }
Exemplo n.º 2
0
        public bool CopiarDadosInstitucional(int empreendimentoID, int empreendimentoInternoID, BancoDeDados banco)
        {
            if (banco == null)
            {
                return(false);
            }

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

            #region Configurar Caracterização

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

            caracterizacao.Empreendimento.Id = empreendimentoID;
            caracterizacao.InternoId         = caracterizacao.Id;
            caracterizacao.InternoTid        = caracterizacao.Tid;
            caracterizacao.Cultivares.ForEach(r => { r.IdRelacionamento = 0; });
            caracterizacao.ResponsaveisTecnicos.ForEach(r => { r.IdRelacionamento = 0; });

            #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);
        }
Exemplo n.º 3
0
        public bool Salvar(UnidadeConsolidacao unidade)
        {
            try
            {
                if (!_validar.Salvar(unidade))
                {
                    return(Validacao.EhValido);
                }

                EmpreendimentoCaracterizacao empreendimento = _busCaracterizacao.ObterEmpreendimentoSimplificado(unidade.Empreendimento.Id);

                UnidadeConsolidacaoInternoBus internoBus            = new UnidadeConsolidacaoInternoBus();
                UnidadeConsolidacao           caracterizacaoInterno = internoBus.ObterPorEmpreendimento(empreendimento.InternoID, true);

                if (caracterizacaoInterno.Id > 0)
                {
                    unidade.PossuiCodigoUC = caracterizacaoInterno.PossuiCodigoUC;
                    unidade.CodigoUC       = caracterizacaoInterno.CodigoUC;
                }
                else
                {
                    if (!unidade.PossuiCodigoUC)
                    {
                        if (unidade.Id < 1)
                        {
                            int codigo = _da.ObterSequenciaCodigoUC();

                            unidade.CodigoUC = Convert.ToInt64(empreendimento.MunicipioIBGE.ToString() + codigo.ToString("D4"));
                        }
                        else
                        {
                            unidade.CodigoUC = ObterPorEmpreendimento(unidade.Empreendimento.Id, simplificado: true).CodigoUC;
                        }
                    }
                    else if (_da.FoiCopiada(unidade.Id))
                    {
                        unidade.CodigoUC = ObterPorEmpreendimento(unidade.Empreendimento.Id, simplificado: true).CodigoUC;
                    }
                }

                foreach (var aux in unidade.ResponsaveisTecnicos)
                {
                    aux.CFONumero = aux.CFONumero.Split('-').GetValue(0).ToString();
                }

                GerenciadorTransacao.ObterIDAtual();

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

                    _da.Salvar(unidade, bancoDeDados);

                    Validacao.Add(Mensagem.UnidadeConsolidacao.UnidadeConsolidacaoSalvaSucesso);

                    bancoDeDados.Commit();
                }
            }
            catch (Exception e)
            {
                Validacao.AddErro(e);
            }

            return(Validacao.EhValido);
        }