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 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); }