Пример #1
0
        public override void LoadDataModuloPermissoes(DataSet CurrentDataSet, Int16 IDTipoFunctionGroup, Int16 IdxTipoFunction, IDbConnection conn)
        {
            using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    command.Parameters.AddWithValue("@IDTipoFunctionGroup", IDTipoFunctionGroup);
                    command.Parameters.AddWithValue("@IdxTipoFunction", IdxTipoFunction);

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["Trustee"]);
                    da.Fill(CurrentDataSet, "Trustee");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["TrusteeUser"]);
                    da.Fill(CurrentDataSet, "TrusteeUser");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["TrusteeGroup"]);
                    da.Fill(CurrentDataSet, "TrusteeGroup");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["UserGroups"]);
                    da.Fill(CurrentDataSet, "UserGroups");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["TrusteePrivilege"],
                                                                                     " WHERE TrusteePrivilege.IDTipoFunctionGroup=@IDTipoFunctionGroup AND TrusteePrivilege.IdxTipoFunction=@IdxTipoFunction");
                    da.Fill(CurrentDataSet, "TrusteePrivilege");
                }
        }
Пример #2
0
        public override void LoadUFControloDescricaoData(DataSet currentDataSet, DataSet newDataSet, long CurrentFRDBaseID, IDbConnection conn)
        {
            string WhereQueryFilter = "WHERE IDFRDBase=@CurrentFRDBaseID";

            string WhereUserQueryFilter = "WHERE ID IN " +
                                          "(SELECT IDTrusteeOperator FROM FRDBaseDataDeDescricao " +
                                          WhereQueryFilter + " UNION " +
                                          "SELECT IDTrusteeAuthority FROM FRDBaseDataDeDescricao " +
                                          WhereQueryFilter + ")";

            using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    command.Parameters.AddWithValue("@CurrentFRDBaseID", CurrentFRDBaseID);
                    command.Parameters.AddWithValue("@IsAuthority", 1);

                    // Load Trustee.IsAuthority=1
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Trustee"], "WHERE ID IN (SELECT ID FROM TrusteeUser WHERE IsAuthority=@IsAuthority)");
                    da.Fill(currentDataSet, "Trustee");
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["TrusteeUser"], "WHERE IsAuthority=@IsAuthority");
                    da.Fill(currentDataSet, "TrusteeUser");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Trustee"], WhereUserQueryFilter);
                    da.Fill(currentDataSet, "Trustee");
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["TrusteeUser"], WhereUserQueryFilter);
                    da.Fill(currentDataSet, "TrusteeUser");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["FRDBaseDataDeDescricao"], WhereQueryFilter);
                    da.Fill(currentDataSet, "FRDBaseDataDeDescricao");
                }
        }
        public override IDataReader GetNoticiasAutoridadeRelaccionadas(DataSet currentDataSet, ArrayList IDs, IDbConnection conn)
        {
            string QueryIndex = string.Format("WHERE ID IN " +
                                              "(" +
                                              "(SELECT IDDicionario FROM ControloAutDicionario cad " +
                                              "INNER JOIN ControloAut ca ON cad.IDTipoControloAutForma=1 AND cad.IDControloAut=ca.ID " +
                                              "INNER JOIN ControloAutRel car ON car.IDControloAut=ca.ID AND car.IDControloAutAlias IN ({0}) " +
                                              "WHERE cad.isDeleted=0 AND ca.isDeleted=0 AND car.isDeleted=0 " +
                                              "UNION " +
                                              "SELECT IDDicionario FROM ControloAutDicionario cad " +
                                              "INNER JOIN ControloAut ca ON cad.IDTipoControloAutForma = 1 And cad.IDControloAut = ca.ID " +
                                              "INNER JOIN ControloAutRel car ON car.IDControloAut IN ({0}) AND car.IDControloAutAlias=ca.ID " +
                                              "WHERE cad.isDeleted=0 AND ca.isDeleted=0 AND car.isDeleted=0) " +
                                              " UNION " +
                                              "(SELECT IDDicionario FROM ControloAutDicionario cad " +
                                              "INNER JOIN ControloAut ca ON cad.IDTipoControloAutForma=1 AND cad.IDControloAut=ca.ID " +
                                              "INNER JOIN NivelControloAut nca ON nca.IDControloAut = ca.ID " +
                                              "INNER JOIN RelacaoHierarquica rhUpper ON rhUpper.ID = nca.ID " +
                                              "INNER JOIN NivelControloAut ncaUpper ON ncaUpper.ID = rhUpper.IDUpper AND ncaUpper.IDControloAut IN ({0}) " +
                                              "WHERE cad.isDeleted=0 AND ca.isDeleted=0 AND nca.isDeleted=0 AND rhUpper.isDeleted=0 AND ncaUpper.isDeleted=0) " +
                                              "UNION " +
                                              "(SELECT IDDicionario FROM ControloAutDicionario cad " +
                                              "INNER JOIN ControloAut ca ON cad.IDTipoControloAutForma=1 AND cad.IDControloAut=ca.ID " +
                                              "INNER JOIN NivelControloAut nca ON nca.IDControloAut = ca.ID " +
                                              "INNER JOIN RelacaoHierarquica rhChild ON rhChild.IDUpper = nca.ID " +
                                              "INNER JOIN NivelControloAut ncaChild ON ncaChild.ID = rhChild.ID AND ncaChild.IDControloAut IN ({0}) " +
                                              "WHERE cad.isDeleted=0 AND ca.isDeleted=0 AND nca.isDeleted=0 AND rhChild.isDeleted=0 AND ncaChild.isDeleted=0) " +
                                              ")", longCollectionToCommaDelimitedString(IDs));

            string        cmd     = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Dicionario"], QueryIndex);
            SqlCommand    command = new SqlCommand(cmd, (SqlConnection)conn);
            SqlDataReader reader  = command.ExecuteReader();

            return(reader);
        }
