Exemplo n.º 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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }