예제 #1
0
        internal bool EmpreendimentoSolicitacaoCAR(EmpreendimentoCaracterizacao empreendimento)
        {
            if (object.Equals(empreendimento, null))
            {
                Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoEmpreendimentoObrigatorio);
                return(false);
            }

            string situacao = string.Empty;

            if (!String.IsNullOrWhiteSpace(empreendimento.CNPJ))
            {
                situacao = _daCarSolicitacao.EmpreendimentoPossuiSolicitacao(empreendimento.CNPJ);
                if (!String.IsNullOrWhiteSpace(situacao))
                {
                    Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao));
                    return(false);
                }

                situacao = _carSolicitacaoInternoDa.EmpreendimentoPossuiSolicitacao(empreendimento.CNPJ);
                if (!String.IsNullOrWhiteSpace(situacao))
                {
                    Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao));
                    return(false);
                }
            }
            else
            {
                if (empreendimento.InternoID > 0)
                {
                    situacao = _daCarSolicitacao.EmpreendimentoPossuiSolicitacao(empreendimento.InternoID);
                    if (!string.IsNullOrEmpty(situacao))
                    {
                        Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao));
                        return(false);
                    }

                    situacao = _carSolicitacaoInternoDa.EmpreendimentoPossuiSolicitacao(empreendimento.InternoID);
                    if (!string.IsNullOrEmpty(situacao))
                    {
                        Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao));
                        return(false);
                    }
                }
                else
                {
                    situacao = _daCarSolicitacao.EmpreendimentoCredenciadoPossuiSolicitacao(empreendimento.Id);
                    if (!string.IsNullOrEmpty(situacao))
                    {
                        Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao));
                        return(false);
                    }
                }
            }

            return(true);
        }
        public string EmpreendimentoPossuiSolicitacao(int empreendimento, BancoDeDados banco = null)
        {
            try
            {
                return(_da.EmpreendimentoPossuiSolicitacao(empreendimento, banco));
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(null);
        }
        public bool Salvar(CARSolicitacao entidade)
        {
            if (!_protocoloDa.EmPosse(entidade.Protocolo.Id.GetValueOrDefault()))
            {
                Validacao.Add(Mensagem.CARSolicitacao.ProtocoloPosse);
                return(false);
            }

            if (entidade.SituacaoId <= 0)
            {
                Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoSituacaoObrigatoria);
            }

            if (entidade.Protocolo == null || entidade.Protocolo.Id.GetValueOrDefault(0) <= 0)
            {
                Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoProtocoloObrigatorio);
            }

            if (entidade.Requerimento.Id <= 0)
            {
                Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoRequerimentoObrigatorio);
            }

            _requerimentoValidar.Existe(entidade.Requerimento.Id);

            if (entidade.SituacaoId == (int)eCARSolicitacaoSituacao.EmCadastro)
            {
                if (entidade.Protocolo.Id.GetValueOrDefault() != entidade.ProtocoloSelecionado.Id.GetValueOrDefault())
                {
                    if (!_da.ExisteProtocoloAssociado(entidade.Protocolo.Id.GetValueOrDefault(), entidade.ProtocoloSelecionado.Id.GetValueOrDefault()))
                    {
                        Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoRequerimentoDesassociadoProtocolo(entidade.Requerimento.Numero.ToString()));
                    }
                }

                String numeroProtocoloPai = _da.ObterNumeroProtocoloPai(entidade.Protocolo.Id.GetValueOrDefault(0));
                if (!String.IsNullOrWhiteSpace(numeroProtocoloPai))
                {
                    Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoProtocoloApensadoEmOutroProcesso(numeroProtocoloPai));
                }
            }

            #region Atividade

            if (entidade.Atividade.Id <= 0)
            {
                Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoAtividadeObrigatoria);
            }
            else
            {
                if (entidade.Atividade.Id != ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.CadastroAmbientalRural))
                {
                    Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoAtividadeInvalida);
                }
            }

            #endregion Atividade

            #region Validar Dados do Titulo

            String tituloSituacao = _da.ObterSituacaoTituloCARExistente(entidade.Empreendimento.Id);

            if (!String.IsNullOrWhiteSpace(tituloSituacao))
            {
                Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoPossuiTitulo(tituloSituacao));
                return(false);
            }

            #endregion Validar Dados do Titulo

            #region Empreendimento

            if (!entidade.Empreendimento.Codigo.HasValue)
            {
                Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoEmpreendimentoCodigoObrigatorio);
            }

            if (entidade.Empreendimento.Id <= 0)
            {
                Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoEmpreendimentoObrigatorio);
            }
            else
            {
                String situacao = _da.EmpreendimentoPossuiSolicitacao(entidade.Id, entidade.Empreendimento.Id);
                if (!String.IsNullOrEmpty(situacao))
                {
                    Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao));
                    return(Validacao.EhValido);
                }

                situacao = _carSolicitacaoCredenciadoBus.EmpreendimentoPossuiSolicitacao(entidade.Empreendimento.Id);
                if (!String.IsNullOrEmpty(situacao))
                {
                    Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao));
                    return(Validacao.EhValido);
                }

                entidade.Empreendimento.CNPJ = _da.ObterCNPJEmpreendimento(entidade.Empreendimento.Id);
                if (!String.IsNullOrWhiteSpace(entidade.Empreendimento.CNPJ))
                {
                    situacao = _carSolicitacaoCredenciadoBus.EmpreendimentoPossuiSolicitacao(entidade.Empreendimento.CNPJ);
                    if (!String.IsNullOrEmpty(situacao))
                    {
                        Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao));
                        return(Validacao.EhValido);
                    }
                }
            }

            #endregion Empreendimento

            #region Validar Dados da Caracterizacao

            if (_da.EmpreendimentoProjetoGeograficoDominialidadeNaoFinalizado(entidade.Empreendimento.Id))
            {
                Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoProjetoGeograficoDominialidadeNaoFinalizado);
            }
            else
            {
                int idCaracterizacao = 0;
                List <Dependencia> dependencias;

                idCaracterizacao = _caracterizacaoBus.Existe(entidade.Empreendimento.Id, eCaracterizacao.Dominialidade);

                if (idCaracterizacao > 0)
                {
                    dependencias = _caracterizacaoBus.ObterDependencias(idCaracterizacao, eCaracterizacao.Dominialidade, eCaracterizacaoDependenciaTipo.Caracterizacao);
                    if (_caracterizacaoValidar.DependenciasAlteradas(entidade.Empreendimento.Id, (int)eCaracterizacao.Dominialidade, eCaracterizacaoDependenciaTipo.Caracterizacao, dependencias) != String.Empty)
                    {
                        Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoDominialidadeInvalida);
                    }
                }
                else
                {
                    Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoDominialidadeInexistente);
                }
            }

            #endregion Validar Dados da Caracterizacao

            if (entidade.Declarante.Id <= 0)
            {
                Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoDeclaranteObrigatorio);
            }

            return(Validacao.EhValido);
        }
