public Empreendimento ObterEmpreendimento(int id, int internoId = 0, bool simplificado = false)
        {
            Empreendimento empreendimento;
            Pessoa         aux;

            if (id > 0)
            {
                empreendimento = Obter(id, simplificado);
            }
            else
            {
                EmpreendimentoInternoBus busInterno = new EmpreendimentoInternoBus();

                if (simplificado)
                {
                    empreendimento = busInterno.ObterSimplificado(internoId);
                }
                else
                {
                    empreendimento = busInterno.Obter(internoId);
                }

                PessoaCredenciadoBus pessoaCredenciadoBus = new PessoaCredenciadoBus();

                foreach (Responsavel responsavel in empreendimento.Responsaveis)
                {
                    aux = pessoaCredenciadoBus.Obter(responsavel.CpfCnpj, simplificado: true, credenciadoId: User.FuncionarioId);

                    if (aux.Id > 0)
                    {
                        responsavel.Id        = aux.Id;
                        responsavel.InternoId = aux.InternoId.GetValueOrDefault();
                        responsavel.NomeRazao = aux.NomeRazaoSocial;
                    }
                    else
                    {
                        responsavel.InternoId = responsavel.Id.GetValueOrDefault();
                        responsavel.Id        = 0;
                    }
                }

                foreach (var item in empreendimento.Enderecos)
                {
                    item.Id = 0;
                }

                empreendimento.InternoId = empreendimento.Id;
                empreendimento.Id        = 0;
            }

            return(empreendimento);
        }
        public Pessoa Importar(Pessoa pessoa, BancoDeDados banco = null, bool conjuge = false)
        {
            try
            {
                int id   = pessoa.Id;
                int conj = (pessoa.IsFisica)? pessoa.Fisica.ConjugeId.GetValueOrDefault():0;
                PessoaCredenciadoBus _busPessoaCredenciado = new PessoaCredenciadoBus();
                List <Pessoa>        representantes        = pessoa.Juridica.Representantes;
                pessoa = _busPessoaCredenciado.Obter(pessoa.Id);
                pessoa.Juridica.Representantes = representantes;
                pessoa.Id               = ObterId(pessoa.CPFCNPJ);
                pessoa.Endereco.Id      = 0;
                pessoa.Fisica.ConjugeId = conj;

                if (conjuge)
                {
                    conj = pessoa.Fisica.ConjugeId.GetValueOrDefault();
                    pessoa.Fisica.ConjugeId = 0;
                }

                if (pessoa.Id == 0)
                {
                    pessoa.Fisica.ConjugeId = 0;
                    _da.Criar(pessoa, banco);
                }
                else
                {
                    _da.Editar(pessoa, banco);
                }

                if (conjuge)
                {
                    pessoa.Fisica.ConjugeId = conj;
                }

                pessoa.InternoId = pessoa.Id;
                pessoa.Id        = id;
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
            return(pessoa);
        }
Exemple #3
0
        public ActionResult ObterPessoa(int id, string cnpfCnpj, bool isVisualizar = false, List <Pessoa> pessoas = null)
        {
            RequerimentoCredenciadoBus requerimentoCredenciadoBus = new RequerimentoCredenciadoBus();
            Requerimento requerimento = requerimentoCredenciadoBus.ObterSimplificado(id);

            SalvarVM             vm             = new SalvarVM();
            PessoaCredenciadoBus credenciadoBus = new PessoaCredenciadoBus();
            Pessoa credenciado = credenciadoBus.Obter(cnpfCnpj, credenciadoId: requerimento.CredenciadoId);

            if (credenciado.Id > 0 && pessoas != null && pessoas.Exists(x => x.CPFCNPJ == credenciado.CPFCNPJ))
            {
                vm.PessoaCredenciado = credenciado.GerarLista();
            }

            vm.Pessoa.SelecaoTipo = (int)eExecutorTipo.Credenciado;
            vm.Pessoa.CPFCNPJ     = cnpfCnpj;

            return(PartialView("PessoaComparar", vm));
        }
Exemple #4
0
        public bool Ativar(CredenciadoPessoa credenciado, String senha, String confirmarSenha)
        {
            try
            {
                if (_validar.ValidarAtivar(credenciado, senha, confirmarSenha))
                {
                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado))
                    {
                        Executor executorHistorico = new Executor();
                        executorHistorico.Id    = credenciado.Id;
                        executorHistorico.Tid   = credenciado.Tid;
                        executorHistorico.Nome  = credenciado.Nome;
                        executorHistorico.Login = credenciado.Usuario.Login;
                        executorHistorico.Tipo  = eExecutorTipo.Credenciado;

                        bancoDeDados.IniciarTransacao();
                        GerenciadorTransacao.ObterIDAtual();

                        #region Pessoa

                        using (BancoDeDados bancoDeDadosInterno = BancoDeDados.ObterInstancia())
                        {
                            bancoDeDadosInterno.IniciarTransacao();

                            if (!_pessoaInternoBus.Existe(credenciado.Pessoa.CPFCNPJ, bancoDeDadosInterno))
                            {
                                credenciado.Pessoa = _pessoaCredenciadoBus.Obter(credenciado.Pessoa.Id, bancoDeDados);

                                int id = credenciado.Pessoa.Id;
                                credenciado.Pessoa.Id = 0;

                                #region Juridica Pessoa/Representantes

                                if (credenciado.Pessoa.IsJuridica && credenciado.Pessoa.Juridica.Representantes != null)
                                {
                                    Pessoa pessoaAux = null;

                                    for (int i = 0; i < credenciado.Pessoa.Juridica.Representantes.Count; i++)
                                    {
                                        pessoaAux = credenciado.Pessoa.Juridica.Representantes[i];
                                        int representanteInternoID = _pessoaInternoBus.ObterId(pessoaAux.CPFCNPJ, bancoDeDadosInterno);

                                        if (representanteInternoID == 0)
                                        {
                                            //Cria a pessoa do representante no interno
                                            pessoaAux    = _pessoaCredenciadoBus.Obter(pessoaAux.Id, bancoDeDados);
                                            pessoaAux.Id = 0;

                                            #region Conjuge

                                            if (pessoaAux.Fisica.ConjugeId > 0)
                                            {
                                                int conjugeInternoId = _pessoaInternoBus.ObterId(pessoaAux.Fisica.ConjugeCPF, bancoDeDadosInterno);

                                                if (conjugeInternoId == 0)
                                                {
                                                    // Cria Conjuge do representante no interno
                                                    Pessoa pessoaConjuge = _pessoaCredenciadoBus.Obter(pessoaAux.Fisica.ConjugeId.GetValueOrDefault(), bancoDeDados);
                                                    pessoaConjuge.Id = 0;
                                                    pessoaConjuge.Fisica.ConjugeId = 0;

                                                    _pessoaInternoBus.Salvar(pessoaConjuge, bancoDeDadosInterno, executorHistorico);

                                                    pessoaAux.Fisica.ConjugeId = pessoaConjuge.Id;
                                                }
                                                else
                                                {
                                                    pessoaAux.Fisica.ConjugeId = conjugeInternoId;
                                                }
                                            }

                                            #endregion

                                            _pessoaInternoBus.Salvar(pessoaAux, bancoDeDadosInterno, executorHistorico);

                                            credenciado.Pessoa.Juridica.Representantes[i].Id = pessoaAux.Id;
                                        }
                                        else
                                        {
                                            credenciado.Pessoa.Juridica.Representantes[i].Id = representanteInternoID;
                                        }
                                    }
                                }

                                #endregion

                                #region Fisica Conjuge

                                if (credenciado.Pessoa.IsFisica && credenciado.Pessoa.Fisica.ConjugeId > 0)
                                {
                                    int conjugeInternoId = _pessoaInternoBus.ObterId(credenciado.Pessoa.Fisica.ConjugeCPF, bancoDeDadosInterno);

                                    if (conjugeInternoId == 0)
                                    {
                                        // Cria Conjuge do representante no interno
                                        Pessoa pessoaConjuge = _pessoaCredenciadoBus.Obter(credenciado.Pessoa.Fisica.ConjugeId.GetValueOrDefault(), bancoDeDados);
                                        pessoaConjuge.Id = 0;
                                        pessoaConjuge.Fisica.ConjugeId = 0;

                                        _pessoaInternoBus.Salvar(pessoaConjuge, bancoDeDadosInterno, executorHistorico);

                                        credenciado.Pessoa.Fisica.ConjugeId = pessoaConjuge.Id;
                                    }
                                    else
                                    {
                                        credenciado.Pessoa.Fisica.ConjugeId = conjugeInternoId;
                                    }
                                }

                                #endregion

                                _pessoaInternoBus.Salvar(credenciado.Pessoa, bancoDeDadosInterno, executorHistorico);
                                credenciado.Pessoa.Id = id;
                            }
                        }

                        #endregion

                        #region Usuário

                        string hashSenha = GerenciarAutenticacao.Criptografar(credenciado.Usuario.Login, senha);

                        if (credenciado.Usuario.Id <= 0)
                        {
                            AutenticacaoExecutor executor = new AutenticacaoExecutor();
                            executor.Tipo      = (int)eExecutorTipo.Credenciado;
                            executor.UsuarioId = credenciado.Id;
                            executor.Tid       = credenciado.Tid;
                            _busUsuario.Salvar(credenciado.Usuario, hashSenha, executor, bancoDeDados);
                        }

                        _da.Ativar(credenciado, bancoDeDados, executorHistorico);

                        bancoDeDados.Commit();

                        #endregion
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }
        public bool Salvar(Empreendimento empreendimento)
        {
            try
            {
                if (_validar.Salvar(empreendimento))
                {
                    Mensagem erros = VerificarLocalizacaoEmpreendimento(empreendimento.Coordenada.EastingUtmTexto, empreendimento.Coordenada.NorthingUtmTexto, empreendimento.Enderecos[0].EstadoId, empreendimento.Enderecos[0].MunicipioId);
                    if (erros.Texto != null)
                    {
                        Validacao.Add(erros);
                        return(Validacao.EhValido);
                    }

                    empreendimento.CredenciadoId = User.FuncionarioId;

                    if (empreendimento.InternoId.GetValueOrDefault() > 0)
                    {
                        empreendimento.InternoTid = new EmpreendimentoInternoBus().ObterSimplificado(empreendimento.InternoId.Value).Tid;
                    }

                    if (empreendimento.Coordenada.Tipo.Id > 0)
                    {
                        empreendimento.Coordenada.Datum.Sigla = ListaCredenciadoBus.Datuns.SingleOrDefault(x => Equals(x.Id, empreendimento.Coordenada.Datum.Id)).Sigla;
                    }

                    #region Utilizar o mesmo endereço de localização

                    if (empreendimento.Enderecos.Count == 1)
                    {
                        Endereco enderecoLocalizacao = empreendimento.Enderecos.First();

                        Endereco endereco = new Endereco();
                        endereco.Correspondencia     = 1;
                        endereco.Cep                 = enderecoLocalizacao.Cep;
                        endereco.Logradouro          = enderecoLocalizacao.Logradouro;
                        endereco.Bairro              = enderecoLocalizacao.Bairro;
                        endereco.EstadoId            = enderecoLocalizacao.EstadoId;
                        endereco.MunicipioId         = enderecoLocalizacao.MunicipioId;
                        endereco.Numero              = enderecoLocalizacao.Numero;
                        endereco.DistritoLocalizacao = enderecoLocalizacao.DistritoLocalizacao;
                        endereco.Complemento         = enderecoLocalizacao.Complemento;

                        empreendimento.Enderecos.Add(endereco);
                    }

                    #endregion

                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado))
                    {
                        bancoDeDados.IniciarTransacao();
                        PessoaCredenciadoBus pessoaCredenciadoBus = new PessoaCredenciadoBus();
                        Pessoa          aux;
                        List <Mensagem> mensagens = new List <Mensagem>();

                        foreach (Responsavel responsavel in empreendimento.Responsaveis)
                        {
                            if (responsavel.Id <= 0)
                            {
                                aux = pessoaCredenciadoBus.ObterPessoa(interno: responsavel.InternoId);
                                Pessoa pessoaCredenciado = pessoaCredenciadoBus.Obter(aux.CPFCNPJ, bancoDeDados, simplificado: true, credenciadoId: User.FuncionarioId);

                                aux.Id = pessoaCredenciado.Id;
                                pessoaCredenciadoBus.Salvar(aux, bancoDeDados);

                                responsavel.Id = aux.Id;

                                if (!Validacao.EhValido)
                                {
                                    mensagens.Add(Mensagem.Pessoa.DadosRepresentanteIncompleto(aux.NomeRazaoSocial));
                                }
                            }
                        }

                        if (!Validacao.EhValido)
                        {
                            mensagens.ForEach(msg =>
                            {
                                msg.Texto = msg.Texto.Replace("representante", "responsável");
                            });

                            Validacao.Erros = mensagens;
                            bancoDeDados.Rollback();
                            return(false);
                        }

                        _da.Salvar(empreendimento, bancoDeDados);

                        #region Solicitação de CAR

                        CARSolicitacaoBus carSolicitacaoBus = new CARSolicitacaoBus();
                        CARSolicitacao    carSolicitacao    = new CARSolicitacao();
                        carSolicitacao.Empreendimento.Id = empreendimento.Id;
                        //carSolicitacaoBus.AlterarSituacao(carSolicitacao, new CARSolicitacao() { SituacaoId = (int)eCARSolicitacaoSituacao.Invalido }, bancoDeDados);

                        #endregion

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

            return(Validacao.EhValido);
        }
Exemple #6
0
        public ActionResult CriarVerificarCpfCnpj(PessoaVM vmVerificar)
        {
            PessoaVM vm              = null;
            Pessoa   pessoa          = new Pessoa();
            bool     isCpfCnpjValido = false;
            String   urlAcao         = Url.Action("Criar", "Pessoa");

            try
            {
                vm = new PessoaVM(ListaCredenciadoBus.EstadosCivil, ListaCredenciadoBus.Sexos, ListaCredenciadoBus.Profissoes, ListaCredenciadoBus.OrgaosClasse, ListaCredenciadoBus.Estados);
                isCpfCnpjValido = _bus.VerificarCriarCpfCnpj(vmVerificar.Pessoa);
                if (isCpfCnpjValido)
                {
                    pessoa           = _bus.Obter(vmVerificar.Pessoa.CPFCNPJ, simplificado: true, credenciadoId: _bus.User.FuncionarioId);
                    pessoa.InternoId = _busInterno.ObterId(vmVerificar.Pessoa.CPFCNPJ);

                    if (pessoa.InternoId > 0 && pessoa.Id <= 0)
                    {
                        urlAcao = Url.Action("Visualizar", "Pessoa");
                        Validacao.Add(Mensagem.Credenciado.PessoaExistenteInterno(pessoa.IsFisica ? "CPF": "CNPJ"));
                        vm.Pessoa.IsCopiado = true;
                    }
                    else
                    {
                        if (pessoa.Id > 0)
                        {
                            urlAcao = Url.Action("Visualizar", "Pessoa");

                            if (pessoa.IsFisica)
                            {
                                Validacao.Add(Mensagem.Pessoa.CpfCadastrado);
                            }
                            else
                            {
                                Validacao.Add(Mensagem.Pessoa.CnpjCadastrado);
                            }
                        }
                        else
                        {
                            if (vmVerificar.Pessoa.IsFisica)
                            {
                                Validacao.Add(Mensagem.Pessoa.CpfNaoCadastrado);
                            }
                            else
                            {
                                Validacao.Add(Mensagem.Pessoa.CnpjNaoCadastrado);
                            }
                        }
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Json(new { IsCpfCnpjValido = isCpfCnpjValido, PessoaId = pessoa.Id, InternoId = pessoa.InternoId, isCopiado = vm.Pessoa.IsCopiado, UrlAcao = urlAcao, Msg = Validacao.Erros }, JsonRequestBehavior.AllowGet));
        }
        public List <Pessoa> ObterPessoasRelacionadas(Requerimento requerimento)
        {
            List <Pessoa> pessoasRelacionadas = new List <Pessoa>();

            List <string> cpfCnpj = requerimento.Responsaveis
                                    .Where(x => x.Representantes != null)
                                    .SelectMany(x => x.Representantes)
                                    .Select(x => x.CPFCNPJ)
                                    .ToList();

            pessoasRelacionadas.AddRange(requerimento.Pessoas);

            //TODOS OS REPRESENTANTES PF DOS RESPONSAVEIS
            pessoasRelacionadas.AddRange(requerimento.Pessoas.Where(x => cpfCnpj.Exists(y => x.IsFisica && y == x.CPFCNPJ)));

            //INTERESSADO
            pessoasRelacionadas.Add(requerimento.Pessoas.Where(x => x.CPFCNPJ == requerimento.Interessado.CPFCNPJ).FirstOrDefault());

            //TODOS OS RESPONSAVEIS
            requerimento.Responsaveis.ForEach(r =>
            {
                pessoasRelacionadas.Add(requerimento.Pessoas.Where(x => x.CPFCNPJ == r.CpfCnpj).FirstOrDefault());
            });

            //TODOS OS RESPONSAVEIS DO EMPREEENDIMENTO
            //if (requerimento.Empreendimento.SelecaoTipo == (int)eExecutorTipo.Credenciado && requerimento.Empreendimento.Id > 0)
            //{
            //    EmpreendimentoCredenciadoBus empreendimentoCredenciadoBus = new EmpreendimentoCredenciadoBus();
            //    pessoasRelacionadas.AddRange(empreendimentoCredenciadoBus.ObterResponsaveis(requerimento.Empreendimento.Id));
            //}

            //TODOS OS REPRESENTANTES DOS RESPONSAVEIS DO EMPREEENDIMENTO
            if (requerimento.Empreendimento.SelecaoTipo == (int)eExecutorTipo.Credenciado && requerimento.Empreendimento.Id > 0)
            {
                PessoaCredenciadoBus         pessoaCredenciadoBus         = new PessoaCredenciadoBus();
                EmpreendimentoCredenciadoBus empreendimentoCredenciadoBus = new EmpreendimentoCredenciadoBus();
                var responsaveis = empreendimentoCredenciadoBus.ObterResponsaveis(requerimento.Empreendimento.Id);
                pessoasRelacionadas.AddRange(responsaveis);

                foreach (var responsavel in responsaveis)
                {
                    var pessoa = pessoaCredenciadoBus.Obter(responsavel.Id);
                    if (pessoa.IsJuridica)
                    {
                        foreach (var repre in pessoa.Juridica.Representantes)
                        {
                            pessoasRelacionadas.Add(pessoaCredenciadoBus.Obter(repre.Id));
                        }
                    }
                }
            }

            //Conjuge
            foreach (var item in requerimento.Pessoas.Where(x => x.Fisica.ConjugeId > 0).ToList())
            {
                if (item.SelecaoTipo == (int)eExecutorTipo.Credenciado)
                {
                    pessoasRelacionadas.Add(requerimento.Pessoas.FirstOrDefault(x => x.CPFCNPJ == item.Fisica.ConjugeCPF));
                }
            }

            //Agrupando
            pessoasRelacionadas = pessoasRelacionadas.Where(x => x != null).GroupBy(x => x.CPFCNPJ).Select(y => new Pessoa
            {
                Id              = y.First().Id,
                Tipo            = y.First().Tipo,
                InternoId       = y.First().InternoId,
                NomeRazaoSocial = y.First().NomeRazaoSocial,
                CPFCNPJ         = y.First().CPFCNPJ,
                Fisica          = y.First().Fisica,
            }).ToList();

            return(pessoasRelacionadas);
        }