示例#1
0
        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);
        }
示例#2
0
        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);
        }