/// <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); }