Пример #1
0
        /// <summary>
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="registro"></param>
        /// <param name="codiceClassifica"></param>
        /// <returns></returns>
        public static System.Collections.ArrayList getTitolario(string idAmministrazione, string idGruppo, string idPeople, DocsPaVO.utente.Registro registro, string codiceClassifica, bool getFigli)
        {
            System.Collections.ArrayList listaObject = new System.Collections.ArrayList();

            #region Codice Commentato

            /*logger.Debug("getTitolario");
             * DocsPa_V15_Utils.Database database=DocsPa_V15_Utils.dbControl.getDatabase();
             *
             * database.openConnection();
             * DataSet dataSet= new DataSet();
             * ArrayList listaObject= new ArrayList();
             *
             * try {
             *      string condRegistro = "";
             *      if (registro != null)
             *              condRegistro = " AND (A.ID_REGISTRO IS NULL OR A.ID_REGISTRO='" + registro.systemId + "')";
             *
             *      //estrae le classificazioni e i fascicoli
             *      string commandString1 =
             *              "SELECT DISTINCT A.SYSTEM_ID, A.DESCRIPTION, A.ID_PARENT, A.VAR_CODICE, " +
             *              "A.NUM_LIVELLO, A.VAR_COD_ULTIMO, A.ID_REGISTRO, " +
             *              "VAR_COD_LIV1, VAR_COD_LIV2, VAR_COD_LIV3, VAR_COD_LIV4, VAR_COD_LIV5, VAR_COD_LIV6, VAR_COD_LIV7, VAR_COD_LIV8 " +
             *              "FROM PROJECT A";
             *      //se sono un amministratore non devo fare la join con la security
             *      if(infoUtente.idGruppo != null && !infoUtente.idGruppo.Equals(""))
             *              commandString1 +=
             *                      ", SECURITY B WHERE A.SYSTEM_ID=B.THING AND B.ACCESSRIGHTS > 0 AND (B.PERSONORGROUP=" + infoUtente.idPeople + " OR B.PERSONORGROUP=" + infoUtente.idGruppo + ") AND ";
             *      else
             *              commandString1 += " WHERE ";
             *      commandString1 +=
             *              "ID_AMM='"+infoUtente.idAmministrazione+"' AND CHA_TIPO_PROJ='T'" + condRegistro;
             *      //istanzia la class di personalizzazione
             *      string separator=DocsPaWS.Utils.Personalization.getInstance(infoUtente.idAmministrazione).getSeparator();
             *
             *      if (codiceClassifica != null && !codiceClassifica.Equals("")) {
             *              commandString1 += " AND (VAR_CODICE = '" + codiceClassifica + "' OR VAR_CODICE LIKE '" + codiceClassifica + separator + "%')";
             *              //					string[] codici = codiceClassifica.Split(separator.ToCharArray());
             *              //					for (int i=0; i < codici.Length; i++) {
             *              //						int numLivello = i+1;
             *              //						commandString1 += " AND VAR_COD_LIV" + numLivello.ToString() + "= '" + codici[i] + "'";
             *              //					}
             *      }
             *      commandString1 += " ORDER BY NUM_LIVELLO, VAR_COD_LIV1, VAR_COD_LIV2, VAR_COD_LIV3, VAR_COD_LIV4, VAR_COD_LIV5, VAR_COD_LIV6, VAR_COD_LIV7, VAR_COD_LIV8";
             *      logger.Debug(commandString1);
             *
             *      database.fillTable(commandString1,dataSet,"CLASSIFICAZIONI");
             *      //modifica sabrina --- ??? inserito controllo per verificare se ci sono risultati
             *      if (dataSet.Tables["CLASSIFICAZIONI"].Rows.Count > 0) {
             *              string numLivello = dataSet.Tables["CLASSIFICAZIONI"].Rows[0]["NUM_LIVELLO"].ToString();
             *
             *              //si estraggono le classificazioni root
             *              DataRow[] rootClassRows=dataSet.Tables["CLASSIFICAZIONI"].Select("NUM_LIVELLO=" + numLivello);
             *              for(int i=0;i< rootClassRows.Length;i++) {
             *                      DocsPaVO.fascicolazione.Classificazione rootClass=new DocsPaVO.fascicolazione.Classificazione();
             *                      rootClass.systemID = rootClassRows[i]["SYSTEM_ID"].ToString();
             *                      rootClass.descrizione= rootClassRows[i]["DESCRIPTION"].ToString();
             *                      rootClass.codice = rootClassRows[i]["VAR_CODICE"].ToString();
             *                      rootClass.codUltimo = getCodUltimo(rootClassRows[i]["VAR_COD_ULTIMO"].ToString());
             *                      if(registro != null)
             *                              rootClass.registro = registro;
             *                      else if(rootClassRows[i]["ID_REGISTRO"] != null)
             *                              rootClass.registro = RegistriManager.getRegistro(database, rootClassRows[i]["ID_REGISTRO"].ToString());
             *
             *
             *                      //ricerca delle classificazioni figlie
             *                      ArrayList classificazioni=getClassificazioni(database, rootClass.codice,dataSet.Tables["CLASSIFICAZIONI"],rootClass.systemID, registro, separator);
             *                      for(int k=0;k<classificazioni.Count;k++) {
             *                              rootClass.childs.Add(classificazioni[k]);
             *                      }
             *                      listaObject.Add(rootClass);
             *
             *              }
             *      }
             *      dataSet.Dispose();
             *
             *      database.closeConnection();
             * } catch(Exception e){
             *      logger.Debug (e.Message);
             *
             *      database.closeConnection();
             *      throw new Exception("F_System");
             * }*/
            #endregion

            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();

            listaObject = fascicoli.GetTitolario(idAmministrazione, idGruppo, idPeople, registro, codiceClassifica, getFigli);

            if (listaObject == null)
            {
                logger.Debug("Errore nella gestione dei fascicoli. (getTitolario)");
                throw new Exception("F_System");
            }

            return(listaObject);
        }