예제 #1
0
        public RoteiroRelatorio Obter(int id)
        {
            RoteiroRelatorio roteiro = new RoteiroRelatorio();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                #region Roteiro

                Comando comando = bancoDeDados.CriarComando(@"
												select a.numero,
														a.versao,
														a.nome,
														a.observacoes,
														a.setor setor_id,
														ts.nome setor_texto
													from {0}tab_roteiro a, {0}tab_setor ts
													where a.setor = ts.id
													and a.id = :id"                                                    , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        roteiro.Numero      = Convert.ToInt32(reader["numero"]);
                        roteiro.Versao      = Convert.ToInt32(reader["versao"]);
                        roteiro.Nome        = reader["nome"].ToString();
                        roteiro.SetorId     = Convert.ToInt32(reader["setor_id"]);
                        roteiro.SetorTexto  = reader["setor_texto"].ToString();
                        roteiro.Observacoes = reader["observacoes"].ToString();
                    }
                    reader.Close();
                }

                #endregion

                #region Itens do roteiro

                comando = bancoDeDados.CriarComando(@"
											select tri.nome, tri.condicionante, lrit.id tipo, tris.ordem
											  from {0}tab_roteiro_itens     tris,
												   {0}tab_roteiro_item      tri,
												   {0}lov_roteiro_item_tipo lrit
											 where tris.item = tri.id
											   and tri.tipo = lrit.id
											   and tris.roteiro = :roteiro
											 order by tris.ordem"                                            , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    ItemRelatorio item;
                    while (reader.Read())
                    {
                        item               = new ItemRelatorio();
                        item.Nome          = reader["nome"].ToString();
                        item.Condicionante = reader["condicionante"].ToString();
                        item.Tipo          = Convert.ToInt32(reader["tipo"]);
                        item.Ordem         = Convert.ToInt32(reader["ordem"]);
                        roteiro.Itens.Add(item);
                    }
                    reader.Close();
                }

                #endregion

                #region Arquivos do roteiro

                comando = bancoDeDados.CriarComando(@"
											select a.descricao, b.nome, b.extensao, b.id arquivo_id, b.caminho
												from {0}tab_roteiro_arquivo a, {0}tab_arquivo b
												where a.arquivo = b.id
												and a.roteiro = :roteiro
												order by a.ordem"                                                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    AnexoRelatorio item;
                    while (reader.Read())
                    {
                        item           = new AnexoRelatorio();
                        item.Descricao = reader["descricao"].ToString();

                        item.Arquivo.Id       = Convert.ToInt32(reader["arquivo_id"]);
                        item.Arquivo.Caminho  = reader["caminho"].ToString();
                        item.Arquivo.Nome     = reader["nome"].ToString();
                        item.Arquivo.Extensao = reader["extensao"].ToString();

                        roteiro.Anexos.Add(item);
                    }
                    reader.Close();
                }

                #endregion
            }
            return(roteiro);
        }
예제 #2
0
        public RoteiroRelatorio Obter(int id, string tid)
        {
            RoteiroRelatorio roteiro = new RoteiroRelatorio();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                #region Roteiro

                int     historicoRoteiroId = 0;
                Comando comando            = bancoDeDados.CriarComando(@"
											select a.id,
													a.numero,
													a.versao,
													a.nome,
													a.observacoes,
													a.setor_id,
													ts.nome setor_texto
												from {0}hst_roteiro a, {0}tab_setor ts
												where a.setor_id = ts.id
												and a.roteiro_id = :id
												and a.tid = :tid"                                                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        historicoRoteiroId  = Convert.ToInt32(reader["id"]);
                        roteiro.Numero      = Convert.ToInt32(reader["numero"]);
                        roteiro.Versao      = Convert.ToInt32(reader["versao"]);
                        roteiro.Nome        = reader["nome"].ToString();
                        roteiro.Observacoes = reader["observacoes"].ToString();
                        roteiro.SetorId     = Convert.ToInt32(reader["setor_id"]);
                        roteiro.SetorTexto  = reader["setor_texto"].ToString();
                    }
                    reader.Close();
                }

                #endregion

                #region Itens do roteiro

                comando = bancoDeDados.CriarComando(@" 
									select tr.nome, tr.condicionante, tr.tipo_id, t.ordem
									   from {0}hst_roteiro_itens t, {0}hst_roteiro_item tr
									  where t.item_id = tr.item_id
										and t.item_tid = tr.tid
										and t.id_hst = :historico_id
									  order by t.ordem"                                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("historico_id", historicoRoteiroId, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    ItemRelatorio item;
                    while (reader.Read())
                    {
                        item = new ItemRelatorio();

                        item.Nome          = reader["nome"].ToString();
                        item.Condicionante = reader["condicionante"].ToString();
                        item.Tipo          = Convert.ToInt32(reader["tipo_id"]);
                        item.Ordem         = Convert.ToInt32(reader["ordem"]);

                        roteiro.Itens.Add(item);
                    }
                    reader.Close();
                }

                #endregion

                #region Arquivos do roteiro

                comando = bancoDeDados.CriarComando(@"
									select t.descricao, ha.arquivo_id, ha.caminho, ha.nome, ha.extensao
									  from {0}hst_roteiro_arquivo t, {0}hst_arquivo ha
									 where t.arquivo_tid = ha.tid
									   and t.id_hst = :historico_id
									 order by t.ordem"                                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("historico_id", historicoRoteiroId, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    AnexoRelatorio item;
                    while (reader.Read())
                    {
                        item = new AnexoRelatorio();

                        item.Descricao        = reader["descricao"].ToString();
                        item.Arquivo.Id       = Convert.ToInt32(reader["arquivo_id"]);
                        item.Arquivo.Caminho  = reader["caminho"].ToString();
                        item.Arquivo.Nome     = reader["nome"].ToString();
                        item.Arquivo.Extensao = reader["extensao"].ToString();

                        roteiro.Anexos.Add(item);
                    }
                    reader.Close();
                }

                #endregion
            }
            return(roteiro);
        }