public bool RetificacaoValidar(CARSolicitacao entidade)
        {
            string         situacao    = string.Empty;
            CARSolicitacao solicitacao = new CARSolicitacao();

            //Verificar se existe solicitação para o requerimento
            solicitacao = _da.ObterPorRequerimento(entidade);
            if (solicitacao != null)
            {
                Validacao.Add(Mensagem.Retificacao.msgInst6(entidade.Requerimento.Id, solicitacao.Id));
                return(false);
            }

            //Verificar se existe solicitação para o empreendimento
            solicitacao = _da.ObterPorEmpreendimentoCod(entidade.Empreendimento.Codigo ?? 0);
            if (solicitacao.Id > 0)
            {
                if (solicitacao.SituacaoId != 2 && solicitacao.SituacaoId != 5)
                {
                    if (solicitacao.SituacaoId == 1)
                    {
                        Validacao.Add(Mensagem.Retificacao.msgInst1());
                        return(false);
                    }
                    else
                    if (solicitacao.SituacaoId == 6)
                    {
                        Validacao.Add(Mensagem.Retificacao.msgInst2(solicitacao.Id));
                        return(false);
                    }
                }
                else
                {
                    if (solicitacao.SituacaoId == 2)
                    {
                        if (_caracterizacaoBus.ExisteCaracterizacaoPorEmpreendimento(entidade.Empreendimento.Codigo ?? 0, entidade.Empreendimento.Id))
                        {
                            Validacao.Add(Mensagem.Retificacao.msgInst5());
                            return(false);
                        }
                    }
                    else
                    {
                        if (solicitacao.SituacaoId == 5)
                        {
                            if (_busTitulo.ExistePorEmpreendimento(entidade.Empreendimento.Id))
                            {
                                Validacao.Add(Mensagem.Retificacao.msgInst3());
                                return(false);
                            }
                            else
                            if (_caracterizacaoBus.ExisteCaracterizacaoPorEmpreendimento(entidade.Empreendimento.Codigo ?? 0, entidade.Empreendimento.Id))
                            {
                                Validacao.Add(Mensagem.Retificacao.msgCred5());
                                return(false);
                            }
                        }
                    }
                }
            }
            return(Validacao.EhValido);
        }
