public bool Salvar(Pessoa pessoa) { try { if (_validar.Salvar(pessoa)) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); #region Conjuge if (pessoa.Id > 0 && pessoa.IsFisica) { Pessoa pessoaBanco = _da.Obter(pessoa.Id); //Remover conjuge anterior if ((pessoaBanco.Fisica.ConjugeId ?? 0) > 0 && (pessoaBanco.Fisica.ConjugeId ?? 0) != (pessoa.Fisica.ConjugeId ?? 0)) { //Volta estado Civil anterior [Default - 1 Solteiro(a)] int estadoCivil = _da.ObterEstadoCivilAnterior(pessoaBanco.Fisica.ConjugeId.GetValueOrDefault()) ?? 1; _da.AlterarEstadoCivil(pessoaBanco.Fisica.ConjugeId.GetValueOrDefault(), estadoCivil, bancoDeDados); } } //Alterar o estado civil do conjuge if (pessoa.IsFisica && (pessoa.Fisica.ConjugeId ?? 0) > 0) { _da.AlterarEstadoCivil(pessoa.Fisica.ConjugeId.GetValueOrDefault(), pessoa.Fisica.EstadoCivil.GetValueOrDefault(), bancoDeDados); } #endregion _da.Salvar(pessoa, bancoDeDados); bancoDeDados.Commit(); } } } catch (Exception exc) { Validacao.AddErro(exc); } return(Validacao.EhValido); }
public Pessoa Obter(String cpfCnpj, BancoDeDados banco, bool simplificado = false) { Pessoa pessoa = _da.Obter(cpfCnpj, banco, simplificado); if (pessoa != null && pessoa.Id > 0 && pessoa.IsFisica) { if ((pessoa.Fisica.EstadoCivil ?? 0) > 0) { pessoa.Fisica.EstadoCivilTexto = _configPessoa.Obter <List <EstadoCivil> >(ConfiguracaoPessoa.KeyEstadosCivis).Single(x => x.Id == pessoa.Fisica.EstadoCivil).Texto; } if ((pessoa.Fisica.Sexo ?? 0) > 0) { pessoa.Fisica.SexoTexto = _configPessoa.Obter <List <Sexo> >(ConfiguracaoPessoa.KeySexos).Single(x => x.Id == pessoa.Fisica.Sexo).Texto; } } return(pessoa); }