Пример #4
0
        public override void LoadSFRDImagemFedora(DataSet currentDataSet, long docID, long IDTipoNivelRelacionado, IDbConnection conn)
        {
            using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    command.Parameters.AddWithValue("@docID", docID);
                    command.Parameters.AddWithValue("@IDTipoNivelRelacionado", IDTipoNivelRelacionado);
                    command.Parameters.AddWithValue("@SFRDImagemTipo", "Fedora");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDImagemVolume"]);
                    da.Fill(currentDataSet, "SFRDImagemVolume");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDImagem"],
                                                                                     "INNER JOIN FRDBase ON FRDBase.ID = SFRDImagem.IDFRDBase " +
                                                                                     "WHERE FRDBase.IDNivel=@docID AND SFRDImagem.Tipo=@SFRDImagemTipo");
                    da.Fill(currentDataSet, "SFRDImagem");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["ObjetoDigital"],
                                                                                     "INNER JOIN SFRDImagemObjetoDigital ON SFRDImagemObjetoDigital.IDObjetoDigital = ObjetoDigital.ID " +
                                                                                     "INNER JOIN SFRDImagem ON SFRDImagem.IDFRDBase = SFRDImagemObjetoDigital.IDFRDBase AND SFRDImagem.idx = SFRDImagemObjetoDigital.idx " +
                                                                                     "INNER JOIN FRDBase ON FRDBase.ID = SFRDImagem.IDFRDBase " +
                                                                                     "WHERE FRDBase.IDNivel=@docID AND SFRDImagem.Tipo=@SFRDImagemTipo");
                    da.Fill(currentDataSet, "ObjetoDigital");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDImagemObjetoDigital"],
                                                                                     "INNER JOIN SFRDImagem ON SFRDImagem.IDFRDBase = SFRDImagemObjetoDigital.IDFRDBase AND SFRDImagem.idx = SFRDImagemObjetoDigital.idx " +
                                                                                     "INNER JOIN FRDBase ON FRDBase.ID = SFRDImagem.IDFRDBase " +
                                                                                     "WHERE FRDBase.IDNivel=@docID AND SFRDImagem.Tipo=@SFRDImagemTipo");
                    da.Fill(currentDataSet, "SFRDImagemObjetoDigital");
                }
        }
Пример #5
0
        public override ArrayList Entidade_GetItems(DataSet currentDataSet, int pageNr, int itemsPerPage, string FiltroTermoLike, IDbConnection conn)
        {
            ArrayList rows = new ArrayList();

            using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["MovimentoEntidade"]);
                    da.Fill(currentDataSet, "MovimentoEntidade");

                    command.CommandText = "SELECT * FROM  #OrderedItems  WHERE seq_id >= @seq_id1 AND seq_id <= @seq_id2 ORDER BY Entidade";
                    command.Parameters.AddWithValue("@seq_id1", (pageNr - 1) * itemsPerPage + 1);
                    command.Parameters.AddWithValue("@seq_id2", pageNr * itemsPerPage);
                    SqlDataReader reader = command.ExecuteReader();

                    DataRow[] nRows;
                    while (reader.Read())
                    {
                        nRows = currentDataSet.Tables["MovimentoEntidade"].Select(String.Format("ID = {0} ", reader.GetValue(1)));
                        if (nRows.Length > 0)
                        {
                            rows.Add(nRows[0]);
                        }
                    }
                    reader.Close();
                }

            return(rows);
        }
Пример #6
0
        public override HashSet <UFRule.UnidadeFisicaInfo> LoadDepIdentificacaoData(DataSet currentDataSet, long depositoID, IDbConnection conn)
        {
            LoadDepositoData(currentDataSet, depositoID, conn);

            var result = GetUFsInfo("AND NivelUnidadeFisicaDeposito.IDDeposito = " + depositoID.ToString(), conn);

            using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    command.Parameters.AddWithValue("@depositoID", depositoID);
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Deposito"],
                                                                                     "WHERE Deposito.ID = @depositoID");
                    da.Fill(currentDataSet, "Deposito");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["NivelUnidadeFisica"],
                                                                                     "INNER JOIN NivelUnidadeFisicaDeposito nufd ON nufd.IDNivelUnidadeFisica = NivelUnidadeFisica.ID " +
                                                                                     "WHERE nufd.IDDeposito = @depositoID");
                    da.Fill(currentDataSet, "NivelUnidadeFisica");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["NivelUnidadeFisicaDeposito"],
                                                                                     "WHERE NivelUnidadeFisicaDeposito.IDDeposito = @depositoID");
                    da.Fill(currentDataSet, "NivelUnidadeFisicaDeposito");
                }

            return(result);
        }
Пример #7
0
 public override void LoadAutosEliminacao(DataSet currentDataSet, IDbConnection conn)
 {
     using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
         using (SqlDataAdapter da = new SqlDataAdapter(command))
         {
             da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["AutoEliminacao"]);
             da.Fill(currentDataSet, "AutoEliminacao");
         }
 }
Пример #8
0
 public override void LoadTitulos(DataSet currentDataSet, IDbConnection conn)
 {
     using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
         using (SqlDataAdapter da = new SqlDataAdapter(command))
         {
             da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["ObjetoDigitalTitulo"]);
             da.Fill(currentDataSet, "ObjetoDigitalTitulo");
         }
 }