Пример #2
0
        public bool Salvar(CARSolicitacao entidade)
        {
            try
            {
                if (_validar.RetificacaoValidar(entidade))
                {
                    if (_validar.Salvar(entidade))
                    {
                        GerenciadorTransacao.ObterIDAtual();

                        using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
                        {
                            bancoDeDados.IniciarTransacao();

                            entidade.AutorId = User.FuncionarioId;

                            _da.Salvar(entidade, bancoDeDados);

                            bancoDeDados.Commit();

                            Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoSalvarTopico1(entidade.Id.ToString()));
                            Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoSalvarTopico2);
                            Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoSalvarTopico3);
                        }

                        #region Carga das tabelas APP Caculada e APP Escadinha
                        var qtdModuloFiscal = 0.0;
                        using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
                        {
                            #region Select QTD Modulo Fiscal
                            Comando comando = bancoDeDados.CriarComando(@"SELECT ATP_QTD_MODULO_FISCAL FROM CRT_CAD_AMBIENTAL_RURAL WHERE EMPREENDIMENTO = :empreendimentoID");//, EsquemaBanco);

                            comando.AdicionarParametroEntrada("empreendimentoID", entidade.Empreendimento.Id, DbType.Int32);

                            using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                            {
                                while (reader.Read())
                                {
                                    qtdModuloFiscal = Convert.ToDouble(reader["ATP_QTD_MODULO_FISCAL"]);
                                }

                                reader.Close();
                            }
                            #endregion
                        }
                        using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia("idafgeo"))
                        {
                            #region Chamada Procedure
                            bancoDeDados.IniciarTransacao();
                            Comando command = bancoDeDados.CriarComando(@"begin OPERACOESPROCESSAMENTOGEO.CalcularAppClassificadaCAR(:emp); end;");

                            command.AdicionarParametroEntrada("emp", entidade.Empreendimento.Id, System.Data.DbType.Int32);

                            bancoDeDados.ExecutarNonQuery(command);
                            bancoDeDados.Commit();

                            bancoDeDados.IniciarTransacao();
                            Comando com = bancoDeDados.CriarComando(@"begin OPERACOESPROCESSAMENTOGEO.CalcularEscadinhaCAR(:emp, :moduloFiscal); end;");

                            com.AdicionarParametroEntrada("emp", entidade.Empreendimento.Id, System.Data.DbType.Int32);
                            com.AdicionarParametroEntrada("moduloFiscal", qtdModuloFiscal, System.Data.DbType.Double);

                            bancoDeDados.ExecutarNonQuery(com);
                            bancoDeDados.Commit();

                            bancoDeDados.IniciarTransacao();
                            command = bancoDeDados.CriarComando(@"begin OPERACOESPROCESSAMENTOGEO.CalcularArlTotalCAR(:emp); end;");

                            command.AdicionarParametroEntrada("emp", entidade.Empreendimento.Id, System.Data.DbType.Int32);

                            bancoDeDados.ExecutarNonQuery(command);

                            bancoDeDados.Commit();
                            #endregion
                        }
                        #endregion
                    }
                }
            }
            catch (Exception e)
            {
                Validacao.AddErro(e);
            }

            return(Validacao.EhValido);
        }
        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);
            }

            #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);
        }
        public bool Salvar(CARSolicitacao carSolicitacao, int usuarioID)
        {
            try
            {
                if (_validar.RetificacaoValidar(carSolicitacao, 1, usuarioID))
                {
                    if (_validar.Salvar(carSolicitacao))
                    {
                        GerenciadorTransacao.ObterIDAtual();
                        carSolicitacao.Id = _daInterno.ObterNovoID();

                        //carSolicitacao.Declarante.Id = User.FuncionarioId;

                        using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado))
                        {
                            bancoDeDados.IniciarTransacao();

                            _da.Salvar(carSolicitacao, bancoDeDados);

                            ConsultaCredenciado.Gerar(carSolicitacao.Id, eHistoricoArtefato.carsolicitacao, bancoDeDados);

                            bancoDeDados.Commit();

                            Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoSalvarTopico1(carSolicitacao.Id.ToString()));
                            Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoSalvarTopico2);
                            Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoSalvarTopico3);
                        }

                        #region Carga das tabelas APP Caculada e APP Escadinha
                        var qtdModuloFiscal = 0.0;
                        using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado))
                        {
                            #region Select QTD Modulo Fiscal
                            //Comando comando = bancoDeDados.CriarComando(@"SELECT ATP_QTD_MODULO_FISCAL FROM CRT_CAD_AMBIENTAL_RURAL WHERE EMPREENDIMENTO = :empreendimentoID");
                            Comando comando = bancoDeDados.CriarComando(@"
                        select  
                           round((SELECT (t.croqui_area/10000) FROM idafcredenciado.CRT_DOMINIALIDADE t WHERE t.empreendimento = car_sol.EMPREENDIMENTO) /
                              (SELECT m.modulo_ha FROM idaf.CNF_MUNICIPIO_MOD_FISCAL m WHERE m.municipio = (SELECT e.municipio FROM
                              idafcredenciado.TAB_EMPREENDIMENTO_ENDERECO e WHERE e.empreendimento = car_sol.EMPREENDIMENTO AND e.correspondencia = 0)),2) as ATP_QTD_MODULO_FISCAL    
                        from idafcredenciado.TAB_CAR_SOLICITACAO car_sol, idafcredenciado.CRT_PROJETO_GEO g
                        where car_sol.SITUACAO NOT IN (3) --Em Cadastro (1) e Inválidos (3) );
                        and car_sol.EMPREENDIMENTO = g.EMPREENDIMENTO
                        and g.empreendimento = :empreendimentoID
                        and g.caracterizacao = 1");
                            comando.AdicionarParametroEntrada("empreendimentoID", carSolicitacao.Empreendimento.Id, DbType.Int32);

                            using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                            {
                                while (reader.Read())
                                {
                                    qtdModuloFiscal = Convert.ToDouble(reader["ATP_QTD_MODULO_FISCAL"]);
                                }

                                reader.Close();
                            }
                            #endregion
                        }
                        using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia("idafcredenciadogeo"))
                        {
                            #region Chamada Procedure
                            bancoDeDados.IniciarTransacao();
                            Comando command = bancoDeDados.CriarComando(@"begin OPERACOESPROCESSAMENTOGEO.CalcularAppClassificadaCAR(:emp); end;");

                            command.AdicionarParametroEntrada("emp", carSolicitacao.Empreendimento.Id, System.Data.DbType.Int32);

                            bancoDeDados.ExecutarNonQuery(command);

                            bancoDeDados.Commit();

                            bancoDeDados.IniciarTransacao();
                            Comando com = bancoDeDados.CriarComando(@"begin OPERACOESPROCESSAMENTOGEO.CalcularEscadinhaCAR(:emp, :moduloFiscal); end;");

                            com.AdicionarParametroEntrada("emp", carSolicitacao.Empreendimento.Id, System.Data.DbType.Int32);
                            com.AdicionarParametroEntrada("moduloFiscal", qtdModuloFiscal, System.Data.DbType.Double);

                            bancoDeDados.ExecutarNonQuery(com);

                            bancoDeDados.Commit();

                            bancoDeDados.IniciarTransacao();
                            command = bancoDeDados.CriarComando(@"begin OPERACOESPROCESSAMENTOGEO.CalcularArlTotalCAR(:emp); end;");

                            command.AdicionarParametroEntrada("emp", carSolicitacao.Empreendimento.Id, System.Data.DbType.Int32);

                            bancoDeDados.ExecutarNonQuery(command);

                            bancoDeDados.Commit();
                            #endregion
                        }
                        #endregion
                    }
                }
            }
            catch (Exception e)
            {
                Validacao.AddErro(e);
            }

            return(Validacao.EhValido);
        }
