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