Пример #9
0
        public override void LoadObjDigitalData(DataSet currentDataSet, long docID, long IDTipoNivelRelacionado, IDbConnection conn)
        {
            using (SqlCommand command = new SqlCommand("", (SqlConnection)conn))
                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    command.CommandText = "CREATE TABLE #niveisTemp(ID BIGINT); CREATE TABLE #odsTemp(ID BIGINT)";
                    command.ExecuteNonQuery();

                    if (IDTipoNivelRelacionado == 9)
                    {
                        // no caso do docID ser um documento/processo é necessário obter possíveis subdocumentos

                        command.CommandText = @"
                    INSERT INTO #niveisTemp
                    SELECT ID 
                    FROM RelacaoHierarquica
                    WHERE IDTipoNivelRelacionado = @IDTipoNivelRelacionado AND IDUpper = @docID AND isDeleted = @isDeleted";
                        command.Parameters.AddWithValue("@docID", docID);
                        command.Parameters.AddWithValue("@IDTipoNivelRelacionado", 10);
                        command.Parameters.AddWithValue("@isDeleted", 0);
                        command.ExecuteNonQuery();

                        // carregar rows referentes só aos subdocumentos
                        da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Nivel"],
                                                                                         "INNER JOIN #niveisTemp ON #niveisTemp.ID = Nivel.ID");
                        da.Fill(currentDataSet, "Nivel");

                        da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["NivelDesignado"],
                                                                                         "INNER JOIN #niveisTemp ON #niveisTemp.ID = NivelDesignado.ID");
                        da.Fill(currentDataSet, "NivelDesignado");

                        da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["NivelDocumentoSimples"],
                                                                                         "INNER JOIN #niveisTemp ON #niveisTemp.ID = NivelDocumentoSimples.ID");
                        da.Fill(currentDataSet, "NivelDocumentoSimples");

                        da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["RelacaoHierarquica"],
                                                                                         "INNER JOIN #niveisTemp ON #niveisTemp.ID = RelacaoHierarquica.ID");
                        da.Fill(currentDataSet, "RelacaoHierarquica");

                        da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["FRDBase"],
                                                                                         "INNER JOIN #niveisTemp ON #niveisTemp.ID = FRDBase.IDNivel");
                        da.Fill(currentDataSet, "FRDBase");

                        command.Parameters.Clear();
                    }

                    command.CommandText = "INSERT INTO #niveisTemp (ID) VALUES (@docID)";
                    command.Parameters.AddWithValue("@docID", docID);
                    command.ExecuteNonQuery();

                    LoadDataRows(currentDataSet, docID, conn);

                    command.CommandText = "DROP TABLE #niveisTemp; DROP TABLE #odsTemp";
                    command.ExecuteNonQuery();
                }
        }
Пример #10
0
        public override ArrayList GetItems(DataSet currentDataSet, int pageNr, int itemsPerPage, System.Data.IDbConnection conn)
        {
            ArrayList rows = new ArrayList();

            using (SqlCommand command = new SqlCommand("", (SqlConnection)conn))
            {
                command.CommandText = "CREATE TABLE #ItemsID (ID BIGINT, Data DATETIME, Entidade NVARCHAR(444), Codigo NVARCHAR(25))";
                command.ExecuteNonQuery();

                command.CommandText =
                    "INSERT INTO #ItemsID " +
                    "SELECT mov.ID, mov.Data, me.Entidade, me.Codigo " +
                    "FROM #OrderedItems oi " +
                    "INNER JOIN Movimento mov ON mov.ID = oi.ID " +
                    "INNER JOIN MovimentoEntidade me ON me.ID = mov.IDEntidade " +
                    "WHERE seq_id >= @seq_id1 AND seq_id <= @seq_id2 " +
                    "ORDER BY seq_id";
                command.Parameters.AddWithValue("@seq_id1", (pageNr - 1) * itemsPerPage + 1);
                command.Parameters.AddWithValue("@seq_id2", pageNr * itemsPerPage);
                command.ExecuteNonQuery();

                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    command.Parameters.AddWithValue("@isDeleted", 0);
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Movimento"],
                                                                                     "INNER JOIN #ItemsID ON #ItemsID.ID = Movimento.ID");
                    da.Fill(currentDataSet, "Movimento");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["MovimentoEntidade"],
                                                                                     @"INNER JOIN (
                        SELECT DISTINCT m.IDEntidade 
                        FROM Movimento m
                            INNER JOIN #ItemsID ON #ItemsID.ID = m.ID
                        WHERE m.isDeleted = @isDeleted) Entidades ON Entidades.IDEntidade = MovimentoEntidade.ID ");
                    da.Fill(currentDataSet, "MovimentoEntidade");
                }

                command.Parameters.Clear();
                command.CommandText = "SELECT * FROM #ItemsID;";
                SqlDataReader reader = command.ExecuteReader();

                ArrayList row;
                while (reader.Read())
                {
                    row = new ArrayList();
                    row.Add(reader.GetValue(0));
                    row.Add(reader.GetValue(1));
                    row.Add(reader.GetValue(2));
                    row.Add(reader.GetValue(3));
                    rows.Add(row);
                }

                reader.Close();
            }
            return(rows);
        }