Пример #5
0
        public bool AlterarSituacao(CARSolicitacao entidade, BancoDeDados banco = null, bool isTitulo = false, int funcionarioId = 0)
        {
            try
            {
                bool           IsCredenciado    = false;
                CARSolicitacao solicitacaoAtual = Obter(entidade.Id) ?? new CARSolicitacao();

                if (solicitacaoAtual.Id == 0)
                {
                    solicitacaoAtual = _busCredenciado.Obter(entidade.Id);
                    IsCredenciado    = true;
                }

                entidade.SituacaoAnteriorId   = solicitacaoAtual.SituacaoId;
                entidade.DataSituacaoAnterior = solicitacaoAtual.DataSituacao;
                entidade.Protocolo            = solicitacaoAtual.Protocolo;

                //passivo arrumado
                GerenciadorTransacao.ObterIDAtual();

                if (_validar.AlterarSituacao(entidade, funcionarioId, isTitulo))
                {
                    if (IsCredenciado)
                    {
                        using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, UsuarioCredenciado))
                        {
                            bancoDeDados.IniciarTransacao();

                            _busCredenciado.AlterarSituacao(new CARSolicitacao()
                            {
                                Id = entidade.Id
                            }, entidade, bancoDeDados);
                            _busCredenciado.FazerVirarPassivo(entidade.Id, bancoDeDados);
                            bancoDeDados.Commit();
                        }
                    }
                    else
                    {
                        using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
                        {
                            bancoDeDados.IniciarTransacao();

                            _da.AlterarSituacao(entidade, bancoDeDados);
                            _da.FazerVirarPassivo(entidade.Id, bancoDeDados);

                            bancoDeDados.Commit();
                        }
                    }

                    if (!isTitulo && Validacao.EhValido)
                    {
                        int situacaoArquivo = (entidade.SituacaoAnteriorId == (int)eCARSolicitacaoSituacao.Valido && entidade.SituacaoId == (int)eCARSolicitacaoSituacao.Invalido) ?
                                              (int)eStatusArquivoSICAR.Cancelado :
                                              (int)eStatusArquivoSICAR.ArquivoReprovado;

                        _da.AlterarSituacaoArquivoSicar(entidade, situacaoArquivo);

                        Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoAlterarSituacao);
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }
Пример #6
0
        internal CARSolicitacao ObterInterno(int id, BancoDeDados banco = null)
        {
            CARSolicitacao solicitacao = new CARSolicitacao();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Solicitação

                Comando comando = bancoDeDados.CriarComando(@"
				select s.tid,
					s.numero,
					s.data_emissao,
					s.situacao_data,
					l.id situacao,
					l.texto situacao_texto,
					s.situacao_anterior,
					la.texto situacao_anterior_texto,
					s.situacao_anterior_data,
					p.id protocolo_id,
					p.protocolo,
					p.numero protocolo_numero,
					p.ano protocolo_ano,
					nvl(pes.nome, pes.razao_social) declarante_nome_razao,
					ps.id protocolo_selecionado_id,
					ps.protocolo protocolo_selecionado,
					ps.numero protocolo_selecionado_numero,
					ps.ano protocolo_selecionado_ano,
					s.requerimento,
					s.atividade,
					e.id empreendimento_id,
					e.denominador empreendimento_nome,
					e.codigo empreendimento_codigo,
					s.declarante,

					f.funcionario_id autor_id,
					f.nome autor_nome,
					(select stragg_barra(sigla) from hst_setor where 
					setor_id in (select fs.setor_id from hst_funcionario_setor fs where fs.id_hst = f.id)
					and tid in (select fs.setor_tid from hst_funcionario_setor fs where fs.id_hst = f.id )) autor_setor,
					'Institucional' autor_modulo,

					s.autor,
					s.motivo,
					tr.data_criacao requerimento_data_cadastro,
					pg.id projeto_geo_id
				from tab_car_solicitacao         s,
					lov_car_solicitacao_situacao l,
					lov_car_solicitacao_situacao la,
					tab_protocolo                p,
					tab_protocolo                ps,
					tab_empreendimento           e,
					crt_projeto_geo              pg,
					tab_pessoa                   pes,
					tab_requerimento             tr,
					hst_funcionario              f
				where s.situacao = l.id
				and s.situacao_anterior = la.id(+)
				and s.protocolo = p.id
				and s.protocolo_selecionado = ps.id(+)
				and s.empreendimento = e.id
				and s.empreendimento = pg.empreendimento
				and s.declarante = pes.id
				and s.requerimento = tr.id
				and pg.caracterizacao = 1
				and f.funcionario_id = s.autor
				and f.tid = (select autor_tid from hst_car_solicitacao where acao_executada = 342 and solicitacao_id = s.id)
				and s.id = :id"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        solicitacao.Id     = id;
                        solicitacao.Tid    = reader.GetValue <String>("tid");
                        solicitacao.Numero = reader.GetValue <String>("numero");
                        solicitacao.DataEmissao.DataTexto                = reader.GetValue <String>("data_emissao");
                        solicitacao.SituacaoId                           = reader.GetValue <Int32>("situacao");
                        solicitacao.SituacaoTexto                        = reader.GetValue <String>("situacao_texto");
                        solicitacao.DataSituacao.DataTexto               = reader.GetValue <String>("situacao_data");
                        solicitacao.SituacaoAnteriorId                   = reader.GetValue <Int32>("situacao_anterior");
                        solicitacao.SituacaoAnteriorTexto                = reader.GetValue <String>("situacao_anterior_texto");
                        solicitacao.DataSituacaoAnterior.DataTexto       = reader.GetValue <String>("situacao_anterior_data");
                        solicitacao.Protocolo.Id                         = reader.GetValue <Int32>("protocolo_id");
                        solicitacao.Protocolo.IsProcesso                 = reader.GetValue <Int32>("protocolo") == 1;
                        solicitacao.Protocolo.NumeroProtocolo            = reader.GetValue <Int32?>("protocolo_numero");
                        solicitacao.Protocolo.Ano                        = reader.GetValue <Int32>("protocolo_ano");
                        solicitacao.ProtocoloSelecionado.Id              = reader.GetValue <Int32>("protocolo_selecionado_id");
                        solicitacao.ProtocoloSelecionado.IsProcesso      = reader.GetValue <Int32>("protocolo_selecionado") == 1;
                        solicitacao.ProtocoloSelecionado.NumeroProtocolo = reader.GetValue <Int32?>("protocolo_selecionado_numero");
                        solicitacao.ProtocoloSelecionado.Ano             = reader.GetValue <Int32>("protocolo_selecionado_ano");
                        solicitacao.Requerimento.Id                      = reader.GetValue <Int32>("requerimento");
                        solicitacao.Requerimento.DataCadastro            = reader.GetValue <DateTime>("requerimento_data_cadastro");
                        solicitacao.Atividade.Id                         = reader.GetValue <Int32>("atividade");
                        solicitacao.Empreendimento.Id                    = reader.GetValue <Int32>("empreendimento_id");
                        solicitacao.Empreendimento.NomeRazao             = reader.GetValue <String>("empreendimento_nome");
                        solicitacao.Empreendimento.Codigo                = reader.GetValue <Int64?>("empreendimento_codigo");
                        solicitacao.Declarante.Id                        = reader.GetValue <Int32>("declarante");
                        solicitacao.Declarante.NomeRazaoSocial           = reader.GetValue <String>("declarante_nome_razao");

                        solicitacao.AutorId          = reader.GetValue <Int32>("autor_id");
                        solicitacao.AutorNome        = reader.GetValue <String>("autor_nome");
                        solicitacao.AutorSetorTexto  = reader.GetValue <String>("autor_setor");
                        solicitacao.AutorModuloTexto = reader.GetValue <String>("autor_modulo");

                        solicitacao.Motivo    = reader.GetValue <String>("motivo");
                        solicitacao.ProjetoId = reader.GetValue <Int32>("projeto_geo_id");
                    }

                    reader.Close();
                }

                #endregion
            }

            return(solicitacao);
        }
