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(int id, BancoDeDados banco = null, bool simplificado = false) { Pessoa pessoa = _da.Obter(id, banco, simplificado); if (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); }
public Dictionary <string, object> VerificarDocumentoOrigem(eDocumentoFitossanitarioTipo origemTipo, string origemTipoTexto, long numero, string serieNumero) { List <Lista> listaCulturas = new List <Lista>(); Dictionary <string, object> retorno = new Dictionary <string, object>(); Dictionary <string, object> documentoOrigem = null; try { if (numero <= 0) { Validacao.Add(Mensagem.PTV.NumeroDocumentoOrigemObrigatorio); } else { documentoOrigem = _da.VerificarDocumentoOrigem(origemTipo, numero, serieNumero); if (documentoOrigem != null) { CredenciadoDa _credenciadoDa = new CredenciadoDa(); var credenciado = _credenciadoDa.Obter(User.FuncionarioId); switch (origemTipo) { case eDocumentoFitossanitarioTipo.CFO: if ((int)documentoOrigem["situacao"] != (int)eDocumentoFitossanitarioSituacao.Valido) { Validacao.Add(Mensagem.PTV.CfoSituacaoInvalida); } PessoaInternoDa _pessoaInternoDa = new PessoaInternoDa(); var produtor = _pessoaInternoDa.Obter((int)documentoOrigem["produtor"]); if ((int)documentoOrigem["credenciado"] != User.FuncionarioId && produtor.CPFCNPJ != credenciado.Pessoa.CPFCNPJ) { Validacao.Add(Mensagem.PTV.UsuarioSemPermissaoDocOrigem); } break; case eDocumentoFitossanitarioTipo.CFOC: if ((int)documentoOrigem["situacao"] != (int)eDocumentoFitossanitarioSituacao.Valido) { Validacao.Add(Mensagem.PTV.CfocSituacaoInvalida); } EmpreendimentoInternoDa _empreendimentoInternoDa = new EmpreendimentoInternoDa(); var empreendimento = _empreendimentoInternoDa.Obter((int)documentoOrigem["empreendimento_id"]); if ((int)documentoOrigem["credenciado"] != User.FuncionarioId && empreendimento.CNPJ != credenciado.Pessoa.CPFCNPJ) { Validacao.Add(Mensagem.PTV.UsuarioSemPermissaoDocOrigem); } break; case eDocumentoFitossanitarioTipo.PTV: if ((int)documentoOrigem["situacao"] != (int)ePTVSituacao.Valido) { Validacao.Add(Mensagem.PTV.PTVSituacaoInvalida); } break; case eDocumentoFitossanitarioTipo.PTVOutroEstado: if ((int)documentoOrigem["situacao"] != (int)ePTVOutroSituacao.Valido) { Validacao.Add(Mensagem.PTV.PTVOutroEstadoSituacaoInvalida); } if ((int)documentoOrigem["credenciado"] != User.FuncionarioId) { Validacao.Add(Mensagem.PTV.UsuarioSemPermissaoDocOrigem); } break; } } else { Validacao.Add(Mensagem.PTV.NumeroDocumentoOrigemNaoExistente(origemTipoTexto)); } } if (documentoOrigem == null) { retorno.Add("id", 0); retorno.Add("empreendimento_id", 0); retorno.Add("empreendimento_denominador", string.Empty); retorno.Add("listaCulturas", new List <Lista>()); retorno.Add("declaracao_adicional", " "); } else { retorno.Add("id", documentoOrigem["id"]); retorno.Add("empreendimento_id", documentoOrigem["empreendimento_id"]); retorno.Add("empreendimento_denominador", documentoOrigem["empreendimento_denominador"]); retorno.Add("listaCulturas", _da.ObterCultura((int)origemTipo, (int)documentoOrigem["id"])); retorno.Add("declaracao_adicional", _da.ObterDeclaracaoAdicional((int)documentoOrigem["id"])); } } catch (Exception exc) { Validacao.AddErro(exc); } return(retorno); }