Пример #11
0
        public override void LoadControloAuts(DataSet currentDataSet, string[] designacoes, IDbConnection conn)
        {
            GisaDataSetHelperRule.ImportDesignacoes(designacoes, conn);

            using (SqlCommand command = new SqlCommand(string.Empty, (SqlConnection)conn))
            {
                command.CommandText = "CREATE TABLE #aux (ID BIGINT, Termo NVARCHAR(768));";
                command.ExecuteNonQuery();

                command.Parameters.AddWithValue("@isDeleted", 0);
                command.CommandText =
                    "INSERT INTO #aux " +
                    "SELECT ID, Termo " +
                    "FROM Dicionario " +
                    "INNER JOIN #temp ON #temp.Designacao COLLATE LATIN1_GENERAL_CS_AS LIKE Termo COLLATE LATIN1_GENERAL_CS_AS " +
                    "WHERE isDeleted = @isDeleted";
                command.ExecuteNonQuery();

                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Dicionario"],
                                                                                     "INNER JOIN #aux ON #aux.ID = Dicionario.ID ");
                    da.Fill(currentDataSet, "Dicionario");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["ControloAut"],
                                                                                     "INNER JOIN ControloAutDicionario cad ON cad.IDControloAut = ControloAut.ID AND cad.isDeleted = @isDeleted " +
                                                                                     "INNER JOIN Dicionario d ON d.ID = cad.IDDicionario AND d.isDeleted = @isDeleted " +
                                                                                     "INNER JOIN #aux ON #aux.ID = d.ID ");
                    da.Fill(currentDataSet, "ControloAut");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["ControloAutDicionario"],
                                                                                     "INNER JOIN Dicionario d ON d.ID = ControloAutDicionario.IDDicionario AND d.isDeleted = @isDeleted " +
                                                                                     "INNER JOIN #aux ON #aux.ID = d.ID ");
                    da.Fill(currentDataSet, "ControloAutDicionario");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Nivel"],
                                                                                     "INNER JOIN NivelControloAut nca ON nca.ID = Nivel.ID AND nca.isDeleted = @isDeleted " +
                                                                                     "INNER JOIN ControloAut ca ON ca.ID = nca.IDControloAut AND ca.isDeleted = @isDeleted " +
                                                                                     "INNER JOIN ControloAutDicionario cad ON cad.IDControloAut = ca.ID AND cad.isDeleted = @isDeleted " +
                                                                                     "INNER JOIN Dicionario d ON d.ID = cad.IDDicionario AND d.isDeleted = @isDeleted " +
                                                                                     "INNER JOIN #aux ON #aux.ID = d.ID ");
                    da.Fill(currentDataSet, "Nivel");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["NivelControloAut"],
                                                                                     "INNER JOIN ControloAut ca ON ca.ID = NivelControloAut.IDControloAut AND ca.isDeleted = @isDeleted " +
                                                                                     "INNER JOIN ControloAutDicionario cad ON cad.IDControloAut = ca.ID AND cad.isDeleted = @isDeleted " +
                                                                                     "INNER JOIN Dicionario d ON d.ID = cad.IDDicionario AND d.isDeleted = @isDeleted " +
                                                                                     "INNER JOIN #aux ON #aux.ID = d.ID ");
                    da.Fill(currentDataSet, "NivelControloAut");
                }

                command.CommandText = "DROP TABLE #aux";
                command.ExecuteNonQuery();
            }
        }
Пример #12
0
 public override void LoadMovimento(long movID, DataSet currentDataSet, IDbConnection conn)
 {
     using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
         using (SqlDataAdapter da = new SqlDataAdapter(command))
         {
             command.Parameters.AddWithValue("@movID", movID);
             da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Movimento"],
                                                                              "WHERE ID = @movID");
             da.Fill(currentDataSet, "Movimento");
         }
 }
Пример #13
0
 public override void LoadUFConteudoEstruturaData(DataSet currentDataSet, long CurrentFRDBaseID, IDbConnection conn)
 {
     using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
         using (SqlDataAdapter da = new SqlDataAdapter(command))
         {
             command.Parameters.AddWithValue("@CurrentFRDBaseID", CurrentFRDBaseID);
             da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDConteudoEEstrutura"],
                                                                              "WHERE IDFRDBase=@CurrentFRDBaseID");
             da.Fill(currentDataSet, "SFRDConteudoEEstrutura");
         }
 }
Пример #14
0
 public override void LoadAutoEliminacao(DataSet currentDataSet, long aeID, IDbConnection conn)
 {
     using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
         using (SqlDataAdapter da = new SqlDataAdapter(command))
         {
             command.Parameters.AddWithValue("@aeID", aeID);
             da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["AutoEliminacao"],
                                                                              "WHERE ID=@aeID");
             da.Fill(currentDataSet, "AutoEliminacao");
         }
 }
Пример #15
0
 public override void ReloadNivelUFCodigo(DataSet currentDataSet, long idNivel, decimal ano, IDbTransaction tran)
 {
     using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlTransaction)tran))
         using (SqlDataAdapter da = new SqlDataAdapter(command))
         {
             command.Parameters.AddWithValue("@idNivel", idNivel);
             command.Parameters.AddWithValue("@ano", ano);
             da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["NivelUnidadeFisicaCodigo"],
                                                                              "WHERE ID=@idNivel AND Ano=@ano");
             da.Fill(currentDataSet, "NivelUnidadeFisicaCodigo");
         }
 }
