Пример #1
0
        public Empreendimento Obter(int id)
        {
            try
            {
                Empreendimento emp = _da.Obter(id);

                if (emp.Id == 0)
                {
                    Validacao.Add(Mensagem.Empreendimento.Inexistente);
                }

                return(emp);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(null);
        }
Пример #2
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);
        }