コード例 #1
0
        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;

        }
コード例 #2
0
        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;

        }