예제 #4
0
        internal bool EmpreendimentoSolicitacaoCAR(EmpreendimentoCaracterizacao empreendimento)
        {
            if (object.Equals(empreendimento, null))
            {
                Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoEmpreendimentoObrigatorio);
                return(false);
            }

            string situacao = string.Empty;

            if (!String.IsNullOrWhiteSpace(empreendimento.CNPJ))
            {
                situacao = _daCarSolicitacao.EmpreendimentoPossuiSolicitacao(empreendimento.CNPJ);
                if (!String.IsNullOrWhiteSpace(situacao))
                {
                    Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao));
                    return(false);
                }

                situacao = _carSolicitacaoInternoDa.EmpreendimentoPossuiSolicitacao(empreendimento.CNPJ);
                if (!String.IsNullOrWhiteSpace(situacao))
                {
                    Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao));
                    return(false);
                }
            }
            else
            {
                CARSolicitacao solicitacao = new CARSolicitacao();
                if (empreendimento.InternoID > 0)
                {
                    solicitacao = _daCarSolicitacao.EmpreendimentoPossuiSolicitacaoProjetoDigital(empreendimento.InternoID);
                    if (solicitacao.SituacaoId > 0)
                    {
                        if (solicitacao.SituacaoId == 2)
                        {
                            Validacao.Add(Mensagem.Retificacao.msgCred5());
                        }
                        else if (solicitacao.SituacaoId == 5)
                        {
                            Validacao.Add(Mensagem.Retificacao.msgCred6());
                        }
                        else
                        {
                            Validacao.Add(Mensagem.Retificacao.msgCred2(solicitacao.ProjetoId, solicitacao.Id));
                        }
                        return(false);
                    }

                    solicitacao = _carSolicitacaoInternoDa.EmpreendimentoPossuiSolicitacaoProjetoDigital(empreendimento.InternoID);
                    if (solicitacao.SituacaoId > 0)
                    {
                        if (solicitacao.SituacaoId == 2)
                        {
                            Validacao.Add(Mensagem.Retificacao.msgCred5());
                        }
                        else if (solicitacao.SituacaoId == 5)
                        {
                            Validacao.Add(Mensagem.Retificacao.msgCred6());
                        }
                        else
                        {
                            Validacao.Add(Mensagem.Retificacao.msgCred2(solicitacao.ProjetoId, solicitacao.Id));
                        }
                        return(false);
                    }
                }
                else
                {
                    solicitacao = _daCarSolicitacao.EmpreendimentoCredenciadoPossuiSolicitacaoProjetoDigital(empreendimento.Id);
                    if (solicitacao.SituacaoId > 0)
                    {
                        if (solicitacao.SituacaoId == 2)
                        {
                            Validacao.Add(Mensagem.Retificacao.msgCred5());
                        }
                        else if (solicitacao.SituacaoId == 5)
                        {
                            Validacao.Add(Mensagem.Retificacao.msgCred6());
                        }
                        else
                        {
                            Validacao.Add(Mensagem.Retificacao.msgCred2(solicitacao.ProjetoId, solicitacao.Id));
                        }
                        return(false);
                    }
                }
            }

            return(true);
        }