Пример #16
0
        public override void LoadObjDigitalPermissoes(DataSet currentDataSet, long nRowID, IDbConnection conn)
        {
            using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    command.Parameters.AddWithValue("@nRowID", nRowID);

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Trustee"]);
                    da.Fill(currentDataSet, "Trustee");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["TrusteeUser"]);
                    da.Fill(currentDataSet, "TrusteeUser");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["TrusteeGroup"]);
                    da.Fill(currentDataSet, "TrusteeGroup");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["UserGroups"]);
                    da.Fill(currentDataSet, "UserGroups");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["FRDBase"],
                                                                                     "WHERE FRDBase.IDNivel=" + nRowID.ToString());
                    da.Fill(currentDataSet, "FRDBase");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDImagemVolume"]);
                    da.Fill(currentDataSet, "SFRDImagemVolume");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDImagem"],
                                                                                     "INNER JOIN FRDBase ON FRDBase.ID = SFRDImagem.IDFRDBase " +
                                                                                     "WHERE FRDBase.IDNivel=@nRowID");
                    da.Fill(currentDataSet, "SFRDImagem");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["ObjetoDigital"],
                                                                                     "INNER JOIN SFRDImagemObjetoDigital ON SFRDImagemObjetoDigital.IDObjetoDigital = ObjetoDigital.ID " +
                                                                                     "INNER JOIN SFRDImagem ON SFRDImagem.IDFRDBase = SFRDImagemObjetoDigital.IDFRDBase AND SFRDImagem.idx = SFRDImagemObjetoDigital.idx " +
                                                                                     "INNER JOIN FRDBase ON FRDBase.ID = SFRDImagem.IDFRDBase " +
                                                                                     "WHERE FRDBase.IDNivel=@nRowID");
                    da.Fill(currentDataSet, "ObjetoDigital");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDImagemObjetoDigital"],
                                                                                     "INNER JOIN SFRDImagem ON SFRDImagem.IDFRDBase = SFRDImagemObjetoDigital.IDFRDBase AND SFRDImagem.idx = SFRDImagemObjetoDigital.idx " +
                                                                                     "INNER JOIN FRDBase ON FRDBase.ID = SFRDImagem.IDFRDBase " +
                                                                                     "WHERE FRDBase.IDNivel=@nRowID");
                    da.Fill(currentDataSet, "SFRDImagemObjetoDigital");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["TrusteeObjetoDigitalPrivilege"],
                                                                                     "INNER JOIN ObjetoDigital ON ObjetoDigital.ID = TrusteeObjetoDigitalPrivilege.IDObjetoDigital " +
                                                                                     "INNER JOIN SFRDImagemObjetoDigital ON SFRDImagemObjetoDigital.IDObjetoDigital = ObjetoDigital.ID " +
                                                                                     "INNER JOIN SFRDImagem ON SFRDImagem.IDFRDBase = SFRDImagemObjetoDigital.IDFRDBase AND SFRDImagem.idx = SFRDImagemObjetoDigital.idx " +
                                                                                     "INNER JOIN FRDBase ON FRDBase.ID = SFRDImagem.IDFRDBase " +
                                                                                     "WHERE FRDBase.IDNivel=@nRowID");
                    da.Fill(currentDataSet, "TrusteeObjetoDigitalPrivilege");
                }
        }
        // o argumento isParentOptional indica se deverão ser devolvidas apenas as rows
        // cuja FK é nullable ou se deverão ser devolvidas apenas aquelas em que a FK é
        // não nullable
        public override ConcorrenciaRule.ChildRelationRows getChildRowsFromDB(DataSet data, DataTable table, ArrayList parentRows, IDbTransaction tran)
        {
            ChildRelationRows result = new ChildRelationRows(new ArrayList(), new ArrayList());
            DataTable         childTable;
            StringBuilder     genericChildsFilter = new StringBuilder();
            string            childsFilter        = string.Empty;

            foreach (DataRelation childRelation in table.ChildRelations)
            {
                DataColumn[] parentColumns;
                DataColumn[] childColumns;
                parentColumns = childRelation.ChildKeyConstraint.RelatedColumns;
                childColumns  = childRelation.ChildKeyConstraint.Columns;
                for (int i = 0; i <= childColumns.Length - 1; i++)
                {
                    if (genericChildsFilter.Length > 0)
                    {
                        genericChildsFilter.Append(" AND ");
                    }
                    genericChildsFilter.AppendFormat("{0}={1}", childColumns[i].ColumnName, "{" + i.ToString() + "}");
                }
                foreach (DataRow parentRow in parentRows)
                {
                    ArrayList relationParentValues = new ArrayList();
                    for (int i = 0; i <= parentColumns.Length - 1; i++)
                    {
                        DataColumn parentColumn = parentColumns[i];
                        // as parentRow podem pertencer ao dataset de trabalho ou aos dados que estamos agora a recolher da BD. Apenas no 1º caso o rowstate será deleted.
                        if (parentRow.RowState == DataRowState.Deleted)
                        {
                            relationParentValues.Add(parentRow[parentColumn.ColumnName, DataRowVersion.Original]);
                        }
                        else
                        {
                            relationParentValues.Add(parentRow[parentColumn.ColumnName]);
                        }
                    }
                    childsFilter = string.Format("WHERE " + genericChildsFilter.ToString(), relationParentValues.ToArray());
                    childTable   = new DataTable(childRelation.ChildTable.TableName);
                    using (var command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlTransaction)tran))
                        using (var da = new SqlDataAdapter(command))
                        {
                            da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(childRelation.ChildTable, childsFilter);
                            da.Fill(childTable);
                        }
                    result.tables.Add(childTable);
                    result.relationColumns.Add(childColumns);
                }
                genericChildsFilter = new StringBuilder();
                childsFilter        = string.Empty;
            }
            return(result);
        }
