internal TituloEsp IsDominioAssociado(int dominioId, int tituloID) { TituloEsp titulo = new TituloEsp(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { Comando comando = bancoDeDados.CriarComando(@" select n.numero, n.ano, t.situacao, s.texto situacao_texto from {0}esp_out_legitima_terr_devolut e, {0}tab_titulo t, {0}tab_titulo_numero n, {0}lov_titulo_situacao s where t.id = e.titulo and n.titulo(+) = t.id and s.id = t.situacao and t.situacao in (1, 2, 3, 4, 6) and e.titulo != :titulo and e.dominio = :dominioId" , EsquemaBanco); comando.AdicionarParametroEntrada("titulo", tituloID, DbType.Int32); comando.AdicionarParametroEntrada("dominioId", dominioId, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { titulo.Numero.Inteiro = reader.GetValue <int>("numero"); titulo.Numero.Ano = reader.GetValue <int>("ano"); titulo.SituacaoId = reader.GetValue <int>("situacao"); titulo.SituacaoTexto = reader.GetValue <string>("situacao_texto"); } reader.Close(); } } return(titulo); }
internal List <TituloEsp> ObterTitulosAtividadeEmpreendimento(int requerimentoId, int atividadeId, int tituloId, int modeloId, BancoDeDados banco = null) { int empreedimentoID = 0; int empreedimentoCodigo = 0; string empreedimentoCNPJ = string.Empty; List <TituloEsp> lstTitulos = new List <TituloEsp>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { Comando comando = bancoDeDados.CriarComando(@"select ee.id, ee.codigo, ee.cnpj from tab_requerimento r, tab_empreendimento ee where ee.id = r.empreendimento and r.id = :requerimento", EsquemaBanco); comando.AdicionarParametroEntrada("requerimento", requerimentoId, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { empreedimentoID = reader.GetValue <int>("id"); empreedimentoCodigo = reader.GetValue <int>("codigo"); empreedimentoCNPJ = reader.GetValue <string>("cnpj"); } reader.Close(); } } using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { // 10 - Encerrado(Situação) Comando comando = bancoDeDados.CriarComando(@" select tt.situacao, tt.situacao_motivo, tn.ano, tn.numero, m.nome modelo from {0}tab_titulo tt, {0}tab_titulo_numero tn, {0}tab_titulo_modelo m, {0}tab_titulo_atividades ta, {0}tab_empreendimento e where ta.titulo = tt.id and tt.id = tn.titulo(+) and tt.modelo = m.id and e.id(+) = tt.empreendimento and ta.atividade = :atividade and tt.id <> :titulo and m.id = :modelo and tt.situacao != 10 and tt.credenciado is null and (e.codigo = :empreendimento_codigo or e.cnpj = :empreendimento_cnpj) union all select tt.situacao, tt.situacao_motivo, tn.ano, tn.numero, m.nome modelo from {0}tab_titulo tt, {0}tab_titulo_numero tn, {0}tab_titulo_modelo m, {0}tab_titulo_atividades ta, {0}cre_empreendimento e where ta.titulo = tt.id and tt.id = tn.titulo(+) and tt.modelo = m.id and e.id(+) = tt.empreendimento and ta.atividade = :atividade and tt.id <> :titulo and m.id = :modelo and tt.situacao != 10 and tt.credenciado is not null and (tt.empreendimento = :empreendimento or e.cnpj = :empreendimento_cnpj)" , EsquemaBanco); comando.AdicionarParametroEntrada("empreendimento", empreedimentoID, DbType.Int32); comando.AdicionarParametroEntrada("empreendimento_codigo", empreedimentoCodigo, DbType.Int32); comando.AdicionarParametroEntrada("empreendimento_cnpj", empreedimentoCNPJ, DbType.String); comando.AdicionarParametroEntrada("atividade", atividadeId, DbType.Int32); comando.AdicionarParametroEntrada("titulo", tituloId, DbType.Int32); comando.AdicionarParametroEntrada("modelo", modeloId, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { TituloEsp tituloEsp; while (reader.Read()) { tituloEsp = new TituloEsp(); tituloEsp.Numero.Inteiro = reader.GetValue <int?>("numero"); tituloEsp.Modelo = reader.GetValue <string>("modelo"); tituloEsp.Numero.Ano = reader.GetValue <int?>("ano"); tituloEsp.SituacaoId = reader.GetValue <int>("situacao"); tituloEsp.MotivoEncerramentoId = reader.GetValue <int?>("situacao_motivo"); lstTitulos.Add(tituloEsp); } reader.Close(); } } return(lstTitulos); }
public bool Salvar(IEspecificidade especificidade) { #region Variáveis OutrosLegitimacaoTerraDevolutaDa _da = new OutrosLegitimacaoTerraDevolutaDa(); CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus(); CaracterizacaoValidar caracterizacaoValidar = new CaracterizacaoValidar(); List <Dependencia> dependencias = new List <Dependencia>(); OutrosLegitimacaoTerraDevoluta esp = especificidade as OutrosLegitimacaoTerraDevoluta; List <Caracterizacao> caracterizacoes = caracterizacaoBus.ObterCaracterizacoesEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()); int idCaracterizacao; string titulo = string.Empty; #endregion #region Requerimento //O requerimento <nº> não está mais associado ao processo <nº>. //A atividade <nome> não está mais associada ao processo. //A atividade <nome> deve estar na situação ‘em andamento’. //Este modelo de título não foi solicitado para a atividade <nome>’. RequerimentoAtividade(esp, apenasObrigatoriedade: true); #endregion #region Atividade //O modelo de título <nome do modelo> não pode ser utilizado para atividade <nome da atividade selecionada na especificidade do título>. if (!ConfiguracaoAtividade.ObterId(new[] { (int)eAtividadeCodigo.RegularizacaoFundiariaRural, (int)eAtividadeCodigo.RegularizacaoFundiariaUrbana, (int)eAtividadeCodigo.RegularizacaoFundiariaRuralOriundaDeProcessoDiscriminatorio, (int)eAtividadeCodigo.RegularizacaoFundiariaUrbanaOriundaDeProcessoDiscriminatorio }).Any(x => x == esp.Atividades[0].Id)) { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.AtividadeInvalida(esp.Atividades[0].NomeAtividade)); } #endregion #region Destinatários if (esp.Destinatarios.Count == 0) { Validacao.Add(Mensagem.Especificidade.DestinatarioObrigatorio("Outros_Destinatarios")); } else { esp.Destinatarios.ForEach(x => { Destinatario(esp.ProtocoloReq.Id, x.Id, "Outros_Destinatarios"); }); } #endregion #region Caracterização //A caracterização de <nome da caracterização> deve estar cadastrada. //Para cadastrar este modelo de título é necessário ter os dados da caracterização <nome da caracterização dependente> válidos. idCaracterizacao = caracterizacaoBus.Existe(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), eCaracterizacao.RegularizacaoFundiaria); if (idCaracterizacao > 0) { dependencias = caracterizacaoBus.ObterDependencias(idCaracterizacao, eCaracterizacao.RegularizacaoFundiaria, eCaracterizacaoDependenciaTipo.Caracterizacao); if (caracterizacaoValidar.DependenciasAlteradas(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), (int)eCaracterizacao.RegularizacaoFundiaria, eCaracterizacaoDependenciaTipo.Caracterizacao, dependencias) != String.Empty) { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.CaracterizacaoValida(caracterizacoes.Single(x => x.Tipo == eCaracterizacao.RegularizacaoFundiaria).Nome)); } } else { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.CaracterizacaoCadastrada); } #endregion #region Posse if (esp.Dominio == 0) { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.DominioObrigatorio); } else { if (!_da.IsDominioCadastrado(esp.Dominio)) { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.DominioInexistente); } TituloEsp tituloAux = _da.IsDominioAssociado(esp.Dominio, esp.Titulo.Id); switch ((eTituloSituacao)tituloAux.SituacaoId) { case eTituloSituacao.Cadastrado: case eTituloSituacao.Emitido: case eTituloSituacao.Assinado: Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.PosseAssociadaSituacao(tituloAux.SituacaoTexto)); break; case eTituloSituacao.Concluido: case eTituloSituacao.Prorrogado: Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.PosseAssociadaNumero(tituloAux.Numero.Texto)); break; } } #endregion if (string.IsNullOrWhiteSpace(esp.ValorTerreno)) { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.ValorTerrenoObrigatorio); } if (!esp.IsInalienabilidade.HasValue) { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.IsInalienabilidadeObrigatorio); } if (esp.MunicipioGlebaId <= 0) { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.MunicipioGlebaObrigatorio); } return(Validacao.EhValido); }