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); }
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); }