Пример #18
0
        public override void LoadObjDigitalSimples(DataSet currentDataSet, long docID, long IDTipoNivelRelacionado, IDbConnection conn)
        {
            if (IDTipoNivelRelacionado < 9)
            {
                return;
            }

            using (var command = new SqlCommand("", (SqlConnection)conn))
                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    command.CommandText = "CREATE TABLE #temp(ID BIGINT)";
                    command.ExecuteNonQuery();

                    // obter possiveis subdocumentos no caso do nivel documental actual ser um documento/processo
                    if (IDTipoNivelRelacionado == 9)
                    {
                        command.CommandText = @"
                        INSERT INTO #temp
                        SELECT ID 
                        FROM RelacaoHierarquica
                        WHERE IDUpper = @docID";
                        command.Parameters.AddWithValue("@docID", docID);
                        command.ExecuteNonQuery();
                    }

                    command.Parameters.AddWithValue("@isDeleted", 0);

                    // carregar rows referentes só aos subdocumentos
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Nivel"],
                                                                                     "INNER JOIN #temp ON #temp.ID = Nivel.ID");
                    da.Fill(currentDataSet, "Nivel");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["NivelDesignado"],
                                                                                     "INNER JOIN #temp ON #temp.ID = NivelDesignado.ID");
                    da.Fill(currentDataSet, "NivelDesignado");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["NivelDocumentoSimples"],
                                                                                     "INNER JOIN #temp ON #temp.ID = NivelDocumentoSimples.ID");
                    da.Fill(currentDataSet, "NivelDocumentoSimples");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["RelacaoHierarquica"],
                                                                                     "INNER JOIN #temp ON #temp.ID = RelacaoHierarquica.ID");
                    da.Fill(currentDataSet, "RelacaoHierarquica");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["FRDBase"],
                                                                                     "INNER JOIN #temp ON #temp.ID = FRDBase.IDNivel");
                    da.Fill(currentDataSet, "FRDBase");

                    command.CommandText = "DROP TABLE #temp";
                    command.ExecuteNonQuery();
                }
        }
Пример #19
0
 public override void LoadUtilizadores(DataSet CurrentDataSet, IDbConnection conn)
 {
     using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
         using (SqlDataAdapter da = new SqlDataAdapter(command))
         {
             da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["Trustee"]);
             da.Fill(CurrentDataSet, "Trustee");
             da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["TrusteeGroup"]);
             da.Fill(CurrentDataSet, "TrusteeGroup");
             da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["TrusteeUser"]);
             da.Fill(CurrentDataSet, "TrusteeUser");
             da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["UserGroups"]);
             da.Fill(CurrentDataSet, "UserGroups");
         }
 }
Пример #20
0
        public override void LoadDepositodDataForUpdate(DataSet currentDataSet, long depositoID, IDbTransaction tran)
        {
            using (SqlCommand command = new SqlCommand("", (SqlConnection)tran.Connection, (SqlTransaction)tran))
                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    command.Parameters.AddWithValue("@depositoID", depositoID);
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Deposito"],
                                                                                     " WITH (UPDLOCK) WHERE ID = @depositoID");
                    da.Fill(currentDataSet, "Deposito");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["NivelUnidadeFisica"],
                                                                                     " WITH (UPDLOCK) WHERE IDDeposito = @depositoID");
                    da.Fill(currentDataSet, "NivelUnidadeFisica");
                }
        }
Пример #21
0
        public override void LoadUnidadesFisicas(DataSet currentDataSet, string[] codigos, IDbConnection conn)
        {
            GisaDataSetHelperRule.ImportDesignacoes(codigos, conn);

            using (SqlCommand command = new SqlCommand(string.Empty, (SqlConnection)conn))
            {
                command.CommandText = "CREATE TABLE #aux (ID BIGINT, Termo NVARCHAR(50))";
                command.ExecuteNonQuery();

                command.Parameters.AddWithValue("@isDeleted", 0);
                command.CommandText = @"
                    INSERT INTO #aux
                    SELECT n.ID, n.Codigo
                    FROM Nivel n
                        INNER JOIN #temp ON #temp.Designacao COLLATE LATIN1_GENERAL_CS_AS LIKE n.Codigo COLLATE LATIN1_GENERAL_CS_AS
                    WHERE n.isDeleted = @isDeleted";
                command.ExecuteNonQuery();

                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Nivel"],
                                                                                     "INNER JOIN #aux ON #aux.ID = Nivel.ID ");
                    da.Fill(currentDataSet, "Nivel");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["NivelDesignado"],
                                                                                     "INNER JOIN #aux ON #aux.ID = NivelDesignado.ID ");
                    da.Fill(currentDataSet, "NivelDesignado");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["FRDBase"],
                                                                                     "INNER JOIN #aux ON #aux.ID = FRDBase.IDNivel ");
                    da.Fill(currentDataSet, "FRDBase");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["RelacaoHierarquica"],
                                                                                     "INNER JOIN #aux ON #aux.ID = RelacaoHierarquica.ID ");
                    da.Fill(currentDataSet, "RelacaoHierarquica");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Nivel"],
                                                                                     "INNER JOIN RelacaoHierarquica ON RelacaoHierarquica.IDUpper = Nivel.ID " +
                                                                                     "INNER JOIN #aux ON #aux.ID = RelacaoHierarquica.ID ");
                    da.Fill(currentDataSet, "Nivel");
                }

                command.CommandText = "DROP TABLE #aux";
                command.ExecuteNonQuery();
            }
        }
        public override void fillRowsToOtherDataset(System.Data.DataTable table, System.Collections.ArrayList rows, System.Data.DataSet data, System.Data.IDbTransaction tran)
        {
            int           contador = 0;
            StringBuilder s        = new StringBuilder();

            data.Tables.Add(table.Clone());
            string baseSelectCommand = SqlSyntax.CreateSelectCommandText(table, "WHERE {0}", DBAbstractDataLayer.DataAccessRules.Syntax.DataDeletionStatus.All);

            using (SqlDataAdapter da = new SqlDataAdapter(new SqlCommand("", (SqlConnection)tran.Connection, (SqlTransaction)tran)))
            {
                // por cada linha da tabela modified ou deleted (as marcadas como added nao estao sujeitas a conflitos de concorrencia
                foreach (DataRow dr in rows)
                {
                    contador++;
                    s.Append("(");
                    s.Append(buildFilter(table, dr).ToString());
                    s.Append(")");
                    // impedir que na query entre 1 "or" a mais
                    if (contador % 200 != 0 && contador < rows.Count)
                    {
                        s.Append(" OR ");
                    }

                    // se ja tiverem sido obtidos 200 IDs, completar a query e executa-la e na base de dados
                    if (contador % 200 == 0 || contador == rows.Count)
                    {
                        // executar comando sql obtido
                        try
                        {
                            //System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter(new System.Data.SqlClient.SqlCommand("", (System.Data.SqlClient.SqlConnection) tran.Connection, (System.Data.SqlClient.SqlTransaction) tran));
                            //da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommand(table, string.Format("where {0}", s), DBAbstractDataLayer.DataAccessRules.SqlClient.SqlSyntax.DataDeletionStatus.All);
                            da.SelectCommand.CommandText = string.Format(baseSelectCommand, s);
                            da.Fill(data, table.TableName);
                            // limpar filtro para o voltar a encher com os proximos 50
                            s = new System.Text.StringBuilder();
                        }
                        catch (Exception ex)
                        {
                            Trace.WriteLine(string.Format("Erro ({0}): {1}", table.TableName, ex));
                            throw;
                        }
                    }
                }
            }
        }
 public override void FixRow(DataSet ds, DataRow dr, IDbConnection conn)
 {
     foreach (DataRelation rel in dr.Table.ParentRelations)
     {
         if (!(dr.IsNull(rel.ChildColumns[0])))
         {
             string str = "WHERE " + GetJoinExpression(rel, dr);
             using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
                 using (SqlDataAdapter da = new SqlDataAdapter(command))
                 {
                     da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(ds.Tables[rel.ParentTable.TableName],
                                                                                      str);
                     da.Fill(ds, rel.ParentTable.TableName);
                 }
         }
     }
     dr.ClearErrors();
 }
