public async Task <IActionResult> Edit(int id, [Bind("IdFinalidade,TFinalidade")] Finalidade finalidade) { if (id != finalidade.IdFinalidade) { return(NotFound()); } var cTCodefindany = _context.Finalidade.Where(b => EF.Property <string>(b, "TFinalidade").Equals(finalidade.TFinalidade)); if (cTCodefindany.Any()) { ModelState.AddModelError("TFinalidade", string.Format("Esta Finalidade já existe.", finalidade.TFinalidade)); } if (ModelState.IsValid) { try { _context.Update(finalidade); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FinalidadeExists(finalidade.IdFinalidade)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(finalidade)); }
protected void btnSalvar_Click(object sender, EventArgs e) { if (IsInvalidForm()) { SendMessage(Message.MSG_REQUIRED_FIELDS, Color.Red); } else { try { Finalidade finalidade = new Finalidade() { Descricao = txtDescricao.Text, Origem = txtOrigem.Text }; finalidadePersistence.Create(finalidade); SendMessage(Message.MSG_CREATION_SUCCESS, Color.Green); LoadGridView(); ClearForm(); } catch (Exception ex) { SendMessage($"{Message.MSG_ERROR} {ex.Message}", Color.Red); } } }
public List <Finalidade> ConsultarList() { SQLiteDataReader dr; List <Finalidade> finalidades = new List <Finalidade>(); StringBuilder sb = new StringBuilder(); sb.Append(" SELECT id, "); sb.Append(" descricao "); sb.Append(" origem "); sb.Append(" FROM finalidade "); using (var cmd = sqliteConnection.CreateCommand()) { cmd.CommandText = sb.ToString(); dr = cmd.ExecuteReader(); } if (dr.HasRows) { while (dr.Read()) { Finalidade finalidade = new Finalidade() { Id = (dr[0] == DBNull.Value) ? 0 : int.Parse(dr[0].ToString()), Descricao = dr.GetString(1).ToString(), Origem = dr.GetString(1).ToString(), }; finalidades.Add(finalidade); } } return(finalidades); }
public void CarregarTituloAnteriorSigla(Finalidade item) { if (Validacao.EhValido && String.IsNullOrWhiteSpace(item.TituloModeloAnteriorSigla)) { TituloModelo tituloModeloAnterior = _tituloModeloBus.ObterSimplificado(item.TituloModeloAnteriorId.Value); item.TituloModeloAnteriorSigla = tituloModeloAnterior.Sigla; } }
public void Create(Finalidade finalidade) { sb = new StringBuilder(); sb.Append("INSERT INTO finalidade (descricao, origem) "); sb.Append($"VALUES ('{finalidade.Descricao}', '{finalidade.Origem}');"); using (connection = new SQLServer()) { connection.ExecuteCommand(sb.ToString()); } }
private List <Presente> PreparateList(SqlDataReader reader) { List <Presente> presentes = new List <Presente>(); while (reader.Read()) { Tipo tipo = new Tipo() { Id = int.Parse(reader["id_tipo"].ToString()), Descricao = reader["descricao_tipo"].ToString() }; Marca marca = new Marca() { Id = int.Parse(reader["id_marca"].ToString()), Descricao = reader["descricao_marca"].ToString() }; Finalidade finalidade = new Finalidade() { Id = int.Parse(reader["id_finalidade"].ToString()), Descricao = reader["descricao_finalidade"].ToString(), Origem = reader["origem_finalidade"].ToString() }; Fornecedor fornecedor = new Fornecedor() { Id = int.Parse(reader["id_fornecedor"].ToString()), Nome = reader["nome_fornecedor"].ToString(), Telefone = reader["telefone_fornecedor"].ToString(), Cidade = reader["cidade_fornecedor"].ToString(), Estado = reader["estado_fornecedor"].ToString(), Logradouro = reader["logradouro_fornecedor"].ToString(), Numero = reader["numero_fornecedor"].ToString(), Cnpj = reader["cnpj_fornecedor"].ToString(), Email = reader["email_fornecedor"].ToString(), ContaCorrente = reader["nome_fornecedor"].ToString(), Agencia = reader["agencia_fornecedor"].ToString(), Banco = reader["banco_fornecedor"].ToString() }; Presente presente = new Presente() { Id = int.Parse(reader["id_presente"].ToString()), Descricao = reader["descricao_presente"].ToString(), Tipo = tipo, Marca = marca, Finalidade = finalidade, Cor = reader["cor_presente"].ToString(), Tamanho = decimal.Parse(reader["tamanho_presente"].ToString()), Preco = decimal.Parse(reader["preco_presente"].ToString()), Fornecedor = fornecedor }; presentes.Add(presente); } return(presentes); }
internal Roteiro ObterRoteirosPorAtividades(Finalidade finalidade, BancoDeDados bancoInterno) { Roteiro roteiro = null; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(bancoInterno, EsquemaBanco)) { bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@" select c.id, c.nome, c.versao, a.atividade atividade_nome, c.tid from {0}tab_roteiro c, {0}tab_roteiro_atividades d, {0}tab_atividade a, {0}tab_roteiro_modelos g where c.id = d.roteiro and c.id = g.roteiro and d.atividade = a.id and c.situacao = 1 and d.atividade = :atividade and bitand(c.finalidade, :finalidade) > 0 and g.modelo = :modelo" , EsquemaBanco); if (finalidade.AtividadeSetorId > 0) { comando.DbCommand.CommandText += " and a.setor = :setor"; comando.AdicionarParametroEntrada("setor", finalidade.AtividadeSetorId, DbType.Int32); } comando.AdicionarParametroEntrada("atividade", finalidade.AtividadeId, DbType.Int32); comando.AdicionarParametroEntrada("finalidade", finalidade.Codigo, DbType.Int32); comando.AdicionarParametroEntrada("modelo", finalidade.TituloModelo, DbType.Int32); comando.DbCommand.CommandText += " order by c.id"; #region busca todos os roteiros relacionados com a atividade/modelo/finalidade using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { roteiro = new Roteiro(); roteiro.Tid = reader["tid"].ToString(); roteiro.Id = Convert.ToInt32(reader["id"]); roteiro.Nome = reader["nome"].ToString(); roteiro.VersaoAtual = Convert.ToInt32(reader["versao"]); roteiro.AtividadeTexto = reader["atividade_nome"].ToString(); } reader.Close(); } #endregion } return(roteiro); }
internal Finalidade ObterFinalidade(Finalidade finalidade) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { Comando comando = bancoDeDados.CriarComando(@"select lr.id Id, lr.codigo Codigo, lr.texto Texto, tm.nome TituloModeloTexto from {0}lov_titulo_finalidade lr, {0}tab_titulo_modelo tm where lr.id = :id and tm.id = :modelo" , EsquemaBanco); comando.AdicionarParametroEntrada("id", finalidade.Id, DbType.Int32); comando.AdicionarParametroEntrada("modelo", finalidade.TituloModelo, DbType.Int32); finalidade = bancoDeDados.ObterEntity <Finalidade>(comando); return(finalidade); } }
protected void btnSalvar_Click(object sender, EventArgs e) { if (IsInvalidForm()) { SendMessage(Message.MSG_REQUIRED_FIELDS, Color.Red); } else { try { Tipo tipo = new Tipo() { Id = int.Parse(ddlTipo.SelectedValue) }; Marca marca = new Marca() { Id = int.Parse(ddlMarca.SelectedValue) }; Finalidade finalidade = new Finalidade() { Id = int.Parse(ddlFinalidade.SelectedValue) }; Fornecedor fornecedor = new Fornecedor() { Id = int.Parse(ddlFornecedor.SelectedValue) }; Presente presente = new Presente() { Descricao = txtDescricao.Text, Tipo = tipo, Marca = marca, Finalidade = finalidade, Cor = txtCor.Text, Tamanho = decimal.Parse(txtTamanho.Text), Preco = decimal.Parse(txtPreco.Text), Fornecedor = fornecedor }; presentePersistence.Create(presente); SendMessage(Message.MSG_CREATION_SUCCESS, Color.Green); LoadGridView(); ClearForm(); } catch (Exception ex) { SendMessage($"{Message.MSG_ERROR} {ex.Message}", Color.Red); } } }
internal String ModeloTituloNaoAdicionadoRoteiro(Finalidade finalidade) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { Comando comando = bancoDeDados.CriarComando(@"select tm.nome from cnf_atividade_atividades caa, cnf_atividade_modelos cam, tab_titulo_modelo tm where caa.atividade = :atividade and cam.configuracao = caa.configuracao and cam.modelo = :modelo and tm.id = cam.modelo and cam.modelo not in (select rm.modelo from tab_roteiro_modelos rm, tab_roteiro_atividades ra where rm.roteiro = ra.roteiro and ra.atividade = :atividade)" , EsquemaBanco); comando.AdicionarParametroEntrada("atividade", finalidade.AtividadeId, DbType.Int32); comando.AdicionarParametroEntrada("modelo", finalidade.TituloModelo, DbType.Int32); return(bancoDeDados.ExecutarScalar <String>(comando)); } }
private Finalidade setRelations(Finalidade finalidade, int?id) { var regTratamento = _context.RegTratamento.Where(b => EF.Property <int>(b, "FinalidadeIdFinalidade") == id); finalidade.regFinalidade = regTratamento; if (finalidade.regFinalidade.Any()) { finalidade.isDeletable = false; } else { finalidade.isDeletable = true; } return(finalidade); }
private List <Finalidade> PreparateList(SqlDataReader reader) { List <Finalidade> finalidades = new List <Finalidade>(); while (reader.Read()) { Finalidade finalidade = new Finalidade() { Id = int.Parse(reader["id"].ToString()), Descricao = reader["descricao"].ToString(), Origem = reader["origem"].ToString() }; finalidades.Add(finalidade); } return(finalidades); }
public async Task <IActionResult> Create([Bind("IdFinalidade,TFinalidade")] Finalidade finalidade) { var cTCodefindany = _context.Finalidade.Where(b => EF.Property <string>(b, "TFinalidade").Equals(finalidade.TFinalidade)); if (cTCodefindany.Any()) { ModelState.AddModelError("TFinalidade", string.Format("Esta Finalidade já existe.", finalidade.TFinalidade)); } if (ModelState.IsValid) { _context.Add(finalidade); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(finalidade)); }
public List <Finalidade> SelectFinalidade(List <Tuple <string, object, string> > whereParameters) { List <Finalidade> Finalidades = new List <Finalidade>(); List <string> lstParameters = new List <string>(); try { OpenConnection(); cmd.CommandText = "SELECT * FROM Finalidade"; cmd.Parameters.Clear(); if (whereParameters != null) { foreach (var item in whereParameters) { cmd.Parameters.AddWithValue("@" + item.Item1, item.Item2); lstParameters.Add(item.Item1 + item.Item3 + "@" + item.Item1); } } if (lstParameters.Count > 0) { cmd.CommandText += " WHERE " + string.Join(" AND ", lstParameters.ToArray()); } cmd.CommandType = System.Data.CommandType.Text; reader = cmd.ExecuteReader(); while (reader.Read()) { Finalidade p = new Finalidade(); p.ID = Convert.ToInt32(reader["ID"]); p.Nome = reader["Nome"].ToString(); p.IDCategoria = Convert.ToInt32(reader["IDCategoria"]); Finalidades.Add(p); } } catch (Exception) { throw; } finally { CloseConnection(); } return(Finalidades); }
void CarregarDadosListas(Requerimento requerimento, BancoDeDados bancoInterno) { requerimento.SituacaoTexto = ListaCredenciadoBus.SituacoesRequerimento.Single(x => x.Id == requerimento.SituacaoId).Texto; Atividade atividade = new Atividade(); Finalidade finalidade = new Finalidade(); requerimento.Atividades.ForEach(x => { atividade = _roteiroBus.ObterAtividade(x, bancoInterno); x.NomeAtividade = atividade.NomeAtividade; x.SetorId = atividade.SetorId; x.Finalidades.ForEach(y => { finalidade = _roteiroBus.ObterFinalidade(y, bancoInterno); y.Codigo = finalidade.Codigo; y.Texto = finalidade.Texto; y.TituloModeloTexto = finalidade.TituloModeloTexto; }); }); }
protected void BtnSalvar_Click(object sender, EventArgs e) { Finalidade finalidade = new Finalidade() { Id = int.Parse(TxtCodigo.Text), Descricao = TxtDescricao.Text, Origem = TxtOrigem.Text }; FinalidadeDB finalidadeDB = new FinalidadeDB(); bool status = finalidadeDB.Salvar(finalidade); if (status) { lblMSG.Text = "Salvo com sucesso!"; LimparComponentes(); } else { lblMSG.Text = "Erro ao salvar"; } }
public bool Salvar(Finalidade finalidade) { try { string sql = "INSERT INTO finalidade (id, descricao, origem) values (@Id, @Descricao, @Origem)"; using (var cmd = sqliteConnection.CreateCommand()) { cmd.CommandText = sql; cmd.Parameters.AddWithValue("@Id", finalidade.Id); cmd.Parameters.AddWithValue("@Descricao", finalidade.Descricao); cmd.Parameters.AddWithValue("@Origem", finalidade.Descricao); cmd.ExecuteNonQuery(); } return(true); } catch (SqlException) { throw; } }
public void ValidarTituloNumeroOrgaoTexto(Finalidade item, Atividade atividade) { if (string.IsNullOrWhiteSpace(item.TituloModeloAnteriorTexto)) { Validacao.Add(Msg.TituloAnteriorObrigatorio(item.TituloModeloTexto, atividade.NomeAtividade)); } if (string.IsNullOrWhiteSpace(item.TituloAnteriorNumero)) { Validacao.Add(Msg.NumeroAnteriorObrigatorio(item.TituloModeloTexto, atividade.NomeAtividade)); } else { if (!(ValidacoesGenericasBus.ValidarMaskNumeroBarraAno(item.TituloAnteriorNumero) || ValidacoesGenericasBus.ValidarNumero(item.TituloAnteriorNumero, 12))) { Validacao.Add(Mensagem.Requerimento.TituloAnteriorNumeroInvalido); } } if (string.IsNullOrWhiteSpace(item.OrgaoExpedidor)) { Validacao.Add(Msg.OrgaoExpedidorObrigatorio); } }
public Finalidade ObterFinalidade(Finalidade finalidade) { return(_da.ObterFinalidade(finalidade)); }
public void TituloAnteriores(List <Atividade> atividades, List <Atividade> atividadesAtuais, BancoDeDados banco = null) { AtividadeBus atividadeBus = new AtividadeBus(); TituloBus tituloBus = new TituloBus(); List <Atividade> lstTituloAntigoAtividade = null; List <Finalidade> lstFinalidades = null; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Ao Remover titulos anteriores if (atividadesAtuais != null && atividadesAtuais.Count > 0) { foreach (Atividade atividadeAtual in atividadesAtuais) { lstFinalidades = atividadeAtual.Finalidades.Where(y => (y.Id == 1 || y.Id == 3)).ToList(); //1 - Nova fase, 3 - Renovacao foreach (Finalidade finalidade in lstFinalidades) { if ((finalidade.TituloAnteriorId ?? 0) == 0) { continue; } lstTituloAntigoAtividade = null; Atividade atividadeNova = atividades.SingleOrDefault(x => x.IdRelacionamento == atividadeAtual.IdRelacionamento); if (atividadeNova == null) { lstTituloAntigoAtividade = tituloBus.ObterAtividades(finalidade.TituloAnteriorId.Value, bancoDeDados); } else { Finalidade finalidadeNova = atividadeNova.Finalidades.SingleOrDefault(x => x.IdRelacionamento == finalidade.IdRelacionamento); if (finalidadeNova != null && (finalidadeNova.TituloAnteriorId ?? 0) <= 0) { lstTituloAntigoAtividade = tituloBus.ObterAtividades(finalidade.TituloAnteriorId.Value, bancoDeDados); } } if (lstTituloAntigoAtividade != null && lstTituloAntigoAtividade.Count > 0) { foreach (var tituloAnteriorAtividade in lstTituloAntigoAtividade) { eAtividadeSituacao atividadeSituacao = eAtividadeSituacao.EmAndamento; if (atividadeBus.VerificarDeferir(tituloAnteriorAtividade, bancoDeDados)) { atividadeSituacao = eAtividadeSituacao.Deferida; } tituloAnteriorAtividade.SituacaoId = (int)atividadeSituacao; atividadeBus.AlterarSituacao(tituloAnteriorAtividade, bancoDeDados); } } } } } #endregion #region Ao Adicionar titulos anteriores lstFinalidades = null; foreach (var atividade in atividades) { lstFinalidades = atividade.Finalidades.Where(y => (y.Id == 1 || y.Id == 3)).ToList(); //1 - Novo, 3 - Renovacao foreach (Finalidade finalidade in lstFinalidades) { if ((finalidade.TituloAnteriorId ?? 0) <= 0) { continue; } //1 - Interno if (finalidade.TituloAnteriorTipo == 1) { lstTituloAntigoAtividade = tituloBus.ObterAtividades(finalidade.TituloAnteriorId.Value, bancoDeDados); if (lstTituloAntigoAtividade != null) { //finalidade 1 - Novo = "Nova fase" eAtividadeSituacao atividadeSituacao = (finalidade.Id == 1) ? eAtividadeSituacao.NovaFase : eAtividadeSituacao.EmRenovacao; atividadeBus.AlterarSituacao(lstTituloAntigoAtividade, atividadeSituacao, bancoDeDados); } } } } #endregion } }
public Finalidade ObterFinalidade(Finalidade finalidade, BancoDeDados bancoInterno) { return(_da.ObterFinalidade(finalidade, bancoInterno)); }
internal Requerimento Obter(int id, BancoDeDados bancoCredenciado, bool simplificado = false) { Requerimento requerimento = new Requerimento(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(bancoCredenciado, UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); #region Requerimento Comando comando = bancoDeDados.CriarComando(@"select r.id, r.numero, trunc(r.data_criacao) data_criacao, r.interessado, r.tid, nvl(p.nome, p.razao_social) interessado_nome, nvl(p.cpf, p.cnpj) interessado_cpf_cnpj, p.tipo interessado_tipo, r.empreendimento, e.codigo empreendimento_codigo, e.cnpj empreendimento_cnpj, e.denominador, e.interno empreendimento_interno, r.situacao, r.agendamento, r.setor, r.informacoes, r.credenciado from {0}tab_requerimento r, {0}tab_pessoa p, {0}tab_empreendimento e where r.interessado = p.id(+) and r.empreendimento = e.id(+) and r.id = :id" , UsuarioCredenciado); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { requerimento.Id = id; requerimento.Tid = reader["tid"].ToString(); requerimento.DataCadastro = Convert.ToDateTime(reader["data_criacao"]); requerimento.IsCredenciado = true; requerimento.CredenciadoId = Convert.ToInt32(reader["credenciado"]); if (reader["setor"] != null && !Convert.IsDBNull(reader["setor"])) { requerimento.SetorId = Convert.ToInt32(reader["setor"]); } if (reader["agendamento"] != null && !Convert.IsDBNull(reader["agendamento"])) { requerimento.AgendamentoVistoria = Convert.ToInt32(reader["agendamento"]); } if (reader["interessado"] != null && !Convert.IsDBNull(reader["interessado"])) { requerimento.Interessado.SelecaoTipo = (int)eExecutorTipo.Credenciado; requerimento.Interessado.Id = Convert.ToInt32(reader["interessado"]); requerimento.Interessado.Tipo = Convert.ToInt32(reader["interessado_tipo"]); if (reader["interessado_tipo"].ToString() == "1") { requerimento.Interessado.Fisica.Nome = reader["interessado_nome"].ToString(); requerimento.Interessado.Fisica.CPF = reader["interessado_cpf_cnpj"].ToString(); } else { requerimento.Interessado.Juridica.RazaoSocial = reader["interessado_nome"].ToString(); requerimento.Interessado.Juridica.CNPJ = reader["interessado_cpf_cnpj"].ToString(); } } if (reader["empreendimento"] != null && !Convert.IsDBNull(reader["empreendimento"])) { requerimento.Empreendimento.SelecaoTipo = (int)eExecutorTipo.Credenciado; requerimento.Empreendimento.Id = Convert.ToInt32(reader["empreendimento"]); requerimento.Empreendimento.Codigo = reader.GetValue <int>("empreendimento_codigo"); requerimento.Empreendimento.Denominador = reader["denominador"].ToString(); requerimento.Empreendimento.CNPJ = reader["empreendimento_cnpj"].ToString(); requerimento.Empreendimento.InternoId = reader.GetValue <int?>("empreendimento_interno"); } if (reader["situacao"] != null && !Convert.IsDBNull(reader["situacao"])) { requerimento.SituacaoId = Convert.ToInt32(reader["situacao"]); } requerimento.Informacoes = reader["informacoes"].ToString(); } reader.Close(); } #endregion if (requerimento.Id <= 0 || simplificado) { return(requerimento); } #region Atividades comando = bancoDeDados.CriarComando(@"select a.id, a.atividade, ta.situacao, a.tid from {0}tab_requerimento_atividade a, tab_atividade ta where ta.id = a.atividade and a.requerimento = :id", UsuarioCredenciado); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Atividade atividade; while (reader.Read()) { atividade = new Atividade(); atividade.Id = Convert.ToInt32(reader["atividade"]); atividade.SituacaoId = Convert.ToInt32(reader["situacao"]); atividade.IdRelacionamento = Convert.ToInt32(reader["id"]); atividade.Tid = reader["tid"].ToString(); #region Atividades/Finalidades/Modelos comando = bancoDeDados.CriarComando(@"select a.id, a.finalidade, a.modelo, a.titulo_anterior_tipo, a.titulo_anterior_id, a.titulo_anterior_numero, a.modelo_anterior_id, a.modelo_anterior_nome, a.modelo_anterior_sigla, a.orgao_expedidor from {0}tab_requerimento_ativ_finalida a where a.requerimento_ativ = :id" , UsuarioCredenciado); comando.AdicionarParametroEntrada("id", atividade.IdRelacionamento, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { Finalidade fin; while (readerAux.Read()) { fin = new Finalidade(); fin.IdRelacionamento = Convert.ToInt32(readerAux["id"]); fin.OrgaoExpedidor = readerAux["orgao_expedidor"].ToString(); if (readerAux["finalidade"] != DBNull.Value) { fin.Id = Convert.ToInt32(readerAux["finalidade"]); } if (readerAux["modelo"] != DBNull.Value) { fin.TituloModelo = Convert.ToInt32(readerAux["modelo"]); } if (readerAux["modelo_anterior_id"] != DBNull.Value) { fin.TituloModeloAnteriorId = Convert.ToInt32(readerAux["modelo_anterior_id"]); } fin.TituloModeloAnteriorTexto = readerAux["modelo_anterior_nome"].ToString(); fin.TituloModeloAnteriorSigla = readerAux["modelo_anterior_sigla"].ToString(); if (readerAux["titulo_anterior_tipo"] != DBNull.Value) { fin.TituloAnteriorTipo = Convert.ToInt32(readerAux["titulo_anterior_tipo"]); } if (readerAux["titulo_anterior_id"] != DBNull.Value) { fin.TituloAnteriorId = Convert.ToInt32(readerAux["titulo_anterior_id"]); } fin.TituloAnteriorNumero = readerAux["titulo_anterior_numero"].ToString(); fin.EmitidoPorInterno = (fin.TituloAnteriorTipo != 3); atividade.Finalidades.Add(fin); } readerAux.Close(); } #endregion requerimento.Atividades.Add(atividade); } reader.Close(); } #endregion #region Responsáveis comando = bancoDeDados.CriarComando(@"select pr.id, pr.responsavel, pr.funcao, nvl(p.nome, p.razao_social) nome, pr.numero_art, nvl(p.cpf, p.cnpj) cpf_cnpj, p.tipo from {0}tab_requerimento_responsavel pr, {0}tab_pessoa p where pr.responsavel = p.id and pr.requerimento = :requerimento" , UsuarioCredenciado); comando.AdicionarParametroEntrada("requerimento", requerimento.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { ResponsavelTecnico responsavel; while (reader.Read()) { responsavel = new ResponsavelTecnico(); responsavel.IdRelacionamento = reader.GetValue <int>("id"); responsavel.Id = reader.GetValue <int>("responsavel"); responsavel.Funcao = reader.GetValue <int>("funcao"); responsavel.CpfCnpj = reader.GetValue <string>("cpf_cnpj"); responsavel.NomeRazao = reader.GetValue <string>("nome"); responsavel.NumeroArt = reader.GetValue <string>("numero_art"); if (reader.GetValue <int>("tipo") == PessoaTipo.JURIDICA) { comando = bancoDeDados.CriarComando(@"select pr.id, pr.pessoa, pr.representante, p.nome, p.cpf, p.tipo from {0}tab_pessoa_representante pr, {0}tab_pessoa p where pr.representante = p.id and pr.pessoa = :pessoa" , UsuarioCredenciado); comando.AdicionarParametroEntrada("pessoa", responsavel.Id, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { Pessoa representante; responsavel.Representantes = new List <Pessoa>(); while (readerAux.Read()) { representante = new Pessoa(); representante.Id = readerAux.GetValue <int>("representante"); representante.Tipo = readerAux.GetValue <int>("tipo"); representante.Fisica.Nome = readerAux.GetValue <string>("nome"); representante.Fisica.CPF = readerAux.GetValue <string>("cpf"); responsavel.Representantes.Add(representante); } readerAux.Close(); } } requerimento.Responsaveis.Add(responsavel); } reader.Close(); } #endregion } return(requerimento); }
public RequerimentoRelatorio Obter(int id) { RequerimentoRelatorio requerimento = new RequerimentoRelatorio(); #region Banco do Credenciado using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(EsquemaBanco)) { #region Requerimento Comando comando = bancoDeDados.CriarComando(@" select r.id, r.credenciado, trunc(r.data_criacao) data_criacao, r.interessado, r.empreendimento, r.situacao, r.agendamento agendamento, to_char(r.data_criacao, 'dd') dia, to_char(r.data_criacao, 'MM') mes, to_char(r.data_criacao, 'yyyy') ano, r.setor, r.informacoes, p.situacao projeto_digital_situacao, (select pe.municipio from {0}tab_pessoa_endereco pe, {0}tab_credenciado c where pe.pessoa = c.pessoa and c.id = r.credenciado) municipio from {0}tab_requerimento r, tab_projeto_digital p where r.id = p.requerimento and r.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { requerimento.Id = id; requerimento.AutorId = reader.GetValue <int>("credenciado"); requerimento.DataCadastro = Convert.ToDateTime(reader["data_criacao"]); requerimento.DiaCadastro = reader["dia"].ToString(); int mes = reader.GetValue <int>("mes"); requerimento.MesCadastro = _configSys.Obter <List <String> >(ConfiguracaoSistema.KeyMeses).ElementAt(mes - 1); requerimento.AnoCadastro = reader["ano"].ToString(); requerimento.MunicipioId = reader.GetValue <int>("municipio"); requerimento.Interessado.Id = reader.GetValue <int>("interessado"); requerimento.Empreendimento.Id = reader.GetValue <int>("empreendimento"); requerimento.ProjetoDigitalSituacaoId = reader.GetValue <int>("projeto_digital_situacao"); requerimento.SituacaoId = reader.GetValue <int>("situacao"); requerimento.AgendamentoVistoria = reader["agendamento"].ToString(); requerimento.SetorId = reader.GetValue <int>("setor"); requerimento.Informacoes = reader["informacoes"].ToString(); } reader.Close(); } #endregion #region Atividades comando = bancoDeDados.CriarComando(@" select a.id, a.atividade, a.tid from {0}tab_requerimento_atividade a where a.requerimento = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { RequerimentoAtividadeRelatorio atividade; while (reader.Read()) { atividade = new RequerimentoAtividadeRelatorio(); atividade.Id = Convert.ToInt32(reader["atividade"]); atividade.IdRelacionamento = Convert.ToInt32(reader["id"]); #region Atividades/Finalidades/Modelos comando = bancoDeDados.CriarComando(@" select a.id, a.finalidade, a.modelo, a.titulo_anterior_tipo, a.titulo_anterior_id, a.titulo_anterior_numero, a.modelo_anterior_id, a.modelo_anterior_nome, a.modelo_anterior_sigla, a.orgao_expedidor from {0}tab_requerimento_ativ_finalida a where a.requerimento_ativ = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", atividade.IdRelacionamento, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { Finalidade fin; while (readerAux.Read()) { fin = new Finalidade(); fin.IdRelacionamento = Convert.ToInt32(readerAux["id"]); fin.OrgaoExpedidor = readerAux["orgao_expedidor"].ToString(); if (readerAux["finalidade"] != DBNull.Value) { fin.Id = Convert.ToInt32(readerAux["finalidade"]); } if (readerAux["modelo"] != DBNull.Value) { fin.TituloModelo = Convert.ToInt32(readerAux["modelo"]); } if (readerAux["modelo_anterior_id"] != DBNull.Value) { fin.TituloModeloAnteriorId = Convert.ToInt32(readerAux["modelo_anterior_id"]); } fin.TituloModeloAnteriorTexto = readerAux["modelo_anterior_nome"].ToString(); fin.TituloModeloAnteriorSigla = readerAux["modelo_anterior_sigla"].ToString(); if (readerAux["titulo_anterior_tipo"] != DBNull.Value) { fin.TituloAnteriorTipo = Convert.ToInt32(readerAux["titulo_anterior_tipo"]); } if (readerAux["titulo_anterior_id"] != DBNull.Value) { fin.TituloAnteriorId = Convert.ToInt32(readerAux["titulo_anterior_id"]); } fin.TituloAnteriorNumero = readerAux["titulo_anterior_numero"].ToString(); fin.EmitidoPorInterno = (fin.TituloAnteriorTipo != 3); atividade.Finalidades.Add(fin); } readerAux.Close(); } #endregion requerimento.Atividades.Add(atividade); } reader.Close(); } #endregion #region Interessado comando = bancoDeDados.CriarComando(@" select p.id, p.tipo, p.nome, p.cpf, p.rg, p.estado_civil, p.cnpj, p.razao_social, p.nome_fantasia, p.ie, p.apelido, tpp.profissao from {0}tab_pessoa p, {0}tab_pessoa_profissao tpp where p.id = tpp.pessoa(+) and p.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", requerimento.Interessado.Id, DbType.Int32); PessoaRelatorio pessoa = new PessoaRelatorio(); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { pessoa.Id = requerimento.Interessado.Id; pessoa.Tipo = Convert.ToInt32(reader["tipo"]); if (pessoa.IsFisica) { pessoa.Fisica.Nome = reader["nome"].ToString(); pessoa.Fisica.CPF = reader["cpf"].ToString(); pessoa.Fisica.RG = reader["rg"].ToString(); pessoa.Fisica.Apelido = reader["apelido"].ToString(); } else // juridica { pessoa.Juridica.CNPJ = reader["cnpj"].ToString(); pessoa.Juridica.RazaoSocial = reader["razao_social"].ToString(); pessoa.Juridica.NomeFantasia = reader["nome_fantasia"].ToString(); pessoa.Juridica.IE = reader["ie"].ToString(); } } reader.Close(); } #region Meio de Contato comando = bancoDeDados.CriarComando(@"select a.id, a.pessoa, a.meio_contato tipo_contato_id, a.valor from {0}tab_pessoa_meio_contato a where a.pessoa = :pessoa" , EsquemaBanco); comando.AdicionarParametroEntrada("pessoa", pessoa.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { ContatoRelatorio contato; while (reader.Read()) { contato = new ContatoRelatorio(); contato.Id = Convert.ToInt32(reader["id"]); contato.PessoaId = Convert.ToInt32(reader["pessoa"]); contato.TipoContato = (eTipoContato)Enum.Parse(contato.TipoContato.GetType(), reader["tipo_contato_id"].ToString()); contato.Valor = reader["valor"].ToString(); pessoa.MeiosContatos.Add(contato); } reader.Close(); } #endregion #region Endereços comando = bancoDeDados.CriarComando(@" select te.id, te.pessoa, te.cep, te.logradouro, te.bairro, te.estado estado_id, te.municipio municipio_id, te.numero, te.complemento, te.distrito from {0}tab_pessoa_endereco te where te.pessoa = :pessoa" , EsquemaBanco); comando.AdicionarParametroEntrada("pessoa", pessoa.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { pessoa.Endereco.Id = Convert.ToInt32(reader["id"]); pessoa.Endereco.Cep = reader["cep"].ToString(); pessoa.Endereco.Logradouro = reader["logradouro"].ToString(); pessoa.Endereco.Bairro = reader["bairro"].ToString(); pessoa.Endereco.EstadoId = Convert.IsDBNull(reader["estado_id"]) ? 0 : Convert.ToInt32(reader["estado_id"]); pessoa.Endereco.MunicipioId = Convert.IsDBNull(reader["municipio_id"]) ? 0 : Convert.ToInt32(reader["municipio_id"]); pessoa.Endereco.Numero = reader["numero"].ToString(); pessoa.Endereco.Complemento = reader["complemento"].ToString(); pessoa.Endereco.Distrito = reader["distrito"].ToString(); } reader.Close(); } #endregion requerimento.Interessado = pessoa; #endregion #region Responsáveis comando = bancoDeDados.CriarComando(@" select pr.id, pr.responsavel, pr.funcao funcao, pr.numero_art, nvl(p.nome, p.razao_social) nome, nvl(p.cpf, p.cnpj) cpf_cnpj, nvl(p.rg, p.ie) rg_ie, p.tipo, trunc(p.data_nascimento) data_nascimento from {0}tab_requerimento_responsavel pr, {0}tab_pessoa p where pr.responsavel = p.id and pr.requerimento = :requerimento" , EsquemaBanco); comando.AdicionarParametroEntrada("requerimento", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { ResponsavelTecnicoRelatorio responsavel; while (reader.Read()) { responsavel = new ResponsavelTecnicoRelatorio(); responsavel.Id = Convert.ToInt32(reader["responsavel"]); responsavel.FuncaoTexto = reader["funcao"].ToString(); responsavel.CpfCnpj = reader["cpf_cnpj"].ToString(); responsavel.RgIe = reader["rg_ie"].ToString(); responsavel.NomeRazao = reader["nome"].ToString(); responsavel.NumeroArt = reader["numero_art"].ToString(); if (reader["data_nascimento"] != null && !Convert.IsDBNull(reader["data_nascimento"])) { responsavel.DataNascimento = Convert.ToDateTime(reader["data_nascimento"]).ToShortDateString(); } responsavel.DataVencimento = "Falta"; #region Meio de Contato comando = bancoDeDados.CriarComando(@"select a.id, a.pessoa, a.meio_contato tipo_contato_id, a.valor from tab_pessoa_meio_contato a where a.pessoa = :pessoa" , EsquemaBanco); comando.AdicionarParametroEntrada("pessoa", responsavel.Id, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { ContatoRelatorio contato; while (readerAux.Read()) { contato = new ContatoRelatorio(); contato.Id = Convert.ToInt32(readerAux["id"]); contato.PessoaId = Convert.ToInt32(readerAux["pessoa"]); contato.TipoContato = (eTipoContato)Enum.Parse(contato.TipoContato.GetType(), readerAux["tipo_contato_id"].ToString()); contato.Valor = readerAux["valor"].ToString(); responsavel.MeiosContatos.Add(contato); } readerAux.Close(); } #endregion #region Endereços comando = bancoDeDados.CriarComando(@" select te.id, te.pessoa, te.cep, te.logradouro, te.bairro, te.estado estado_id, te.municipio municipio_id, te.numero, te.complemento, te.distrito from {0}tab_pessoa_endereco te where te.pessoa = :pessoa" , EsquemaBanco); comando.AdicionarParametroEntrada("pessoa", responsavel.Id, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { while (readerAux.Read()) { responsavel.Endereco.Id = Convert.ToInt32(readerAux["id"]); responsavel.Endereco.Cep = readerAux["cep"].ToString(); responsavel.Endereco.Logradouro = readerAux["logradouro"].ToString(); responsavel.Endereco.Bairro = readerAux["bairro"].ToString(); responsavel.Endereco.EstadoId = Convert.IsDBNull(readerAux["estado_id"]) ? 0 : Convert.ToInt32(readerAux["estado_id"]); responsavel.Endereco.MunicipioId = Convert.IsDBNull(readerAux["municipio_id"]) ? 0 : Convert.ToInt32(readerAux["municipio_id"]); responsavel.Endereco.Numero = readerAux["numero"].ToString(); responsavel.Endereco.Complemento = readerAux["complemento"].ToString(); responsavel.Endereco.Distrito = readerAux["distrito"].ToString(); } readerAux.Close(); } #endregion requerimento.Responsaveis.Add(responsavel); } reader.Close(); } #endregion #region Empreendimento if (requerimento.Empreendimento.Id > 0) { comando = bancoDeDados.CriarComando(@" select e.id, e.codigo, e.segmento, e.denominador, e.cnpj, e.atividade, e.nome_fantasia, e.denominador razao_social from tab_empreendimento e where e.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", requerimento.Empreendimento.Id, DbType.Int32); EmpreendimentoRelatorio empreendimento = new EmpreendimentoRelatorio(); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { empreendimento.Id = requerimento.Empreendimento.Id; empreendimento.Codigo = reader.GetValue <int>("codigo"); empreendimento.CNPJ = reader["cnpj"].ToString(); empreendimento.NomeFantasia = reader["nome_fantasia"].ToString(); empreendimento.Denominador = reader["denominador"].ToString(); empreendimento.SegmentoTexto = reader["segmento"].ToString(); empreendimento.AtividadeTexto = Convert.ToString(reader["atividade"]); empreendimento.NomeRazao = Convert.ToString(reader["razao_social"]); } reader.Close(); } #region Endereços comando = bancoDeDados.CriarComando(@" select te.id, te.empreendimento, te.correspondencia, te.cep, te.logradouro, te.bairro, te.estado estado_id, te.municipio municipio_id, te.numero, te.complemento, (case when te.zona = 1 then 'Urbana' else 'Rural' end) zona, te.distrito, te.corrego, te.complemento from tab_empreendimento_endereco te where te.empreendimento = :empreendimento" , EsquemaBanco); comando.AdicionarParametroEntrada("empreendimento", empreendimento.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { EnderecoRelatorio end; while (reader.Read()) { end = new EnderecoRelatorio(); end.Id = Convert.ToInt32(reader["id"]); end.Correspondencia = Convert.IsDBNull(reader["correspondencia"]) ? 0 : Convert.ToInt32(reader["correspondencia"]); end.Cep = reader["cep"].ToString(); end.Logradouro = reader["logradouro"].ToString(); end.Bairro = reader["bairro"].ToString(); end.EstadoId = Convert.IsDBNull(reader["estado_id"]) ? 0 : Convert.ToInt32(reader["estado_id"]); end.MunicipioId = Convert.IsDBNull(reader["municipio_id"]) ? 0 : Convert.ToInt32(reader["municipio_id"]); end.Numero = reader["numero"].ToString(); end.Complemento = reader["complemento"].ToString(); end.Corrego = reader["corrego"].ToString(); end.Zona = reader["zona"].ToString(); end.Distrito = reader["distrito"].ToString(); end.Complemento = reader["complemento"].ToString(); empreendimento.Enderecos.Add(end); } reader.Close(); } #endregion #region Coordenada comando = bancoDeDados.CriarComando(@" select aec.id, aec.tipo_coordenada, aec.datum, aec.easting_utm, aec.northing_utm, aec.fuso_utm, aec.hemisferio_utm, aec.latitude_gms, aec.longitude_gms, aec.latitude_gdec, aec.longitude_gdec, aec.forma_coleta forma_coleta, aec.local_coleta local_coleta, aec.datum datum_texto, aec.hemisferio_utm hemisferio_utm_texto from {0}tab_empreendimento_coord aec where aec.empreendimento = :empreendimentoid" , EsquemaBanco); comando.AdicionarParametroEntrada("empreendimentoid", empreendimento.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { empreendimento.Coordenada.Id = Convert.ToInt32(reader["id"]); empreendimento.Coordenada.EastingUtmTexto = Convert.ToString(reader["easting_utm"]); empreendimento.Coordenada.NorthingUtmTexto = Convert.ToString(reader["northing_utm"]); empreendimento.Coordenada.FusoUtm = Convert.IsDBNull(reader["fuso_utm"]) ? 0 : Convert.ToInt32(reader["fuso_utm"]); empreendimento.Coordenada.HemisferioUtm = Convert.IsDBNull(reader["hemisferio_utm"]) ? 0 : Convert.ToInt32(reader["hemisferio_utm"]); empreendimento.Coordenada.LatitudeGms = reader["latitude_gms"].ToString(); empreendimento.Coordenada.LongitudeGms = reader["longitude_gms"].ToString(); empreendimento.Coordenada.LatitudeGdec = Convert.IsDBNull(reader["latitude_gdec"]) ? 0 : Convert.ToDouble(reader["latitude_gdec"]); empreendimento.Coordenada.LongitudeGdec = Convert.IsDBNull(reader["longitude_gdec"]) ? 0 : Convert.ToDouble(reader["longitude_gdec"]); empreendimento.Coordenada.Datum.Id = Convert.ToInt32(reader["datum"]); empreendimento.Coordenada.Tipo.Id = Convert.ToInt32(reader["tipo_coordenada"]); empreendimento.Coordenada.FormaColetaTexto = Convert.ToString(reader["forma_coleta"]); empreendimento.Coordenada.LocalColetaTexto = Convert.ToString(reader["local_coleta"]); } reader.Close(); } #endregion #region Meio de Contato comando = bancoDeDados.CriarComando(@"select a.id, a.empreendimento, a.meio_contato tipo_contato_id, a.valor from {0}tab_empreendimento_contato a where a.empreendimento = :empreendimento" , EsquemaBanco); comando.AdicionarParametroEntrada("empreendimento", empreendimento.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { ContatoRelatorio contato; while (reader.Read()) { contato = new ContatoRelatorio(); contato.Id = Convert.ToInt32(reader["id"]); contato.PessoaId = Convert.ToInt32(reader["empreendimento"]); contato.TipoContato = (eTipoContato)Enum.Parse(contato.TipoContato.GetType(), reader["tipo_contato_id"].ToString()); contato.Valor = reader["valor"].ToString(); empreendimento.MeiosContatos.Add(contato); } reader.Close(); } #endregion requerimento.Empreendimento = empreendimento; } #endregion #region Elaborador comando = bancoDeDados.CriarComando(@" select nvl(p.nome, p.razao_social) NomeRazaoSocial, lc.texto TipoTexto from {0}tab_credenciado c, {0}tab_pessoa p, {0}lov_credenciado_tipo lc where c.pessoa = p.id and c.tipo = lc.id and c.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", requerimento.AutorId, DbType.Int32); requerimento.UsuarioCredenciado = bancoDeDados.ObterEntity <CredenciadoRelatorio>(comando); #endregion } #endregion #region Banco do Interno using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { #region Requerimento requerimento.Municipio = ObterMunicipio(requerimento.MunicipioId, bancoDeDados); #region Situacao Comando comando = bancoDeDados.CriarComando(@"select l.texto situacao_texto from {0}lov_requerimento_situacao l where l.id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", requerimento.SituacaoId, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { requerimento.SituacaoTexto = reader["situacao_texto"].ToString(); } reader.Close(); } #endregion #region Agendamento if (!string.IsNullOrWhiteSpace(requerimento.AgendamentoVistoria)) { comando = bancoDeDados.CriarComando(@"select l.texto agendamento from {0}lov_requerimento_agendamento l where l.id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", Convert.ToInt32(requerimento.AgendamentoVistoria), DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { requerimento.AgendamentoVistoria = reader["agendamento"].ToString(); } reader.Close(); } } #endregion #region Setor if (requerimento.SetorId > 0) { comando = bancoDeDados.CriarComando(@"select m.texto from tab_setor_endereco se, lov_municipio m where se.municipio = m.id (+) and se.setor = :setor" , EsquemaInterno); comando.AdicionarParametroEntrada("setor", Convert.ToInt32(requerimento.SetorId), DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { requerimento.Municipio = reader["texto"].ToString(); } reader.Close(); } } #endregion #endregion if (requerimento.Atividades.Count > 0) { #region Atividades comando = bancoDeDados.CriarComando(@"select b.id, b.atividade atividade_texto, b.conclusao from {0}tab_atividade b", EsquemaInterno); comando.DbCommand.CommandText += comando.AdicionarIn("where", "b.id", DbType.Int32, requerimento.Atividades.Select(x => x.Id).ToList()); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { int idr = Convert.ToInt32(reader["id"]); RequerimentoAtividadeRelatorio atividade = requerimento.Atividades.FirstOrDefault(x => x.Id == idr); atividade.NomeAtividade = reader["atividade_texto"].ToString(); atividade.Conclusao = reader.GetValue <string>("conclusao"); } reader.Close(); } #endregion #region Atividades/Finalidades/Modelos comando = bancoDeDados.CriarComando(@" select ltf.texto finalidade_texto, tm.nome modelo_nome from {0}tab_titulo_modelo tm, {0}lov_titulo_finalidade ltf where tm.id = :modelo and ltf.id = :fin" , EsquemaInterno); comando.AdicionarParametroEntrada("fin", DbType.Int32); comando.AdicionarParametroEntrada("modelo", DbType.Int32); var finalidades = requerimento.Atividades.SelectMany(x => x.Finalidades); foreach (Finalidade f in finalidades) { comando.SetarValorParametro("fin", f.Id); comando.SetarValorParametro("modelo", f.TituloModelo); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { if (readerAux.Read()) { f.Texto = readerAux["finalidade_texto"].ToString(); f.TituloModeloTexto = readerAux["modelo_nome"].ToString(); } readerAux.Close(); } } #endregion } #region Interessado #region Profissao if (!string.IsNullOrWhiteSpace(requerimento.Interessado.Fisica.Profissao)) { comando = bancoDeDados.CriarComando(@"select texto from {0}tab_profissao where id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", Convert.ToInt32(requerimento.Interessado.Fisica.Profissao), DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { requerimento.Interessado.Fisica.Profissao = reader["texto"].ToString(); } reader.Close(); } } #endregion #region Meios de Contato comando = bancoDeDados.CriarComando(@"select b.id, b.texto, b.mascara from {0}tab_meio_contato b", EsquemaInterno); comando.DbCommand.CommandText += comando.AdicionarIn("where", "b.id", DbType.Int32, requerimento.Interessado.MeiosContatos.Select(x => x.Id).ToList()); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { int idr = Convert.ToInt32(reader["id"]); var contatos = requerimento.Interessado.MeiosContatos.Where(x => x.Id == idr).ToList(); contatos.ForEach(x => { x.TipoTexto = reader["texto"].ToString(); x.Mascara = reader.GetValue <string>("mascara"); }); } reader.Close(); } #endregion #region Endereco EnderecoRelatorio end = requerimento.Interessado.Endereco; end.MunicipioTexto = ObterMunicipio(end.MunicipioId, bancoDeDados); end.EstadoSigla = ObterEstado(end.EstadoId, bancoDeDados); #endregion #endregion #region Responsaveis #region Funcao comando = bancoDeDados.CriarComando(@"select lf.texto funcao from {0}lov_protocolo_resp_funcao lf where lf.id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", DbType.Int32); foreach (var resp in requerimento.Responsaveis) { comando.SetarValorParametro("id", int.Parse(resp.FuncaoTexto)); resp.FuncaoTexto = bancoDeDados.ExecutarScalar <string>(comando); } #endregion #region Meios de Contato comando = bancoDeDados.CriarComando(@"select b.id, b.texto, b.mascara from {0}tab_meio_contato b", EsquemaInterno); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { int idr = Convert.ToInt32(reader["id"]); var contatos = requerimento.Responsaveis.SelectMany(x => x.MeiosContatos).Where(x => x.Id == idr).ToList(); contatos.ForEach(x => { x.TipoTexto = reader["texto"].ToString(); x.Mascara = reader.GetValue <string>("mascara"); }); } reader.Close(); } #endregion #region Endereços foreach (var endResp in requerimento.Responsaveis.Select(x => x.Endereco)) { endResp.MunicipioTexto = ObterMunicipio(endResp.MunicipioId, bancoDeDados); endResp.EstadoSigla = ObterEstado(endResp.EstadoId, bancoDeDados); } #endregion #endregion #region Empreendimento EmpreendimentoRelatorio emp = requerimento.Empreendimento; #region Atividade if (!string.IsNullOrWhiteSpace(emp.AtividadeTexto)) { comando = bancoDeDados.CriarComando(@"select a.atividade from {0}tab_empreendimento_atividade a where a.id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", Convert.ToInt32(emp.AtividadeTexto), DbType.Int32); requerimento.Empreendimento.AtividadeTexto = bancoDeDados.ExecutarScalar <string>(comando); } #endregion #region Segmento if (!string.IsNullOrWhiteSpace(emp.SegmentoTexto)) { comando = bancoDeDados.CriarComando(@"select les.texto from {0}lov_empreendimento_segmento les where les.id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", Convert.ToInt32(emp.SegmentoTexto), DbType.Int32); requerimento.Empreendimento.SegmentoTexto = bancoDeDados.ExecutarScalar <string>(comando); } #endregion #region Endereços foreach (var endEmp in emp.Enderecos) { endEmp.MunicipioTexto = ObterMunicipio(endEmp.MunicipioId, bancoDeDados); endEmp.EstadoSigla = ObterEstado(endEmp.EstadoId, bancoDeDados); } #endregion #region Meios de Contato comando = bancoDeDados.CriarComando(@"select b.id, b.texto, b.mascara from tab_meio_contato b", EsquemaInterno); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { int idr = Convert.ToInt32(reader["id"]); var contatos = emp.MeiosContatos.Where(x => x.Id == idr).ToList(); contatos.ForEach(x => { x.TipoTexto = reader["texto"].ToString(); x.Mascara = reader.GetValue <string>("mascara"); }); } reader.Close(); } #endregion #region Coordenada ListaBus bus = new ListaBus(); emp.Coordenada.DatumTexto = ObterDatum(emp.Coordenada.Datum.Id, bancoDeDados); emp.Coordenada.Tipo.Texto = ObterTipoCoordenada(emp.Coordenada.Tipo.Id, bancoDeDados); if (!string.IsNullOrWhiteSpace(emp.Coordenada.HemisferioUtmTexto)) { emp.Coordenada.HemisferioUtmTexto = bus.Hemisferios.FirstOrDefault(x => x.Id == Convert.ToInt32(emp.Coordenada.HemisferioUtmTexto)).Texto; } if (!string.IsNullOrWhiteSpace(emp.Coordenada.FormaColetaTexto)) { comando = bancoDeDados.CriarComando(@"select c.texto from {0}lov_empreendimento_forma_colet c where c.id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", Convert.ToInt32(emp.Coordenada.FormaColetaTexto), DbType.Int32); emp.Coordenada.FormaColetaTexto = bancoDeDados.ExecutarScalar <string>(comando); } if (!string.IsNullOrWhiteSpace(emp.Coordenada.LocalColetaTexto)) { comando = bancoDeDados.CriarComando(@"select c.texto from {0}lov_empreendimento_local_colet c where c.id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", Convert.ToInt32(emp.Coordenada.LocalColetaTexto), DbType.Int32); emp.Coordenada.LocalColetaTexto = bancoDeDados.ExecutarScalar <string>(comando); } #endregion #endregion } #endregion return(requerimento); }
public RequerimentoRelatorio Obter(int id) { RequerimentoRelatorio requerimento = new RequerimentoRelatorio(); string tid = string.Empty; int hst = 0; int aux = 0; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(EsquemaBanco)) { #region Obter TID Comando comando = bancoDeDados.CriarComando(@"select (case when r.situacao = 3 then (select h.tid from {0}hst_requerimento h where h.data_execucao = (select max(a.data_execucao) from {0}hst_requerimento a where a.requerimento_id = :id and a.situacao_id = 2)) else r.tid end) tid from {0}tab_requerimento r where r.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); tid = bancoDeDados.ExecutarScalar <string>(comando); #endregion #region Requerimento comando = bancoDeDados.CriarComando(@" select r.id, r.autor_id, r.interessado_id, r.empreendimento_id, r.situacao_id, r.situacao_texto, r.agendamento_texto, se.municipio_texto, r.setor_id, r.informacoes, trunc(r.data_criacao) data_criacao, to_char(r.data_criacao, 'dd') dia, to_char(r.data_criacao, 'MM') mes, to_char(r.data_criacao, 'yyyy') ano from {0}hst_requerimento r, {0}hst_setor s, {0}hst_setor_endereco se where r.setor_id = s.setor_id(+) and r.setor_tid = se.tid(+) and s.id = se.id_hst and r.requerimento_id = :id and r.tid = :tid" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, tid); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { hst = reader.GetValue <int>("id"); requerimento.Id = id; requerimento.AutorId = reader.GetValue <int>("autor_id"); requerimento.Interessado.Id = reader.GetValue <int>("interessado_id"); requerimento.Empreendimento.Id = reader.GetValue <int>("empreendimento_id"); requerimento.SituacaoId = reader.GetValue <int>("situacao_id"); requerimento.SituacaoTexto = reader.GetValue <string>("situacao_texto"); requerimento.AgendamentoVistoria = reader.GetValue <string>("agendamento_texto"); requerimento.Municipio = reader.GetValue <string>("municipio_texto"); requerimento.SetorId = reader.GetValue <int>("setor_id"); requerimento.Informacoes = reader.GetValue <string>("informacoes"); requerimento.DataCadastro = reader.GetValue <DateTime>("data_criacao"); requerimento.DiaCadastro = reader.GetValue <string>("dia"); int mes = reader.GetValue <int>("mes"); requerimento.MesCadastro = _configSys.Obter <List <String> >(ConfiguracaoSistema.KeyMeses).ElementAt(mes - 1); requerimento.AnoCadastro = reader.GetValue <string>("ano"); } reader.Close(); } #endregion #region Atividades comando = bancoDeDados.CriarComando(@" select a.id, a.atividade, a.tid, b.atividade atividade_texto, b.conclusao from {0}tab_requerimento_atividade a, {0}tab_atividade b where a.atividade = b.id and a.requerimento = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { RequerimentoAtividadeRelatorio atividade; while (reader.Read()) { atividade = new RequerimentoAtividadeRelatorio(); atividade.IdRelacionamento = Convert.ToInt32(reader["id"]); atividade.Id = Convert.ToInt32(reader["atividade"]); atividade.NomeAtividade = reader["atividade_texto"].ToString(); atividade.Conclusao = reader["conclusao"].ToString(); #region Atividades/Finalidades/Modelos comando = bancoDeDados.CriarComando(@" select a.id, a.finalidade, ltf.texto finalidade_texto, a.modelo, tm.nome modelo_nome, a.titulo_anterior_tipo, a.titulo_anterior_id, a.titulo_anterior_numero, a.modelo_anterior_id, a.modelo_anterior_nome, a.modelo_anterior_sigla, a.orgao_expedidor from {0}tab_requerimento_ativ_finalida a, {0}tab_titulo_modelo tm, {0}lov_titulo_finalidade ltf where a.modelo = tm.id and a.finalidade = ltf.id(+) and a.requerimento_ativ = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", atividade.IdRelacionamento, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { Finalidade fin; while (readerAux.Read()) { fin = new Finalidade(); fin.IdRelacionamento = Convert.ToInt32(readerAux["id"]); fin.OrgaoExpedidor = readerAux["orgao_expedidor"].ToString(); if (readerAux["finalidade"] != DBNull.Value) { fin.Id = Convert.ToInt32(readerAux["finalidade"]); fin.Texto = readerAux["finalidade_texto"].ToString(); } if (readerAux["modelo"] != DBNull.Value) { fin.TituloModelo = Convert.ToInt32(readerAux["modelo"]); fin.TituloModeloTexto = readerAux["modelo_nome"].ToString(); } if (readerAux["modelo_anterior_id"] != DBNull.Value) { fin.TituloModeloAnteriorId = Convert.ToInt32(readerAux["modelo_anterior_id"]); } fin.TituloModeloAnteriorTexto = readerAux["modelo_anterior_nome"].ToString(); fin.TituloModeloAnteriorSigla = readerAux["modelo_anterior_sigla"].ToString(); if (readerAux["titulo_anterior_tipo"] != DBNull.Value) { fin.TituloAnteriorTipo = Convert.ToInt32(readerAux["titulo_anterior_tipo"]); } if (readerAux["titulo_anterior_id"] != DBNull.Value) { fin.TituloAnteriorId = Convert.ToInt32(readerAux["titulo_anterior_id"]); } fin.TituloAnteriorNumero = readerAux["titulo_anterior_numero"].ToString(); fin.EmitidoPorInterno = (fin.TituloAnteriorTipo != 3); atividade.Finalidades.Add(fin); } readerAux.Close(); } #endregion requerimento.Atividades.Add(atividade); } reader.Close(); } #endregion #region Interessado comando = bancoDeDados.CriarComando(@" select p.id, p.tipo, p.cpf, p.nome, p.rg, p.apelido, tp.texto profissao, p.cnpj, p.razao_social, p.ie, p.nome_fantasia from {0}hst_requerimento r, {0}hst_pessoa p, {0}hst_pessoa_profissao pp, {0}tab_profissao tp where r.interessado_id = p.pessoa_id and r.interessado_tid = p.tid and p.data_execucao = (select max(h.data_execucao) from {0}hst_pessoa h where h.pessoa_id = p.pessoa_id and h.tid = p.tid) and p.id = pp.id_hst(+) and pp.profissao_id = tp.id(+) and r.id = :hst" , EsquemaBanco); comando.AdicionarParametroEntrada("hst", hst, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { aux = reader.GetValue <int>("id"); requerimento.Interessado.Id = requerimento.Interessado.Id; requerimento.Interessado.Tipo = reader.GetValue <int>("tipo"); if (requerimento.Interessado.IsFisica) { requerimento.Interessado.Fisica.CPF = reader.GetValue <string>("cpf"); requerimento.Interessado.Fisica.Nome = reader.GetValue <string>("nome"); requerimento.Interessado.Fisica.RG = reader.GetValue <string>("rg"); requerimento.Interessado.Fisica.Apelido = reader.GetValue <string>("apelido"); requerimento.Interessado.Fisica.Profissao = reader.GetValue <string>("profissao"); } else // juridica { requerimento.Interessado.Juridica.CNPJ = reader.GetValue <string>("cnpj"); requerimento.Interessado.Juridica.RazaoSocial = reader.GetValue <string>("razao_social"); requerimento.Interessado.Juridica.IE = reader.GetValue <string>("ie"); requerimento.Interessado.Juridica.NomeFantasia = reader.GetValue <string>("nome_fantasia"); } } #region Meio de Contato comando = bancoDeDados.CriarComando(@"select pc.pes_meio_cont_id id, pc.meio_contato_id, c.texto contato_texto, pc.valor from {0}hst_pessoa_meio_contato pc, {0}tab_meio_contato c where pc.meio_contato_id = c.id and pc.id_hst = :hst" , EsquemaBanco); comando.AdicionarParametroEntrada("hst", aux, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { ContatoRelatorio contato; while (readerAux.Read()) { contato = new ContatoRelatorio(); contato.Id = readerAux.GetValue <int>("id"); contato.PessoaId = requerimento.Interessado.Id; contato.TipoContato = (eTipoContato)Enum.Parse(contato.TipoContato.GetType(), readerAux.GetValue <string>("meio_contato_id")); contato.TipoTexto = readerAux.GetValue <string>("contato_texto"); contato.Valor = readerAux.GetValue <string>("valor"); requerimento.Interessado.MeiosContatos.Add(contato); } readerAux.Close(); } #endregion #region Endereços comando = bancoDeDados.CriarComando(@" select e.endereco_id id, e.cep, e.logradouro, e.bairro, e.estado_id, le.sigla estado_sigla, e.municipio_id, e.municipio_texto, e.numero, e.complemento, e.distrito from {0}hst_pessoa_endereco e, {0}lov_estado le where e.estado_id = le.id and e.id_hst = :hst" , EsquemaBanco); comando.AdicionarParametroEntrada("hst", aux, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { if (readerAux.Read()) { requerimento.Interessado.Endereco.Id = readerAux.GetValue <int>("id"); requerimento.Interessado.Endereco.Cep = readerAux.GetValue <string>("cep"); requerimento.Interessado.Endereco.Logradouro = readerAux.GetValue <string>("logradouro"); requerimento.Interessado.Endereco.Bairro = readerAux.GetValue <string>("bairro"); requerimento.Interessado.Endereco.EstadoId = readerAux.GetValue <int>("estado_id"); requerimento.Interessado.Endereco.EstadoSigla = readerAux.GetValue <string>("estado_sigla"); requerimento.Interessado.Endereco.MunicipioId = readerAux.GetValue <int>("municipio_id"); requerimento.Interessado.Endereco.MunicipioTexto = readerAux.GetValue <string>("municipio_texto"); requerimento.Interessado.Endereco.Numero = readerAux.GetValue <string>("numero"); requerimento.Interessado.Endereco.Complemento = readerAux.GetValue <string>("complemento"); requerimento.Interessado.Endereco.Distrito = readerAux.GetValue <string>("distrito"); } readerAux.Close(); } #endregion reader.Close(); } #endregion #region Responsáveis comando = bancoDeDados.CriarComando(@" select p.id, r.responsavel_id, r.funcao_texto, r.numero_art, nvl(p.nome, p.razao_social) nome, nvl(p.cpf, p.cnpj) cpf_cnpj, nvl(p.rg, p.ie) rg_ie, p.tipo, trunc(p.data_nascimento) data_nascimento from {0}hst_requerimento_responsavel r, {0}hst_pessoa p where r.responsavel_id = p.pessoa_id and r.responsavel_tid = p.tid and p.data_execucao = (select max(h.data_execucao) from {0}hst_pessoa h where h.pessoa_id = p.pessoa_id and h.tid = p.tid) and r.id_hst = :hst" , EsquemaBanco); comando.AdicionarParametroEntrada("hst", hst, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { ResponsavelTecnicoRelatorio responsavel; while (reader.Read()) { aux = reader.GetValue <int>("id"); responsavel = new ResponsavelTecnicoRelatorio(); responsavel.Id = reader.GetValue <int>("responsavel_id"); responsavel.FuncaoTexto = reader.GetValue <string>("funcao_texto"); responsavel.CpfCnpj = reader.GetValue <string>("cpf_cnpj"); responsavel.RgIe = reader.GetValue <string>("rg_ie"); responsavel.NomeRazao = reader.GetValue <string>("nome"); responsavel.NumeroArt = reader.GetValue <string>("numero_art"); responsavel.DataVencimento = "Falta"; if (reader["data_nascimento"] != null && !Convert.IsDBNull(reader["data_nascimento"])) { responsavel.DataNascimento = reader.GetValue <DateTime>("data_nascimento").ToShortDateString(); } #region Meio de Contato comando = bancoDeDados.CriarComando(@"select pc.pes_meio_cont_id id, pc.meio_contato_id, c.texto contato_texto, pc.valor from {0}hst_pessoa_meio_contato pc, {0}tab_meio_contato c where pc.meio_contato_id = c.id and pc.id_hst = :hst" , EsquemaBanco); comando.AdicionarParametroEntrada("hst", aux, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { ContatoRelatorio contato; while (readerAux.Read()) { contato = new ContatoRelatorio(); contato.Id = readerAux.GetValue <int>("id"); contato.PessoaId = responsavel.Id; contato.TipoContato = (eTipoContato)Enum.Parse(contato.TipoContato.GetType(), readerAux.GetValue <string>("meio_contato_id")); contato.TipoTexto = readerAux.GetValue <string>("contato_texto"); contato.Valor = readerAux.GetValue <string>("valor"); responsavel.MeiosContatos.Add(contato); } readerAux.Close(); } #endregion #region Endereços comando = bancoDeDados.CriarComando(@" select e.endereco_id id, e.cep, e.logradouro, e.bairro, e.estado_id, le.sigla estado_sigla, e.municipio_id, e.municipio_texto, e.numero, e.complemento, e.distrito from {0}hst_pessoa_endereco e, {0}lov_estado le where e.estado_id = le.id and e.id_hst = :hst" , EsquemaBanco); comando.AdicionarParametroEntrada("hst", aux, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { if (readerAux.Read()) { responsavel.Endereco.Id = readerAux.GetValue <int>("id"); responsavel.Endereco.Cep = readerAux.GetValue <string>("cep"); responsavel.Endereco.Logradouro = readerAux.GetValue <string>("logradouro"); responsavel.Endereco.Bairro = readerAux.GetValue <string>("bairro"); responsavel.Endereco.EstadoId = readerAux.GetValue <int>("estado_id"); responsavel.Endereco.EstadoSigla = readerAux.GetValue <string>("estado_sigla"); responsavel.Endereco.MunicipioId = readerAux.GetValue <int>("municipio_id"); responsavel.Endereco.MunicipioTexto = readerAux.GetValue <string>("municipio_texto"); responsavel.Endereco.Numero = readerAux.GetValue <string>("numero"); responsavel.Endereco.Complemento = readerAux.GetValue <string>("complemento"); responsavel.Endereco.Distrito = readerAux.GetValue <string>("distrito"); } readerAux.Close(); } #endregion requerimento.Responsaveis.Add(responsavel); } reader.Close(); } #endregion #region Empreendimento comando = bancoDeDados.CriarComando(@" select e.id, e.codigo, e.cnpj, e.segmento_texto, e.denominador, e.nome_fantasia, a.atividade from {0}hst_requerimento r, {0}hst_empreendimento e, {0}hst_empreendimento_atividade a where r.empreendimento_id = e.empreendimento_id and r.empreendimento_tid = e.tid and e.atividade_id = a.atividade_id(+) and e.atividade_tid = a.tid(+) and r.id = :hst" , EsquemaBanco); comando.AdicionarParametroEntrada("hst", hst, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { aux = reader.GetValue <int>("id"); requerimento.Empreendimento.Id = requerimento.Empreendimento.Id; requerimento.Empreendimento.Codigo = reader.GetValue <int>("codigo"); requerimento.Empreendimento.CNPJ = reader.GetValue <string>("cnpj"); requerimento.Empreendimento.SegmentoTexto = reader.GetValue <string>("segmento_texto"); requerimento.Empreendimento.NomeRazao = reader.GetValue <string>("denominador"); requerimento.Empreendimento.NomeFantasia = reader.GetValue <string>("nome_fantasia"); requerimento.Empreendimento.AtividadeTexto = reader.GetValue <string>("atividade"); } #region Endereços comando = bancoDeDados.CriarComando(@" select e.endereco_id id, e.correspondencia, e.cep, e.logradouro, e.bairro, e.estado_id, le.sigla estado_sigla, e.municipio_id, e.municipio_texto, e.numero, e.complemento, e.corrego, (case when e.zona = 1 then 'Urbana' else 'Rural' end) zona, e.distrito, e.complemento from {0}hst_empreendimento_endereco e, {0}lov_estado le where e.estado_id = le.id(+) and e.id_hst = :hst" , EsquemaBanco); comando.AdicionarParametroEntrada("hst", aux, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { EnderecoRelatorio end; while (readerAux.Read()) { end = new EnderecoRelatorio(); end.Id = readerAux.GetValue <int>("id"); end.Correspondencia = readerAux.GetValue <int>("correspondencia"); end.Cep = readerAux.GetValue <string>("cep"); end.Logradouro = readerAux.GetValue <string>("logradouro"); end.Bairro = readerAux.GetValue <string>("bairro"); end.EstadoId = readerAux.GetValue <int>("estado_id"); end.EstadoSigla = readerAux.GetValue <string>("estado_sigla"); end.MunicipioId = readerAux.GetValue <int>("municipio_id"); end.MunicipioTexto = readerAux.GetValue <string>("municipio_texto"); end.Numero = readerAux.GetValue <string>("numero"); end.Complemento = readerAux.GetValue <string>("complemento"); end.Corrego = readerAux.GetValue <string>("corrego"); end.Zona = readerAux.GetValue <string>("zona"); end.Distrito = readerAux.GetValue <string>("distrito"); end.Complemento = readerAux.GetValue <string>("complemento"); requerimento.Empreendimento.Enderecos.Add(end); } readerAux.Close(); } #endregion #region Coordenada comando = bancoDeDados.CriarComando(@" select ec.coordenada_id, ec.tipo_coordenada_id, ec.tipo_coordenada_texto, ec.datum_id, ec.easting_utm, ec.northing_utm, ec.fuso_utm, ec.hemisferio_utm_id, ec.latitude_gms, ec.longitude_gms, ec.latitude_gdec, ec.longitude_gdec, ec.forma_coleta_texto, ec.local_coleta_texto, ec.datum_texto, ec.hemisferio_utm_texto from {0}hst_empreendimento_coord ec where ec.id_hst = :hst" , EsquemaBanco); comando.AdicionarParametroEntrada("hst", aux, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { if (readerAux.Read()) { requerimento.Empreendimento.Coordenada.Id = readerAux.GetValue <int>("coordenada_id"); requerimento.Empreendimento.Coordenada.Tipo.Id = readerAux.GetValue <int>("tipo_coordenada_id"); requerimento.Empreendimento.Coordenada.Tipo.Texto = readerAux.GetValue <string>("tipo_coordenada_texto"); requerimento.Empreendimento.Coordenada.Datum.Id = readerAux.GetValue <int>("datum_id"); requerimento.Empreendimento.Coordenada.EastingUtm = readerAux.GetValue <double>("easting_utm"); requerimento.Empreendimento.Coordenada.NorthingUtm = readerAux.GetValue <double>("northing_utm"); requerimento.Empreendimento.Coordenada.FusoUtm = readerAux.GetValue <int>("fuso_utm"); requerimento.Empreendimento.Coordenada.HemisferioUtm = readerAux.GetValue <int>("hemisferio_utm_id"); requerimento.Empreendimento.Coordenada.LatitudeGms = readerAux.GetValue <string>("latitude_gms"); requerimento.Empreendimento.Coordenada.LongitudeGms = readerAux.GetValue <string>("longitude_gms"); requerimento.Empreendimento.Coordenada.LatitudeGdec = readerAux.GetValue <double>("latitude_gdec"); requerimento.Empreendimento.Coordenada.LongitudeGdec = readerAux.GetValue <double>("longitude_gdec"); requerimento.Empreendimento.Coordenada.FormaColetaTexto = readerAux.GetValue <string>("forma_coleta_texto"); requerimento.Empreendimento.Coordenada.LocalColetaTexto = readerAux.GetValue <string>("local_coleta_texto"); requerimento.Empreendimento.Coordenada.DatumTexto = readerAux.GetValue <string>("datum_texto"); requerimento.Empreendimento.Coordenada.HemisferioUtmTexto = readerAux.GetValue <string>("hemisferio_utm_texto"); } readerAux.Close(); } #endregion #region Meio de Contato comando = bancoDeDados.CriarComando(@"select ec.emp_contato_id id, c.id tipo_contato_id, c.texto contato_texto, ec.valor from {0}hst_empreendimento_contato ec, {0}tab_meio_contato c where ec.meio_contato_id = c.id and ec.id_hst = :hst" , EsquemaBanco); comando.AdicionarParametroEntrada("hst", aux, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { ContatoRelatorio contato; while (readerAux.Read()) { contato = new ContatoRelatorio(); contato.Id = readerAux.GetValue <int>("id"); contato.PessoaId = requerimento.Empreendimento.Id; contato.TipoContato = (eTipoContato)Enum.Parse(contato.TipoContato.GetType(), readerAux.GetValue <string>("tipo_contato_id")); contato.TipoTexto = readerAux.GetValue <string>("contato_texto"); contato.Valor = readerAux.GetValue <string>("valor"); requerimento.Empreendimento.MeiosContatos.Add(contato); } readerAux.Close(); } #endregion reader.Close(); } #endregion } if (requerimento.AutorId > 0) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { #region Elaborador Comando comando = bancoDeDados.CriarComando(@" select nvl(p.nome, p.razao_social) NomeRazaoSocial, lc.texto TipoTexto from {0}tab_credenciado c, {0}tab_pessoa p, {0}lov_credenciado_tipo lc where c.pessoa = p.id and c.tipo = lc.id and c.id = :id" , UsuarioCredenciado); comando.AdicionarParametroEntrada("id", requerimento.AutorId, DbType.Int32); requerimento.UsuarioCredenciado = bancoDeDados.ObterEntity <CredenciadoRelatorio>(comando); #endregion } } return(requerimento); }
public IProtocolo Obter(int id, bool simplificado = false, bool atividades = false, BancoDeDados banco = null) { Protocolo protocolo = new Protocolo(); Documento documento = new Documento(); if (id <= 0) { return(new Protocolo()); } using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Protocolo Comando comando = bancoDeDados.CriarComando(@" select r.id, r.fiscalizacao, f.situacao fiscalizacao_situacao, r.numero, r.ano, r.nome, r.tipo, r.protocolo, trunc(r.data_criacao) data_criacao, r.numero_autuacao, trunc(r.data_autuacao) data_autuacao, r.volume, r.checagem, r.checagem_pendencia, r.requerimento, to_char(tr.data_criacao, 'dd/mm/yyyy') data_requerimento, tr.situacao requerimento_situacao, r.interessado, nvl(p.nome, p.razao_social) interessado_nome, nvl(p.cpf, p.cnpj) interessado_cpf_cnpj, p.tipo interessado_tipo, lpt.texto tipo_texto, r.empreendimento, e.cnpj empreendimento_cnpj, e.denominador, r.situacao, ls.texto situacao_texto, r.protocolo_associado, r.emposse, r.arquivo, r.tid, r.setor, r.setor_criacao, lfs.texto fiscalizacao_sit_texto, r.interessado_livre, r.interessado_livre_telefone, r.folhas, r.assunto, r.descricao, r.destinatario, r.destinatario_setor, d.id destinatario_id, d.tid destinatario_tid, d.nome destinatario_nome, s.id destinatario_setor_id, s.sigla destinatario_setor_sigla, s.nome destinatario_setor_nome from {0}tab_protocolo r, {0}tab_pessoa p, {0}tab_fiscalizacao f, {0}tab_empreendimento e, {0}lov_protocolo_situacao ls, {0}lov_protocolo_tipo lpt, {0}tab_requerimento tr, {0}lov_fiscalizacao_situacao lfs, {0}tab_setor s, {0}tab_funcionario d where r.interessado = p.id(+) and r.empreendimento = e.id(+) and r.situacao = ls.id and lpt.id = r.tipo and r.requerimento = tr.id(+) and r.fiscalizacao = f.id(+) and f.situacao = lfs.id(+) and r.destinatario_setor = s.id(+) and r.destinatario = d.id(+) and r.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { #region Dados base protocolo.Id = id; protocolo.Tid = reader["tid"].ToString(); if (reader["fiscalizacao"] != null && !Convert.IsDBNull(reader["fiscalizacao"])) { protocolo.Fiscalizacao.Id = Convert.ToInt32(reader["fiscalizacao"]); protocolo.Fiscalizacao.SituacaoId = Convert.ToInt32(reader["fiscalizacao_situacao"]); protocolo.Fiscalizacao.SituacaoTexto = reader.GetValue <string>("fiscalizacao_sit_texto"); } if (reader["numero"] != null && !Convert.IsDBNull(reader["numero"])) { protocolo.NumeroProtocolo = Convert.ToInt32(reader["numero"]); } if (reader["ano"] != null && !Convert.IsDBNull(reader["ano"])) { protocolo.Ano = Convert.ToInt32(reader["ano"]); } protocolo.NumeroAutuacao = reader["numero_autuacao"].ToString(); if (reader["data_autuacao"] != null && !Convert.IsDBNull(reader["data_autuacao"])) { protocolo.DataAutuacao.Data = Convert.ToDateTime(reader["data_autuacao"]); } protocolo.DataCadastro.Data = Convert.ToDateTime(reader["data_criacao"]); if (reader["setor"] != null && !Convert.IsDBNull(reader["setor"])) { protocolo.SetorId = Convert.ToInt32(reader["setor"]); } if (reader["setor_criacao"] != null && !Convert.IsDBNull(reader["setor_criacao"])) { protocolo.SetorCriacaoId = Convert.ToInt32(reader["setor_criacao"]); } if (reader["tipo"] != null && !Convert.IsDBNull(reader["tipo"])) { protocolo.Tipo.Id = Convert.ToInt32(reader["tipo"]); protocolo.Tipo.Texto = reader["tipo_texto"].ToString(); } if (reader["volume"] != null && !Convert.IsDBNull(reader["volume"])) { protocolo.Volume = Convert.ToInt32(reader["volume"]); } if (reader["checagem"] != null && !Convert.IsDBNull(reader["checagem"])) { protocolo.ChecagemRoteiro.Id = Convert.ToInt32(reader["checagem"]); } if (reader["requerimento"] != null && !Convert.IsDBNull(reader["requerimento"])) { protocolo.Requerimento.Id = Convert.ToInt32(reader["requerimento"]); protocolo.Requerimento.SituacaoId = Convert.ToInt32(reader["requerimento_situacao"]); protocolo.Requerimento.DataCadastro = Convert.ToDateTime(reader["data_requerimento"]); protocolo.Requerimento.ProtocoloId = protocolo.Id.Value; protocolo.Requerimento.ProtocoloTipo = 1; } if (reader["interessado"] != null && !Convert.IsDBNull(reader["interessado"])) { protocolo.Interessado.Id = Convert.ToInt32(reader["interessado"]); protocolo.Interessado.Tipo = Convert.ToInt32(reader["interessado_tipo"]); if (reader["interessado_tipo"].ToString() == "1") { protocolo.Interessado.Fisica.Nome = reader["interessado_nome"].ToString(); protocolo.Interessado.Fisica.CPF = reader["interessado_cpf_cnpj"].ToString(); } else { protocolo.Interessado.Juridica.RazaoSocial = reader["interessado_nome"].ToString(); protocolo.Interessado.Juridica.CNPJ = reader["interessado_cpf_cnpj"].ToString(); } } if (reader["interessado_livre"] != null && !Convert.IsDBNull(reader["interessado_livre"])) { protocolo.InteressadoLivre = reader["interessado_livre"].ToString(); } if (reader["interessado_livre_telefone"] != null && !Convert.IsDBNull(reader["interessado_livre_telefone"])) { protocolo.InteressadoLivreTelefone = reader["interessado_livre_telefone"].ToString(); } if (reader["folhas"] != null && !Convert.IsDBNull(reader["folhas"])) { protocolo.Folhas = Convert.ToInt32(reader["folhas"]); } if (reader["empreendimento"] != null && !Convert.IsDBNull(reader["empreendimento"])) { protocolo.Empreendimento.Id = Convert.ToInt32(reader["empreendimento"]); protocolo.Empreendimento.Denominador = reader["denominador"].ToString(); protocolo.Empreendimento.CNPJ = reader["empreendimento_cnpj"].ToString(); } if (reader["emposse"] != null && !Convert.IsDBNull(reader["emposse"])) { protocolo.Emposse.Id = Convert.ToInt32(reader["emposse"]); } if (reader["situacao"] != null && !Convert.IsDBNull(reader["situacao"])) { protocolo.SituacaoId = Convert.ToInt32(reader["situacao"]); protocolo.SituacaoTexto = reader["situacao_texto"].ToString(); } if (reader["arquivo"] != null && !Convert.IsDBNull(reader["arquivo"])) { protocolo.Arquivo.Id = Convert.ToInt32(reader["arquivo"]); } if (reader["protocolo"] != null && !Convert.IsDBNull(reader["protocolo"])) { protocolo.IsProcesso = Convert.ToInt32(reader["protocolo"]) == 1; } #endregion if (!protocolo.IsProcesso) { documento = new Documento(protocolo); documento.Nome = reader["nome"].ToString(); documento.Assunto = reader["assunto"].ToString(); documento.Descricao = reader["descricao"].ToString(); if (reader["destinatario_id"] != null && !Convert.IsDBNull(reader["destinatario_id"])) { documento.Destinatario.Id = Convert.ToInt32(reader["destinatario_id"]); } documento.Destinatario.Nome = reader["destinatario_nome"].ToString(); if (reader["destinatario_setor_id"] != null && !Convert.IsDBNull(reader["destinatario_setor_id"])) { documento.DestinatarioSetor.Id = Convert.ToInt32(reader["destinatario_setor_id"]); } documento.DestinatarioSetor.Nome = reader["destinatario_setor_nome"].ToString(); if (reader["protocolo_associado"] != null && !Convert.IsDBNull(reader["protocolo_associado"])) { documento.ProtocoloAssociado = new Protocolo(ObterProtocolo(Convert.ToInt32(reader["protocolo_associado"]))); } if (reader["checagem_pendencia"] != null && !Convert.IsDBNull(reader["checagem_pendencia"])) { documento.ChecagemPendencia.Id = Convert.ToInt32(reader["checagem_pendencia"]); } } } reader.Close(); } if (simplificado) { if (protocolo.IsProcesso) { return(new Processo(protocolo)); } else { return(documento); } } #endregion #region Atividades comando = bancoDeDados.CriarComando(@"select b.id, b.atividade, a.atividade atividade_texto, b.situacao atividade_situacao_id, (select s.texto from lov_atividade_situacao s where s.id = b.situacao) atividade_situacao_texto, a.setor, b.motivo, b.tid from {0}tab_atividade a, {0}tab_protocolo_atividades b where a.id = b.atividade and b.protocolo = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Atividade atividade; while (reader.Read()) { atividade = new Atividade(); atividade.Id = Convert.ToInt32(reader["atividade"]); atividade.IdRelacionamento = Convert.ToInt32(reader["id"]); atividade.Tid = reader["tid"].ToString(); atividade.NomeAtividade = reader["atividade_texto"].ToString(); atividade.SituacaoId = Convert.ToInt32(reader["atividade_situacao_id"]); atividade.SituacaoTexto = reader["atividade_situacao_texto"].ToString(); atividade.SetorId = Convert.ToInt32(reader["setor"]); atividade.Motivo = reader["motivo"].ToString(); #region Atividades/Finalidades/Modelos comando = bancoDeDados.CriarComando(@"select a.id, a.finalidade, ltf.texto finalidade_texto, a.modelo, tm.nome modelo_nome, a.titulo_anterior_tipo, a.titulo_anterior_id, a.titulo_anterior_numero, a.modelo_anterior_id, a.modelo_anterior_nome, a.modelo_anterior_sigla, a.orgao_expedidor from {0}tab_protocolo_ativ_finalida a, {0}tab_titulo_modelo tm, {0}lov_titulo_finalidade ltf where a.modelo = tm.id and a.finalidade = ltf.id(+) and a.protocolo_ativ = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", atividade.IdRelacionamento, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { Finalidade fin; while (readerAux.Read()) { fin = new Finalidade(); fin.IdRelacionamento = Convert.ToInt32(readerAux["id"]); fin.OrgaoExpedidor = readerAux["orgao_expedidor"].ToString(); if (readerAux["finalidade"] != DBNull.Value) { fin.Id = Convert.ToInt32(readerAux["finalidade"]); fin.Texto = readerAux["finalidade_texto"].ToString(); } if (readerAux["modelo"] != DBNull.Value) { fin.TituloModelo = Convert.ToInt32(readerAux["modelo"]); fin.TituloModeloTexto = readerAux["modelo_nome"].ToString(); } if (readerAux["modelo_anterior_id"] != DBNull.Value) { fin.TituloModeloAnteriorId = Convert.ToInt32(readerAux["modelo_anterior_id"]); } fin.TituloModeloAnteriorTexto = readerAux["modelo_anterior_nome"].ToString(); fin.TituloModeloAnteriorSigla = readerAux["modelo_anterior_sigla"].ToString(); if (readerAux["titulo_anterior_tipo"] != DBNull.Value) { fin.TituloAnteriorTipo = Convert.ToInt32(readerAux["titulo_anterior_tipo"]); } if (readerAux["titulo_anterior_id"] != DBNull.Value) { fin.TituloAnteriorId = Convert.ToInt32(readerAux["titulo_anterior_id"]); } fin.TituloAnteriorNumero = readerAux["titulo_anterior_numero"].ToString(); fin.EmitidoPorInterno = (fin.TituloAnteriorTipo != 3); atividade.Finalidades.Add(fin); } readerAux.Close(); } #endregion protocolo.Atividades.Add(atividade); } reader.Close(); } if (atividades) { if (protocolo.IsProcesso) { return(new Processo(protocolo)); } else { return(documento); } } #endregion #region Responsáveis comando = bancoDeDados.CriarComando(@"select pr.id, pr.responsavel, pr.funcao, nvl(p.nome, p.razao_social) nome, pr.numero_art, nvl(p.cpf, p.cnpj) cpf_cnpj, p.tipo from {0}tab_protocolo_responsavel pr, {0}tab_pessoa p where pr.responsavel = p.id and pr.protocolo = :protocolo" , EsquemaBanco); comando.AdicionarParametroEntrada("protocolo", protocolo.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { ResponsavelTecnico responsavel; while (reader.Read()) { responsavel = new ResponsavelTecnico(); responsavel.IdRelacionamento = Convert.ToInt32(reader["id"]); responsavel.Id = Convert.ToInt32(reader["responsavel"]); responsavel.Funcao = Convert.ToInt32(reader["funcao"]); responsavel.CpfCnpj = reader["cpf_cnpj"].ToString(); responsavel.NomeRazao = reader["nome"].ToString(); responsavel.NumeroArt = reader["numero_art"].ToString(); protocolo.Responsaveis.Add(responsavel); } reader.Close(); } #endregion #region Assinantes comando = bancoDeDados.CriarComando(@"select ta.id, ta.protocolo, f.id func_id, f.nome func_nome, ta.cargo, c.nome cargo_nome, ta.tid from tab_protocolo_assinantes ta, tab_funcionario f, tab_cargo c where ta.funcionario = f.id and ta.cargo = c.id and ta.protocolo = :protocolo" , EsquemaBanco); comando.AdicionarParametroEntrada("protocolo", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { TituloAssinante item = new TituloAssinante(); item.Id = Convert.ToInt32(reader["id"]); item.Tid = reader["tid"].ToString(); item.FuncionarioId = Convert.ToInt32(reader["func_id"]); item.FuncionarioNome = reader["func_nome"].ToString(); item.FuncionarioCargoId = Convert.ToInt32(reader["cargo"]); item.FuncionarioCargoNome = reader["cargo_nome"].ToString(); item.Selecionado = true; if (reader["cargo"] != null && !Convert.IsDBNull(reader["cargo"])) { item.FuncionarioCargoId = Convert.ToInt32(reader["cargo"]); } documento.Assinantes.Add(item); } reader.Close(); } #endregion } if (protocolo.IsProcesso) { return(new Processo(protocolo)); } else { return(documento); } }