public override List<Origination_EntProdutora_Tipo> get_Autores_Origination(long IDNivel, IDbConnection conn) { List<Origination_EntProdutora_Tipo> result = new List<Origination_EntProdutora_Tipo>(); //StringBuilder termo_origs = new StringBuilder(); try { string query = string.Format(@" SELECT d.Termo, caep.IDTipoEntidadeProdutora FROM FRDBase frd INNER JOIN SFRDAutor a ON a.IDFRDBase = frd.ID AND a.isDeleted = 0 INNER JOIN ControloAutEntidadeProdutora caep ON caep.IDControloAut = a.IDControloAut AND caep.isDeleted = 0 INNER JOIN ControloAutDicionario cad ON cad.IDControloAut = a.IDControloAut AND cad.IDTipoControloAutForma = 1 AND cad.isDeleted = 0 INNER JOIN Dicionario d ON d.ID = cad.IDDicionario AND d.isDeleted = 0 WHERE frd.IDNivel = {0} AND frd.isDeleted = 0", IDNivel); SqlCommand command = new SqlCommand(query, (SqlConnection)conn); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { Origination_EntProdutora_Tipo elem = new Origination_EntProdutora_Tipo(); // Nao se usa a coluna 0 (IDUpper) if (!reader.IsDBNull(0)) elem.termo = reader.GetString(0); else elem.termo = string.Empty; if (!reader.IsDBNull(1)) elem.IDTipoEntidadeProdutora = reader.GetInt64(1); else elem.IDTipoEntidadeProdutora = -1; result.Add(elem); } reader.Close(); } catch (Exception ex) { Trace.WriteLine(ex); throw; } return result; }
public override List<Origination_EntProdutora_Tipo> get_EntidadesProdutoras_Origination(long IDNivel, IDbConnection conn) { List<Origination_EntProdutora_Tipo> result = new List<Origination_EntProdutora_Tipo>(); //StringBuilder termo_origs = new StringBuilder(); try { string query = string.Format(@" WITH Temp (ID, IDUpper, IDTipoNivelRelacionado) AS ( SELECT ID, IDUpper, IDTipoNivelRelacionado FROM RelacaoHierarquica rh WHERE rh.ID = {0} AND rh.isDeleted = 0 UNION ALL SELECT RelacaoHierarquica.ID, RelacaoHierarquica.IDUpper, RelacaoHierarquica.IDTipoNivelRelacionado FROM RelacaoHierarquica INNER JOIN Temp ON Temp.IDUpper = RelacaoHierarquica.ID WHERE RelacaoHierarquica.IDTipoNivelRelacionado > 6 AND RelacaoHierarquica.isDeleted = 0 ) SELECT IDUpper, Termo, caep.IDTipoEntidadeProdutora FROM Temp INNER JOIN Nivel n ON n.ID = Temp.ID AND n.isDeleted = 0 INNER JOIN Nivel nUpper ON nUpper.ID = Temp.IDUpper AND nUpper.isDeleted = 0 INNER JOIN NivelControloAut nca ON nca.ID = nUpper.ID AND nca.isDeleted = 0 INNER JOIN ControloAutEntidadeProdutora caep ON caep.IDControloAut = nca.IDControloAut AND caep.isDeleted = 0 INNER JOIN ControloAutDicionario cad ON cad.IDControloAut = nca.IDControloAut AND cad.IDTipoControloAutForma = 1 AND cad.isDeleted = 0 INNER JOIN Dicionario d ON d.ID = cad.IDDicionario AND d.isDeleted = 0 WHERE n.IDTipoNivel = 3 AND nUpper.IDTipoNivel = 2 AND n.isDeleted = 0 ", IDNivel); SqlCommand command = new SqlCommand(query, (SqlConnection)conn); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { Origination_EntProdutora_Tipo elem = new Origination_EntProdutora_Tipo(); // Nao se usa a coluna 0 (IDUpper) if (!reader.IsDBNull(1)) elem.termo = reader.GetString(1); else elem.termo = string.Empty; if (!reader.IsDBNull(2)) elem.IDTipoEntidadeProdutora = reader.GetInt64(2); else elem.IDTipoEntidadeProdutora = -1; result.Add(elem); } reader.Close(); } catch (Exception ex) { Trace.WriteLine(ex); throw; } return result; }