Пример #24
0
        public override void LoadUFIdentificacao2Data(DataSet currentDataSet, long CurrentFRDBaseID, IDbConnection conn)
        {
            string WhereQueryFilter = "WHERE IDFRDBase=" + CurrentFRDBaseID.ToString();

            using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    command.Parameters.AddWithValue("@CurrentFRDBaseID", CurrentFRDBaseID);
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDDatasProducao"], WhereQueryFilter);
                    da.Fill(currentDataSet, "SFRDDatasProducao");
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDUFCota"], WhereQueryFilter);
                    da.Fill(currentDataSet, "SFRDUFCota");
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDUFDescricaoFisica"], WhereQueryFilter);
                    da.Fill(currentDataSet, "SFRDUFDescricaoFisica");
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDConteudoEEstrutura"], WhereQueryFilter);
                    da.Fill(currentDataSet, "SFRDConteudoEEstrutura");
                }
        }
Пример #25
0
        public override void LoadDocumentos(DataSet currentDataSet, string[] designacoes, IDbConnection conn)
        {
            GisaDataSetHelperRule.ImportDesignacoes(designacoes, conn);

            using (SqlCommand command = new SqlCommand(string.Empty, (SqlConnection)conn))
            {
                command.CommandText = "CREATE TABLE #aux (ID BIGINT, Termo NVARCHAR(768))";
                command.ExecuteNonQuery();

                command.Parameters.AddWithValue("@isDeleted", 0);

                command.CommandText = @"
                    INSERT INTO #aux
                    SELECT n.ID, nd.Designacao
                    FROM Nivel n
                        INNER JOIN #temp ON #temp.Designacao = n.ID
                        INNER JOIN NivelDesignado nd ON nd.ID = n.ID AND nd.isDeleted = @isDeleted
                    WHERE n.isDeleted = @isDeleted";
                command.ExecuteNonQuery();

                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Nivel"],
                                                                                     "INNER JOIN #aux ON #aux.ID = Nivel.ID ");
                    da.Fill(currentDataSet, "Nivel");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["NivelDesignado"],
                                                                                     "INNER JOIN #aux ON #aux.ID = NivelDesignado.ID ");
                    da.Fill(currentDataSet, "NivelDesignado");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["RelacaoHierarquica"],
                                                                                     "INNER JOIN #aux ON #aux.ID = RelacaoHierarquica.ID ");
                    da.Fill(currentDataSet, "RelacaoHierarquica");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Nivel"],
                                                                                     "INNER JOIN RelacaoHierarquica ON RelacaoHierarquica.IDUpper = Nivel.ID " +
                                                                                     "INNER JOIN #aux ON #aux.ID = RelacaoHierarquica.ID ");
                    da.Fill(currentDataSet, "Nivel");
                }

                command.CommandText = "DROP TABLE #aux";
                command.ExecuteNonQuery();
            }
        }
Пример #26
0
        public override void LoadUFData(DataSet currentDataSet, long nivelID, IDbConnection conn)
        {
            using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    command.Parameters.AddWithValue("@nivelID", nivelID);

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["NivelDesignado"],
                                                                                     "WHERE ID=@nivelID");
                    da.Fill(currentDataSet, "NivelDesignado");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["NivelUnidadeFisica"],
                                                                                     "WHERE ID=@nivelID");
                    da.Fill(currentDataSet, "NivelUnidadeFisica");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["RelacaoHierarquica"],
                                                                                     "WHERE ID=@nivelID");
                    da.Fill(currentDataSet, "RelacaoHierarquica");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["FRDBase"],
                                                                                     "WHERE IDNivel=@nivelID");
                    da.Fill(currentDataSet, "FRDBase");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDUFCota"],
                                                                                     "INNER JOIN FRDBase frd ON frd.ID = SFRDUFCota.IDFRDBase " +
                                                                                     "WHERE frd.IDNivel=@nivelID");
                    da.Fill(currentDataSet, "SFRDUFCota");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDUFDescricaoFisica"],
                                                                                     "INNER JOIN FRDBase frd ON frd.ID = SFRDUFDescricaoFisica.IDFRDBase " +
                                                                                     "WHERE frd.IDNivel=@nivelID");
                    da.Fill(currentDataSet, "SFRDUFDescricaoFisica");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDDatasProducao"],
                                                                                     "INNER JOIN FRDBase frd ON frd.ID = SFRDDatasProducao.IDFRDBase " +
                                                                                     "WHERE frd.IDNivel=@nivelID");
                    da.Fill(currentDataSet, "SFRDDatasProducao");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["TipoAcondicionamento"]);
                    da.Fill(currentDataSet, "TipoAcondicionamento");
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["TipoMedida"]);
                    da.Fill(currentDataSet, "TipoMedida");
                }
        }
