Пример #1
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));
        }
Пример #2
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);
        }