public ActionResult Criar(PessoaVM vm) { vm.CpfCnpjValido = true; vm.Pessoa.Ativa = 1; //Indica que pessoa está ativa no sistema if (vm.TipoCadastro != 0) { vm.Pessoa.Tipo = (vm.TipoCadastro == 2) ? PessoaTipo.JURIDICA : PessoaTipo.FISICA; } CarregaCampos(vm); if (vm.TipoCadastro == 1 && (vm.Pessoa.Fisica.EstadoCivil == 2 || vm.Pessoa.Fisica.EstadoCivil == 5)) { vm.Pessoa.Fisica.ConjugeId = -1; } if (vm.Pessoa.IsFisica) { if (vm.Pessoa.Fisica.Conjuge != null && !String.IsNullOrWhiteSpace(vm.Pessoa.Fisica.Conjuge.CPFCNPJ)) { _pessoaCredenciadoValidar.Salvar(vm.Pessoa.Fisica.Conjuge, true); } } _pessoaCredenciadoValidar.Salvar(vm.Pessoa); return(Json(new { IsPessoaSalva = Validacao.EhValido, @Pessoa = vm.Pessoa, Msg = Validacao.Erros })); }
public bool SalvarPublico(CredenciadoPessoa credenciado) { try { if (credenciado.Pessoa.IsFisica) { if (credenciado.Pessoa.Fisica.Conjuge != null && !String.IsNullOrWhiteSpace(credenciado.Pessoa.Fisica.Conjuge.CPFCNPJ)) { _validarPessoa.Salvar(credenciado.Pessoa.Fisica.Conjuge, true); } } _validar.Salvar(credenciado, true); if (Validacao.EhValido) { credenciado.Situacao = credenciado.Tipo == (int)eCredenciadoTipo.OrgaoParceiroConveniado ? (int)eCredenciadoSituacao.Cadastrado : (int)eCredenciadoSituacao.AguardandoAtivacao; Executor executor = new Executor(); executor.Nome = credenciado.Nome; executor.Tipo = eExecutorTipo.Credenciado; GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); credenciado.Chave = GerarChaveAcesso(credenciado.Email, credenciado.Pessoa.NomeRazaoSocial); _da.Salvar(credenciado, bancoDeDados, executor); if (credenciado.Pessoa.IsJuridica) { foreach (Pessoa pessoa in credenciado.Pessoa.Juridica.Representantes) { if (pessoa.Fisica.Conjuge != null && !string.IsNullOrEmpty(pessoa.Fisica.Conjuge.CPFCNPJ)) { pessoa.Fisica.Conjuge.CredenciadoId = credenciado.Id; _pessoaCredenciadoBus.SalvarPublico(pessoa.Fisica.Conjuge, bancoDeDados, executor); pessoa.Fisica.ConjugeId = pessoa.Fisica.Conjuge.Id; } pessoa.CredenciadoId = credenciado.Id; _pessoaCredenciadoBus.SalvarPublico(pessoa, bancoDeDados, executor); } } else if (credenciado.Pessoa.Fisica.Conjuge != null && !string.IsNullOrEmpty(credenciado.Pessoa.Fisica.Conjuge.CPFCNPJ)) { credenciado.Pessoa.Fisica.Conjuge.CredenciadoId = credenciado.Id; _pessoaCredenciadoBus.SalvarPublico(credenciado.Pessoa.Fisica.Conjuge, bancoDeDados, executor); credenciado.Pessoa.Fisica.ConjugeId = credenciado.Pessoa.Fisica.Conjuge.Id; } credenciado.Pessoa.CredenciadoId = credenciado.Id; credenciado.Pessoa.IsCredenciado = true; _pessoaCredenciadoBus.SalvarPublico(credenciado.Pessoa, bancoDeDados, executor); _da.Editar(credenciado, bancoDeDados, gerarHistorico: false); Historico historico = new Historico(); historico.Gerar(credenciado.Id, eHistoricoArtefato.credenciado, eHistoricoAcao.criar, bancoDeDados, executor); if (credenciado.Tipo != (int)eCredenciadoTipo.OrgaoParceiroConveniado) { EnviarEmail(credenciado, credenciado.Email); } if (!Validacao.EhValido) { bancoDeDados.Rollback(); } else { bancoDeDados.Commit(); } } } } catch (Exception exc) { Validacao.AddErro(exc); } return(Validacao.EhValido); }
public bool VerificarPessoaJuridica(CredenciadoPessoa credenciado, bool isPublico = false) { VerificarCriarCnpj(credenciado.Pessoa); if (String.IsNullOrWhiteSpace(credenciado.Pessoa.Juridica.RazaoSocial)) { Validacao.Add(Mensagem.Credenciado.ObrigatorioRazaoSocial); } if (String.IsNullOrWhiteSpace(credenciado.Pessoa.Juridica.NomeFantasia)) { Validacao.Add(Mensagem.Credenciado.ObrigatorioNomeFantasia); } #region Representantes if (credenciado.Pessoa.Juridica.Representantes.Count <= 0) { Validacao.Add(Mensagem.Credenciado.RepresentanteObrigatorio); } List <Mensagem> mensagens = new List <Mensagem>(Validacao.Erros); Validacao.Erros.Clear(); PessoaCredenciadoValidar pessoaValidar = new PessoaCredenciadoValidar(); credenciado.Pessoa.Juridica.Representantes.ForEach(representante => { bool isValido = true; /*Pessoa*/ if (!pessoaValidar.Salvar(representante)) { isValido = false; } /*Conjuge*/ if (!String.IsNullOrWhiteSpace(representante.Fisica.ConjugeCPF) && !isPublico) { representante.Fisica.Conjuge = _busPessoa.ObterPessoa(representante.Fisica.ConjugeCPF); } if (!String.IsNullOrWhiteSpace(representante.Fisica.ConjugeCPF) && representante.Fisica.Conjuge != null && isValido) { if (!pessoaValidar.Salvar(representante.Fisica.Conjuge, true)) { isValido = false; } } if (!isValido) { mensagens.Add(Mensagem.Pessoa.DadosRepresentanteIncompleto(representante.NomeRazaoSocial)); } Validacao.Erros.Clear(); }); Validacao.Erros = mensagens; #endregion return(Validacao.EhValido); }