Пример #27
0
        public override decimal LoadDescricaoFisicaAndGetSomatorioLargura(DataSet currentDataSet, long[] ufIDs, IDbConnection conn)
        {
            GisaDataSetHelperRule.ImportIDs(ufIDs, conn);

            decimal total = 0;
            var     cmd   = @"
SELECT COUNT(df.MedidaLargura) 
FROM FRDBase frd 
    INNER JOIN #temp ON #temp.ID = frd.IDNivel
    LEFT JOIN SFRDUFDescricaoFisica df ON df.IDFRDBase = frd.ID AND df.isDeleted = @isDeleted
WHERE frd.isDeleted = @isDeleted";

            using (var command = new SqlCommand(cmd, (SqlConnection)conn))
                using (var da = new SqlDataAdapter(command))
                {
                    command.Parameters.AddWithValue("@isDeleted", 0);

                    total = System.Convert.ToDecimal(command.ExecuteScalar());

                    // carregar informação dos niveis documentais associados às ufs
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Nivel"],
                                                                                     "INNER JOIN FRDBase ON FRDBase.IDNivel = Nivel.ID " +
                                                                                     "INNER JOIN SFRDUnidadeFisica ON SFRDUnidadeFisica.IDFRDBase = FRDBase.ID " +
                                                                                     "INNER JOIN #temp ON #temp.ID = SFRDUnidadeFisica.IDNivel");
                    da.Fill(currentDataSet, "Nivel");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["FRDBase"],
                                                                                     "INNER JOIN SFRDUnidadeFisica ON SFRDUnidadeFisica.IDFRDBase = FRDBase.ID " +
                                                                                     "INNER JOIN #temp ON #temp.ID = SFRDUnidadeFisica.IDNivel");
                    da.Fill(currentDataSet, "FRDBase");

                    // carregar informação das ufs
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Nivel"],
                                                                                     "INNER JOIN #temp ON #temp.ID = Nivel.ID");
                    da.Fill(currentDataSet, "Nivel");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["SFRDUnidadeFisica"],
                                                                                     "INNER JOIN #temp ON #temp.ID = SFRDUnidadeFisica.IDNivel");
                    da.Fill(currentDataSet, "SFRDUnidadeFisica");
                }

            return(total);
        }
Пример #28
0
        public override void LoadDataCIPermissoes(DataSet CurrentDataSet, long IDNivel, IDbConnection conn)
        {
            using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    command.Parameters.AddWithValue("@IDNivel", IDNivel);
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["Trustee"]);
                    da.Fill(CurrentDataSet, "Trustee");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["TrusteeUser"]);
                    da.Fill(CurrentDataSet, "TrusteeUser");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["TrusteeGroup"]);
                    da.Fill(CurrentDataSet, "TrusteeGroup");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["TrusteeNivelPrivilege"],
                                                                                     "WHERE TrusteeNivelPrivilege.IDNivel = @IDNivel");
                    da.Fill(CurrentDataSet, "TrusteeNivelPrivilege");
                }
        }
Пример #29
0
        public override void LoadDataCIPermissoes(DataSet CurrentDataSet, List <long> lstIDNivel, IDbConnection conn)
        {
            GisaDataSetHelperRule.ImportIDs(lstIDNivel.ToArray(), conn);

            using (SqlCommand command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlConnection)conn))
                using (SqlDataAdapter da = new SqlDataAdapter(command))
                {
                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["Trustee"]);
                    da.Fill(CurrentDataSet, "Trustee");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["TrusteeUser"]);
                    da.Fill(CurrentDataSet, "TrusteeUser");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["TrusteeGroup"]);
                    da.Fill(CurrentDataSet, "TrusteeGroup");

                    da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(CurrentDataSet.Tables["TrusteeNivelPrivilege"],
                                                                                     "INNER JOIN #temp T ON T.ID = TrusteeNivelPrivilege.IDNivel ");
                    da.Fill(CurrentDataSet, "TrusteeNivelPrivilege");
                }
        }
        public override ICollection LoadNivelControloAut(DataSet currentDataSet, ArrayList IDs, IDbConnection conn)
        {
            foreach (long id in IDs)
            {
                DBAbstractDataLayer.DataAccessRules.NivelRule.Current.LoadControloAutChildren(id, currentDataSet, conn);
                DBAbstractDataLayer.DataAccessRules.NivelRule.Current.LoadNivelControloAutChildrenByCA(id, currentDataSet, conn);
            }

            ArrayList     NivelIDs = new ArrayList();
            string        query    = string.Format(" INNER JOIN NivelControloAut nca ON nca.ID = Nivel.ID WHERE nca.isDeleted=0 AND nca.IDControloAut IN ({0})", longCollectionToCommaDelimitedString(IDs));
            string        cmd      = SqlSyntax.CreateSelectCommandText(currentDataSet.Tables["Nivel"], query);
            SqlCommand    command  = new SqlCommand(cmd, (SqlConnection)conn);
            SqlDataReader reader   = command.ExecuteReader();

            while (reader.Read())
            {
                NivelIDs.Add(reader.GetValue(0));
            }
            reader.Close();
            return(NivelIDs);
        }