Пример #7
0
        internal CARSolicitacao ObterCredenciado(int id, BancoDeDados banco = null)
        {
            CARSolicitacao solicitacao = new CARSolicitacao();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, UsuarioCredenciado))
            {
                #region Solicitação

                Comando comando = bancoDeDados.CriarComando(@"
				select s.tid,
					s.numero,
					s.data_emissao,
					s.situacao_data,
					l.id situacao,
					l.texto situacao_texto,
					s.situacao_anterior,
					la.texto situacao_anterior_texto,
					s.situacao_anterior_data,
					nvl(pes.nome, pes.razao_social) declarante_nome_razao,
					s.requerimento,
					s.atividade,
					e.id empreendimento_id,
					e.denominador empreendimento_nome,
					e.codigo empreendimento_codigo,
					s.declarante,
					s.motivo,
					tr.data_criacao requerimento_data_cadastro,
					s.projeto_digital
				from 
					tab_car_solicitacao          s,
					lov_car_solicitacao_situacao l,
					lov_car_solicitacao_situacao la,
					tab_empreendimento           e,
					tab_pessoa                   pes,
					tab_requerimento             tr
				where s.situacao = l.id
				and s.situacao_anterior = la.id(+)
				and s.empreendimento = e.id
				and s.declarante = pes.id
				and s.requerimento = tr.id
				and s.empreendimento = e.id
				and s.id = :id"                , UsuarioCredenciado);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        solicitacao.Id     = id;
                        solicitacao.Tid    = reader.GetValue <String>("tid");
                        solicitacao.Numero = reader.GetValue <String>("numero");
                        solicitacao.DataEmissao.DataTexto          = reader.GetValue <String>("data_emissao");
                        solicitacao.SituacaoId                     = reader.GetValue <Int32>("situacao");
                        solicitacao.SituacaoTexto                  = reader.GetValue <String>("situacao_texto");
                        solicitacao.DataSituacao.DataTexto         = reader.GetValue <String>("situacao_data");
                        solicitacao.SituacaoAnteriorId             = reader.GetValue <Int32>("situacao_anterior");
                        solicitacao.SituacaoAnteriorTexto          = reader.GetValue <String>("situacao_anterior_texto");
                        solicitacao.DataSituacaoAnterior.DataTexto = reader.GetValue <String>("situacao_anterior_data");
                        solicitacao.Requerimento.Id                = reader.GetValue <Int32>("requerimento");
                        solicitacao.Requerimento.DataCadastro      = reader.GetValue <DateTime>("requerimento_data_cadastro");
                        solicitacao.Atividade.Id                   = reader.GetValue <Int32>("atividade");
                        solicitacao.Empreendimento.Id              = reader.GetValue <Int32>("empreendimento_id");
                        solicitacao.Empreendimento.NomeRazao       = reader.GetValue <String>("empreendimento_nome");
                        solicitacao.Empreendimento.Codigo          = reader.GetValue <Int64?>("empreendimento_codigo");
                        solicitacao.Declarante.Id                  = reader.GetValue <Int32>("declarante");
                        solicitacao.Declarante.NomeRazaoSocial     = reader.GetValue <String>("declarante_nome_razao");
                        solicitacao.Motivo    = reader.GetValue <String>("motivo");
                        solicitacao.ProjetoId = reader.GetValue <Int32>("projeto_digital");
                    }

                    reader.Close();
                }

                #endregion
            }

            return(solicitacao);
        }
 public ActionResult VisualizarMotivo(CARSolicitacao entidade)
 {
     return(PartialView("VisualizarMotivo", entidade));
 }
        public ActionResult Visualizar(int id = 0, int internoId = 0)
        {
            CARSolicitacao   solicitacao = new CARSolicitacao();
            CARSolicitacaoVM vm          = null;

            if (internoId > 0 && id < 1)
            {
                #region Interno

                solicitacao = _busInterno.Obter(internoId, false);

                #region Configurar

                List <Protocolos> lstProcessosDocumentos = new List <Protocolos>()
                {
                    new Protocolos()
                    {
                        IsAtivo = true,
                        Id      = solicitacao.ProtocoloSelecionado.Id.ToString() + "@" + (solicitacao.ProtocoloSelecionado.IsProcesso ? 1 : 2) + "@" + solicitacao.Requerimento.Id.ToString(),
                        Texto   = solicitacao.Requerimento.Id.ToString() + " - " + solicitacao.Requerimento.DataCadastroTexto
                    }
                };

                List <PessoaLst> lstResponsaveis = new List <PessoaLst>()
                {
                    new PessoaLst()
                    {
                        IsAtivo = true,
                        Id      = solicitacao.Declarante.Id,
                        Texto   = solicitacao.Declarante.NomeRazaoSocial
                    }
                };

                List <Lista> lstAtividades = new List <Lista>()
                {
                    new Lista()
                    {
                        IsAtivo = true,
                        Id      = solicitacao.Atividade.Id.ToString(),
                        Texto   = solicitacao.Atividade.NomeAtividade
                    }
                };

                vm = new CARSolicitacaoVM(
                    solicitacao,
                    ListaCredenciadoBus.CARSolicitacaoSituacoes,
                    lstAtividades,
                    lstResponsaveis,
                    lstProcessosDocumentos,
                    isVisualizar: true);

                #endregion Configurar

                vm.IsInterno = true;

                return(View(vm));

                #endregion
            }

            solicitacao = _bus.Obter(id);
            List <PessoaLst> declarantes = _bus.ObterDeclarantesLst(solicitacao.Requerimento.Id);
            List <Lista>     atividades  = _bus.ObterAtividadesLista(solicitacao.Requerimento.Id);
            solicitacao.Empreendimento           = _busEmpreendimentoCredenciado.Obter(solicitacao.Empreendimento.Id);
            solicitacao.Empreendimento.NomeRazao = solicitacao.Empreendimento.Denominador;

            vm = new CARSolicitacaoVM(solicitacao, ListaCredenciadoBus.CARSolicitacaoSituacoes, atividades, declarantes);
            vm.IsVisualizar = true;
            vm.IsInterno    = false;
            return(View(vm));
        }
 public CARSolicitacaoAlterarSituacaoVM(CARSolicitacao solicitacao, List <Lista> _situacoes)
 {
     Solicitacao = solicitacao;
     Situacoes   = ViewModelHelper.CriarSelectList(_situacoes, true, true);
 }