Пример #1
0
        public bool RetificacaoValidar(CARSolicitacao entidade, int origem, int usuarioID)
        {
            string         situacao    = string.Empty;
            CARSolicitacao solicitacao = new CARSolicitacao();

            //Verificar se existe solicitação para o projeto digital
            solicitacao = _daCarSolicitacao.ObterPorProjetoDigitalSituacao(entidade.ProjetoId);
            if (solicitacao != null)
            {
                if (solicitacao.SituacaoId == 1 || solicitacao.SituacaoId == 6)
                {
                    Validacao.Add(Mensagem.Retificacao.msgCred1(entidade.Requerimento.Id, solicitacao.Id));
                    return(false);
                }
                if (solicitacao.SituacaoId == 2 || solicitacao.SituacaoId == 5)
                {
                    Validacao.Add(Mensagem.Retificacao.msgCred3(entidade.Requerimento.Id, solicitacao.Id));
                    return(false);
                }
            }

            //Verificar se existe solicitação para o empreendimento
            solicitacao = _daCarSolicitacao.ObterPorEmpreendimento(entidade.Empreendimento.Codigo ?? 0, true);
            if (solicitacao != null)
            {
                if (solicitacao.SituacaoId == 2)
                {
                    if (_busCaracterizacao.ExisteCaracterizacao(entidade.ProjetoId, entidade.Empreendimento.Codigo ?? 0))
                    {
                        Validacao.Add(Mensagem.Retificacao.msgCred5());
                        return(false);
                    }
                }
                if (solicitacao.SituacaoId == 5)
                {
                    String tituloSituacao = _carSolicitacaoInternoDa.ObterSituacaoTituloCARCodigoEmp(entidade.Empreendimento.Codigo ?? 0);

                    if (!String.IsNullOrWhiteSpace(tituloSituacao))
                    //if (_busTitulo.ExistePorEmpreendimento(entidade.Empreendimento.Id))
                    {
                        Validacao.Add(Mensagem.Retificacao.msgCred6());
                        return(false);
                    }
                    else
                    {
                        if (_busCaracterizacao.ExisteCaracterizacao(entidade.ProjetoId, entidade.Empreendimento.Codigo ?? 0))
                        {
                            Validacao.Add(Mensagem.Retificacao.msgCred5());
                            return(false);
                        }
                    }
                }
                if (solicitacao.SituacaoId == 6)
                {
                    int idCredenciadoLogado = _busCred.ObterCredenciadoUsuario(usuarioID);

                    if (solicitacao.AutorModuloTexto == "Credenciado" && solicitacao.AutorId == idCredenciadoLogado)
                    {
                        Validacao.Add(Mensagem.Retificacao.msgCred2(solicitacao.Requerimento.Id, solicitacao.Id));
                        return(false);
                    }

                    List <int> responsaveis = _busRequerimento.ObterResponsavelTecnico(solicitacao.Requerimento.Id);

                    if (responsaveis != null)
                    {
                        foreach (int r in responsaveis)
                        {
                            if (r == idCredenciadoLogado)
                            {
                                Validacao.Add(Mensagem.Retificacao.msgCred2(solicitacao.Requerimento.Id, solicitacao.Id));
                                return(false);
                            }
                        }
                    }
                }
                if (solicitacao.SituacaoId == 1)
                {
                    Validacao.Add(Mensagem.Retificacao.msgCred2(solicitacao.Requerimento.Id, solicitacao.Id));
                    return(false);
                }
            }
            return(Validacao.EhValido);
        }