예제 #1
0
        /// <summary>
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="nodoTitolario"></param>
        /// <param name="corrAdd"></param>
        /// <param name="corrRemove"></param>
        /// <param name="ereditaDiritti"></param>
        public static void setAutorizzazioniNodoTitolario(DocsPaVO.fascicolazione.Classificazione nodoTitolario, DocsPaVO.utente.Corrispondente[] corrAdd, DocsPaVO.utente.Corrispondente[] corrRemove, bool ereditaDiritti)
        {
            logger.Debug("setAutorizzazioniNodoTitolario");
            ArrayList listaID = new ArrayList();

            #region Codice Commentato
//			DocsPa_V15_Utils.database.SqlServerAgent db = new DocsPa_V15_Utils.database.SqlServerAgent();
//			//db.openConnection();
//			if(!ereditaDiritti)
//				checkChildsPermission(/*db,*/ nodoTitolario, corrRemove);
//			try {
//				db.beginTransaction();
//				ArrayList listaID = new ArrayList();
//				listaID.Add(nodoTitolario.systemID);
//				if(nodoTitolario.childs != null) {
//					for(int i=0; i < nodoTitolario.childs.Count; i++)
//						listaID.Add(((DocsPaVO.fascicolazione.Classificazione)nodoTitolario.childs[i]).systemID);
//				}
//				ProjectsManager.setVisibilita(/*db,*/ "T", listaID, corrAdd, corrRemove);
//				db.commitTransaction();
//				//db.closeConnection();
//			} catch (Exception e) {
//				//db.closeConnection();
//				throw new Exception(e.Message);
//			}
            #endregion

            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            fascicoli.SetAutorizzazioniNodoTitolario(nodoTitolario, corrAdd, corrRemove, ereditaDiritti);
            fascicoli.Dispose();
        }
예제 #2
0
//		/// <summary>
//		/// </summary>
//		/// <param name="documento"></param>
//		/// <param name="descrizione"></param>
//		/// <param name="infoUtente"></param>
//		/// <param name="debug"></param>
//		/// <returns></returns>
//		public static string createPCDProject(out DocsPaDocManagement.Documentale.Documento documento, string descrizione, DocsPaVO.utente.InfoUtente infoUtente)
//		{
//			string idAmministrazione = infoUtente.idAmministrazione;
//			string library = DocsPaDB.Utils.Personalization.getInstance(infoUtente.idAmministrazione).getLibrary();
//
//			//PCDCLIENTLib.PCDDocObject docObj = new PCDCLIENTLib.PCDDocObject();
//
//			documento = new DocsPaDocManagement.Documentale.Documento(infoUtente.dst, library, DocsPaDocManagement.Documentale.Tipi.ObjectType.Cyd_CmnProjects);
//
//			/*
//			logger.Debug("library="+library);
//			docObj.SetDST(infoUtente.dst);
//			docObj.SetObjectType("CYD_CMNPROJECTS");
//			docObj.SetProperty("%TARGET_LIBRARY", library);
//			*/
//
//			/*
//			docObj.SetProperty("DESCRIPTION", descrizione);
//			*/
//			documento.Description = descrizione;
//
//			// è necessario inserire anche i permessi per l'utente TYPIST_ID
//			documento.SetTrustee(infoUtente.userId,2,0);
//			documento.Create();
//
//			/*
//			DocsPaWS.Utils.ErrorHandler.checkPCDOperation(docObj,"Errore nella creazione del project");
//			*/
//			if(documento.GetErrorCode() != 0)
//			{
//				throw new Exception("Errore nella creazione del project");
//			}
//
//			logger.Debug("project creato");
//
//			/*
//			string idProject = docObj.GetReturnProperty("%OBJECT_IDENTIFIER").ToString();
//			*/
//			string idProject = documento.ObjectIdentifier;
//
//			documento = new DocsPaDocManagement.Documentale.Documento(infoUtente.dst, library, DocsPaDocManagement.Documentale.Tipi.ObjectType.Cyd_CmnProjects);
//
//			/*
//			docObj.SetDST(infoUtente.dst);
//			docObj.SetObjectType("CYD_CMNPROJECTS");
//			docObj.SetProperty("%TARGET_LIBRARY", library);
//			*/
//
//			/*
//			docObj.SetProperty("%OBJECT_IDENTIFIER", idProject);
//			*/
//			documento.ObjectIdentifier = idProject;
//
//			documento.Update();
//
//			return idProject;
//		}
        #endregion

        #region Metodo Commentato
//		/// <summary>
//		/// </summary>
//		/// <param name="idProject"></param>
//		/// <param name="infoUtente"></param>
//		/// <param name="debug"></param>
//		public static void deletePCDProject(string idProject, DocsPaVO.utente.InfoUtente infoUtente)
//		{
//			string idAmministrazione = infoUtente.idAmministrazione;
//			string library = DocsPaDB.Utils.Personalization.getInstance(infoUtente.idAmministrazione).getLibrary();
//
//			/*
//			PCDCLIENTLib.PCDDocObject docObj = new PCDCLIENTLib.PCDDocObject();
//			*/
//			DocsPaDocManagement.Documentale.Documento documento = new DocsPaDocManagement.Documentale.Documento(infoUtente.dst, library, DocsPaDocManagement.Documentale.Tipi.ObjectType.Cyd_CmnProjects);
//
//			/*
//			logger.Debug("Cancellazione del project ID: " + idProject + " - Utente: " + infoUtente.userId);
//			docObj.SetDST(infoUtente.dst);
//			docObj.SetObjectType("CYD_CMNPROJECTS");
//			docObj.SetProperty("%TARGET_LIBRARY", library);
//			*/
//
//			/*
//			docObj.SetProperty("%OBJECT_IDENTIFIER", idProject);
//			*/
//			documento.ObjectIdentifier = idProject;
//
//			documento.Delete();
//
//			/*
//			DocsPaWS.Utils.ErrorHandler.checkPCDOperation(docObj,"Errore nella cancellazione del project");
//			*/
//			if(documento.GetErrorCode() != 0)
//			{
//				throw new Exception("Errore nella cancellazione del project");
//			}
//
//			logger.Debug("project "+ idProject + " cancellato");
//		}
        #endregion

        /// <summary>
        /// </summary>
        /// <param name="db"></param>
        /// <param name="thing"></param>
        /// <param name="infoUtente"></param>
        /// <param name="objRuolo"></param>
        /// <param name="debug"></param>
        public static void setProjectTrustees(string idPeople, string thing, DocsPaVO.utente.Ruolo objRuolo, string idClassificazione)
        {
            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();

            System.Collections.ArrayList ruoliSuperiori;
            fascicoli.SetProjectTrustees(idPeople, thing, objRuolo, idClassificazione, out ruoliSuperiori);
            fascicoli.Dispose();
        }
예제 #3
0
//		/// <summary>
//		/// </summary>
//		/// <param name="codice"></param>
//		/// <returns></returns>
//		private static string getCodUltimo (string codice)
//		{
//			if (!(codice != null && !codice.Equals("")))
//				return "1";
//			try {
//				int numCodice = Int32.Parse(codice) + 1;
//				return numCodice.ToString();
//			}  catch (Exception) {}
//			return "";
//		}

        /// <summary>
        /// </summary>
        /// <param name="classifica"></param>
        /// <param name="idRegistro"></param>
        /// <param name="infoUtente"></param>
        /// <returns></returns>
        public static ArrayList getFigliClassifica2(string idGruppo, string idPeople, DocsPaVO.fascicolazione.Classifica classifica, string idRegistro, string idAmm, string idTitolario)
        {
            ArrayList lista = new ArrayList();

            #region Codice Commentato

            /*DocsPa_V15_Utils.Database db = DocsPa_V15_Utils.dbControl.getDatabase();
             * try {
             *      db.openConnection();
             *      string queryString =
             *              "SELECT A.SYSTEM_ID, A.VAR_COD_LIV1, A.VAR_COD_LIV2, A.VAR_COD_LIV3, " +
             *              "A.VAR_COD_LIV4, A.VAR_COD_LIV5, A.VAR_COD_LIV6, A.VAR_COD_LIV7, " +
             *              "A.VAR_COD_LIV8, A.DESCRIPTION, A.NUM_LIVELLO, A.VAR_CODICE " +
             *              "FROM PROJECT A, SECURITY B  WHERE A.SYSTEM_ID=B.THING AND A.CHA_TIPO_PROJ='T' AND " +
             *              "(B.PERSONORGROUP=" + infoUtente.idGruppo + " OR B.PERSONORGROUP=" + infoUtente.idPeople + ")  AND B.ACCESSRIGHTS > 0 " +
             *              " AND (A.ID_REGISTRO IS NULL OR A.ID_REGISTRO='" + idRegistro + "')";
             *      if (classifica != null && classifica.systemId != null)
             *              queryString += " AND A.ID_PARENT=" + classifica.systemId;
             *      else
             *              queryString += " AND A.NUM_LIVELLO=1";
             *
             *      logger.Debug(queryString);
             *      IDataReader dr = db.executeReader(queryString);
             *      while (dr.Read()) {
             *              DocsPaVO.fascicolazione.Classifica c = new DocsPaVO.fascicolazione.Classifica();
             *
             *              c.systemId = dr.GetValue(0).ToString();
             *              //int numLivello = Int32.Parse(dr.GetValue(10).ToString());
             *              //c.codice = dr.GetValue(numLivello).ToString();
             *              c.codice = dr.GetValue(11).ToString();
             *              c.descrizione = dr.GetValue(9).ToString();
             *
             *              lista.Add(c);
             *      }
             *      dr.Close();
             *
             *      db.closeConnection();
             * } catch (Exception e) {
             *      logger.Debug (e.Message);
             *      db.closeConnection();
             *      throw new Exception("F_System");
             * }*/
            #endregion

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

            lista = fascicoli.GetFigliClassifica2(idGruppo, idPeople, classifica, idRegistro, idAmm, idTitolario);

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

            fascicoli.Dispose();
            return(lista);
        }
예제 #4
0
        ///// <summary>
        ///// </summary>
        ///// <param name="nodoTitolario"></param>
        ///// <param name="infoUtente"></param>
        //public static void deleteTitolario(DocsPaVO.fascicolazione.Classificazione nodoTitolario, DocsPaVO.utente.InfoUtente infoUtente)
        //{
        //    ArrayList listaID = new ArrayList();
        //    listaID.Add(nodoTitolario.systemID);
        //    /*DocsPa_V15_Utils.Database db = DocsPa_V15_Utils.dbControl.getDatabase();*/
        //    int numFigli = 1;
        //    try {
        //        //db.openConnection();
        //        listaID = ProjectsManager.getChildren(/*db,*/ "T", listaID);
        //        // posso cancellare il folder solo se non ha figli
        //        string idProject = (string)listaID[0];
        //        for (int i=1; i < listaID.Count; i++)
        //            idProject += "," + (string)listaID[i];

        //        #region Codice Commentato
        //        /*string queryString =
        //            "SELECT COUNT(*) FROM PROJECT_COMPONENTS WHERE PROJECT_ID IN (" + idProject + ")";
        //        logger.Debug(queryString);
        //        numFigli = Int32.Parse(db.executeScalar(queryString).ToString());*/
        //        #endregion

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

        //        numFigli = fascicoli.DeleteTitolario(idProject);
        //        fascicoli.Dispose();


        //        //db.closeConnection();
        //    } catch (Exception e) {
        //        logger.Debug(e.Message);
        //        //db.closeConnection();

        //        logger.Debug("Errore nella gestione dei fascicoli. (deleteTitolario)",e);
        //        throw e;
        //    }
        //    if (numFigli == 0)
        //    {
        //        for (int i=0; i < listaID.Count; i++)
        //        {
        //            //ProjectsManager.deletePCDProject((string)listaID[i], infoUtente);

        //            string library = DocsPaDB.Utils.Personalization.getInstance(infoUtente.idAmministrazione).getLibrary();
        //            DocsPaDocumentale.Documentale.ProjectManager documentManager = new DocsPaDocumentale.Documentale.ProjectManager(infoUtente, library);

        //            if(!documentManager.DeleteProject((string)listaID[i]))
        //            {
        //                logger.Debug("Errore nella gestione dei fascicoli. (deleteTitolario)");
        //                throw new Exception("Errore della cancellazione di un progetto");
        //            }
        //        }
        //    }
        //    else
        //    {
        //        logger.Debug("Errore nella gestione dei fascicoli. Il titolario contiene dei documenti. (deleteTitolario)");
        //        throw new Exception("Il titolario contiene dei documenti");
        //    }
        //}

        /// <summary>
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="nodoTitolario"></param>
        /// <returns></returns>
        public static string getCodiceFiglioTitolario(string idAmministrazione, DocsPaVO.fascicolazione.Classificazione nodoTitolario)
        {
            int    nextVal      = 1;
            string codiceParent = null;

            if (nodoTitolario != null && nodoTitolario.systemID != null)
            {
                string separator = DocsPaDB.Utils.Personalization.getInstance(idAmministrazione).getSeparator();
                codiceParent = nodoTitolario.codice + separator;

                if (nodoTitolario.childs != null && nodoTitolario.childs.Count > 0)
                {
                    for (int i = 0; i < nodoTitolario.childs.Count; i++)
                    {
                        string tmp = codiceParent + nextVal.ToString();

                        if (((DocsPaVO.fascicolazione.Classificazione)nodoTitolario.childs[i]).codice.Equals(tmp))
                        {
                            nextVal++;
                            i = 0;
                        }
                    }
                }
            }
            else
            {
                #region Codice Commentato

                /*string queryStr =
                 *      "SELECT COUNT(*) FROM PROJECT WHERE CHA_TIPO_PROJ = 'T' " +
                 *      "AND (NUM_LIVELLO = 0 OR NUM_LIVELLO IS NULL) AND ID_AMM = " + infoUtente.idAmministrazione;
                 * logger.Debug(queryStr);
                 * nextVal = Int32.Parse(db.executeScalar(queryStr).ToString()) + 1;*/
                #endregion

                DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                nextVal = Int32.Parse(fascicoli.GetCodiceFiglioTitolario(idAmministrazione)) + 1;
                fascicoli.Dispose();
            }

            string ret = checkCodice(idAmministrazione, codiceParent, nextVal);

            while (ret == null)
            {
                ret = checkCodice(idAmministrazione, codiceParent, nextVal++);
            }

            return(ret);
        }
예제 #5
0
        /// <summary>
        /// </summary>
        /// <param name="db"></param>
        /// <param name="idProject"></param>
        /// <param name="idParent"></param>
        /// <param name="debug"></param>
        internal static void setVisibilita(/*DocsPaWS.Utils.Database db,*/ string idProject, string idParent)
        {
            #region Codice Commentato

            /*string insertStr =
             *      "INSERT INTO SECURITY (THING, PERSONORGROUP, ACCESSRIGHTS, ID_GRUPPO_TRASM, CHA_TIPO_DIRITTO) " +
             *      "(SELECT " + idProject + ", PERSONORGROUP, ACCESSRIGHTS, ID_GRUPPO_TRASM, CHA_TIPO_DIRITTO FROM SECURITY WHERE THING=" + idParent + ")";
             * logger.Debug(insertStr);
             * db.executeNonQuery(insertStr);*/
            #endregion

            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            fascicoli.SetVisibilita(idProject, idParent);
            fascicoli.Dispose();
        }
예제 #6
0
        /// <summary>
        /// </summary>
        /// <param name="classifica"></param>
        /// <param name="idRegistro"></param>
        /// <param name="infoUtente"></param>
        /// <returns></returns>
        public static ArrayList getFigliClassifica(string idGruppo, string idPeople, DocsPaVO.fascicolazione.Classifica classifica, string idRegistro, string idAmm)
        {
            ArrayList lista = new ArrayList();

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

            lista = fascicoli.GetFigliClassifica(idGruppo, idPeople, classifica, idRegistro, idAmm);

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

            fascicoli.Dispose();
            return(lista);
        }
예제 #7
0
        /// <summary>
        /// </summary>
        /// <param name="codiceParent"></param>
        /// <param name="nextVal"></param>
        /// <param name="infoUtente"></param>
        /// <returns></returns>
        private static string checkCodice(string idAmministrazione, string codiceParent, int nextVal)
        {
            #region Codice Commentato

            /*string ret = "";
             * if(codiceParent != null)
             *      ret = codiceParent;
             * ret += nextVal.ToString();
             * string queryStr =
             *      "SELECT COUNT(*) FROM PROJECT WHERE CHA_TIPO_PROJ = 'T' " +
             *      "AND VAR_CODICE = '" + ret +
             *      "' AND ID_AMM = " + infoUtente.idAmministrazione;
             * logger.Debug(queryStr);
             * if(!db.executeScalar(queryStr).ToString().Equals("0"))
             *      ret = null;
             * return ret;*/
            #endregion

            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            string ret = fascicoli.CheckCodice(idAmministrazione, codiceParent, nextVal.ToString());
            fascicoli.Dispose();
            return(ret);
        }
예제 #8
0
        /// <summary>
        /// </summary>
        /// <param name="db"></param>
        /// <param name="idProject"></param>
        /// <param name="debug"></param>
        /// <returns></returns>
        internal static ArrayList getVisibilitaSemplificata(/*DocsPaWS.Utils.Database db,*/ string idProject, bool cercaRimossi, string rootFolder)
        {
            System.Collections.ArrayList listaDiritti = new System.Collections.ArrayList();

            //query distinte per i ruoli e per gli utenti
            //1-->inserimento ruoli
            DataSet dataSet;//= new  DataSet();

            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            fascicoli.GetVisibilitaSemplificata(out dataSet, idProject);
            fascicoli.Dispose();
            string IDAMM = string.Empty;

            foreach (DataRow ruoloRow in dataSet.Tables["DIRITTI_RUOLI"].Rows)
            {
                DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto();
                DocsPaVO.utente.Ruolo ruolo = new DocsPaVO.utente.Ruolo();

                // Visualizzazione del pulsante della storia del ruolo se il ruolo ha una storia
                ruolo.ShowHistory = ruoloRow["ShowHistory"] != DBNull.Value ? ruoloRow["ShowHistory"].ToString() : String.Empty;

                // Impostazione dell'id del ruolo
                ruolo.systemId = ruoloRow["system_id"].ToString();

                ruolo.codiceRubrica = ruoloRow["VAR_COD_RUBRICA"].ToString();

                ruolo.dta_fine = ruoloRow["dta_fine"].ToString();

                if (ruoloRow["ID_REGISTRO"] != null && !ruoloRow["ID_REGISTRO"].ToString().Equals(""))
                {
                    System.Collections.ArrayList reg = new System.Collections.ArrayList();
                    reg.Add(ruoloRow["ID_REGISTRO"].ToString());
                    ruolo.registri = reg;
                }
                if (ruoloRow["ID_AMM"] != null && !ruoloRow["ID_AMM"].ToString().Equals(""))
                {
                    ruolo.idAmministrazione = ruoloRow["ID_AMM"].ToString();
                    IDAMM = ruolo.idAmministrazione;
                }

                if (ruoloRow["VAR_DESC_CORR"] != null && !ruoloRow["VAR_DESC_CORR"].ToString().Equals(""))
                {
                    ruolo.descrizione = ruoloRow["VAR_DESC_CORR"].ToString();
                }

                if (ruoloRow["ID_UO"] != null && !ruoloRow["ID_UO"].ToString().Equals(""))
                {
                    ruolo.uo                   = new DocsPaVO.utente.UnitaOrganizzativa();
                    ruolo.uo.systemId          = ruoloRow["ID_UO"].ToString();
                    ruolo.uo.idAmministrazione = IDAMM;
                    if (ruoloRow["DESC_UO"] != null && !ruoloRow["DESC_UO"].ToString().Equals(""))
                    {
                        ruolo.uo.descrizione = ruoloRow["DESC_UO"].ToString();
                    }
                    if (ruoloRow["CHA_TIPO_UO"] != null && !ruoloRow["CHA_TIPO_UO"].ToString().Equals(""))
                    {
                        ruolo.uo.tipoIE = ruoloRow["CHA_TIPO_UO"].ToString();
                    }
                    if (ruoloRow["VAR_COD_UO"] != null && !ruoloRow["VAR_COD_UO"].ToString().Equals(""))
                    {
                        ruolo.uo.codiceRubrica = ruoloRow["VAR_COD_UO"].ToString();
                    }
                }

                if (ruoloRow["CHA_TIPO_URP"] != null && !ruoloRow["CHA_TIPO_URP"].ToString().Equals(""))
                {
                    ruolo.tipoCorrispondente = ruoloRow["CHA_TIPO_URP"].ToString();
                }

                if (ruoloRow["CHA_TIPO_IE"] != null && !ruoloRow["CHA_TIPO_IE"].ToString().Equals(""))
                {
                    ruolo.tipoIE = ruoloRow["CHA_TIPO_IE"].ToString();
                }
                ruolo.idGruppo               = ruoloRow["PERSONORGROUP"].ToString();
                dirittoOggetto.idObj         = idProject;
                dirittoOggetto.soggetto      = ruolo;
                dirittoOggetto.tipoDiritto   = getDirittoFasc(ruoloRow["CHA_TIPO_DIRITTO"].ToString());
                dirittoOggetto.accessRights  = Convert.ToInt32(ruoloRow["ACCESSRIGHTS"]);
                dirittoOggetto.deleted       = false;
                dirittoOggetto.personorgroup = ruoloRow["PERSONORGROUP"].ToString();
                dirittoOggetto.rootFolder    = rootFolder;

                if (ruoloRow["TS_INSERIMENTO"] != DBNull.Value)
                {
                    dirittoOggetto.dtaInsSecurity = ruoloRow["TS_INSERIMENTO"].ToString();
                }
                if (ruoloRow["VAR_NOTE_SEC"] != DBNull.Value)
                {
                    dirittoOggetto.noteSecurity = ruoloRow["VAR_NOTE_SEC"].ToString();
                }

                listaDiritti.Add(dirittoOggetto);
                logger.Debug("Ruolo inserito");
            }

            //2-->Inserimento utenti
            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoliUtenti = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            DataSet dataSet1;

            fascicoliUtenti.GetVisibilita1Semplificata(out dataSet1, idProject);
            fascicoliUtenti.Dispose();

            foreach (DataRow utenteRow in dataSet1.Tables["DIRITTI_UTENTI"].Rows)
            {
                DocsPaVO.utente.Utente utenteTemp = new DocsPaVO.utente.Utente();
                DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto();
                DocsPaVO.fascicolazione.TipoDiritto    tipoDiritto    = getDirittoFasc(utenteRow["CHA_TIPO_DIRITTO"].ToString());
                utenteTemp.codiceRubrica = utenteRow["VAR_COD_RUBRICA"].ToString();
                if (utenteRow["ID_REGISTRO"] != null && !utenteRow["ID_REGISTRO"].ToString().Equals(""))
                {
                    string reg = utenteRow["ID_REGISTRO"].ToString();
                    utenteTemp.idRegistro = reg;
                }
                if (utenteRow["ID_AMM"] != null && !utenteRow["ID_AMM"].ToString().Equals(""))
                {
                    utenteTemp.idAmministrazione = utenteRow["ID_AMM"].ToString();
                }

                if (utenteRow["VAR_DESC_CORR"] != null && !utenteRow["VAR_DESC_CORR"].ToString().Equals(""))
                {
                    utenteTemp.descrizione = utenteRow["VAR_DESC_CORR"].ToString();
                }

                if (utenteRow["CHA_TIPO_URP"] != null && !utenteRow["CHA_TIPO_URP"].ToString().Equals(""))
                {
                    utenteTemp.tipoCorrispondente = utenteRow["CHA_TIPO_URP"].ToString();
                }

                if (utenteRow["CHA_TIPO_IE"] != null && !utenteRow["CHA_TIPO_IE"].ToString().Equals(""))
                {
                    utenteTemp.tipoIE = utenteRow["CHA_TIPO_IE"].ToString();
                }

                utenteTemp.idPeople = utenteRow["PERSONORGROUP"].ToString();

                dirittoOggetto.idObj         = idProject;
                dirittoOggetto.soggetto      = utenteTemp;
                dirittoOggetto.tipoDiritto   = getDirittoFasc(utenteRow["CHA_TIPO_DIRITTO"].ToString());
                dirittoOggetto.accessRights  = Convert.ToInt32(utenteRow["ACCESSRIGHTS"]);
                dirittoOggetto.deleted       = false;
                dirittoOggetto.personorgroup = utenteRow["PERSONORGROUP"].ToString();
                dirittoOggetto.rootFolder    = rootFolder;

                if (dirittoOggetto.tipoDiritto.Equals(DocsPaVO.fascicolazione.TipoDiritto.TIPO_DELEGATO))
                {
                    dirittoOggetto.soggetto             = utenteTemp;
                    dirittoOggetto.soggetto.descrizione = utenteTemp.descrizione + " sostituto di " + utenteTemp.descrizione;
                }
                else
                {
                    dirittoOggetto.soggetto = utenteTemp;
                }

                listaDiritti.Add(dirittoOggetto);
                logger.Debug("Utente inserito");
            }

            //3-4 --> inserimento ruoli e utenti rimossi
            if (cercaRimossi)
            {
                //3-->gestione ruoli diritti rimossi
                DataSet dsRuoliRimossi;//= new  DataSet();
                DocsPaDB.Query_DocsPAWS.Fascicoli fascRuoliRimossi = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                fascRuoliRimossi.GetVisibilita_rimossiSemplificata(out dsRuoliRimossi, idProject);
                fascRuoliRimossi.Dispose();
                foreach (DataRow ruoloRow in dsRuoliRimossi.Tables["DIRITTI_RUOLI_DELETED"].Rows)
                {
                    DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto();
                    DocsPaVO.utente.Ruolo ruolo = new DocsPaVO.utente.Ruolo();
                    ruolo.codiceRubrica = ruoloRow["VAR_COD_RUBRICA"].ToString();

                    if (ruoloRow["ID_REGISTRO"] != null && !ruoloRow["ID_REGISTRO"].ToString().Equals(""))
                    {
                        System.Collections.ArrayList reg = new System.Collections.ArrayList();
                        reg.Add(ruoloRow["ID_REGISTRO"].ToString());
                        ruolo.registri = reg;
                    }
                    if (ruoloRow["ID_AMM"] != null && !ruoloRow["ID_AMM"].ToString().Equals(""))
                    {
                        ruolo.idAmministrazione = ruoloRow["ID_AMM"].ToString();
                        IDAMM = ruolo.idAmministrazione;
                    }

                    if (ruoloRow["VAR_DESC_CORR"] != null && !ruoloRow["VAR_DESC_CORR"].ToString().Equals(""))
                    {
                        ruolo.descrizione = ruoloRow["VAR_DESC_CORR"].ToString();
                    }

                    if (ruoloRow["ID_UO"] != null && !ruoloRow["ID_UO"].ToString().Equals(""))
                    {
                        ruolo.uo                   = new DocsPaVO.utente.UnitaOrganizzativa();
                        ruolo.uo.systemId          = ruoloRow["ID_UO"].ToString();
                        ruolo.uo.idAmministrazione = IDAMM;
                        if (ruoloRow["DESC_UO"] != null && !ruoloRow["DESC_UO"].ToString().Equals(""))
                        {
                            ruolo.uo.descrizione = ruoloRow["DESC_UO"].ToString();
                        }
                        if (ruoloRow["CHA_TIPO_UO"] != null && !ruoloRow["CHA_TIPO_UO"].ToString().Equals(""))
                        {
                            ruolo.uo.tipoIE = ruoloRow["CHA_TIPO_UO"].ToString();
                        }
                        if (ruoloRow["VAR_COD_UO"] != null && !ruoloRow["VAR_COD_UO"].ToString().Equals(""))
                        {
                            ruolo.uo.codiceRubrica = ruoloRow["VAR_COD_UO"].ToString();
                        }
                    }

                    if (ruoloRow["CHA_TIPO_URP"] != null && !ruoloRow["CHA_TIPO_URP"].ToString().Equals(""))
                    {
                        ruolo.tipoCorrispondente = ruoloRow["CHA_TIPO_URP"].ToString();
                    }

                    if (ruoloRow["CHA_TIPO_IE"] != null && !ruoloRow["CHA_TIPO_IE"].ToString().Equals(""))
                    {
                        ruolo.tipoIE = ruoloRow["CHA_TIPO_IE"].ToString();
                    }

                    ruolo.idGruppo               = ruoloRow["PERSONORGROUP"].ToString();
                    dirittoOggetto.idObj         = idProject;
                    dirittoOggetto.soggetto      = ruolo;
                    dirittoOggetto.tipoDiritto   = getDirittoFasc(ruoloRow["CHA_TIPO_DIRITTO"].ToString());
                    dirittoOggetto.accessRights  = Convert.ToInt32(ruoloRow["ACCESSRIGHTS"]);
                    dirittoOggetto.deleted       = true;
                    dirittoOggetto.personorgroup = ruoloRow["PERSONORGROUP"].ToString();
                    dirittoOggetto.rootFolder    = rootFolder;

                    listaDiritti.Add(dirittoOggetto);
                    logger.Debug("Ruolo rimosso inserito");
                }

                //4-->gestione utenti diritti rimossi
                DocsPaDB.Query_DocsPAWS.Fascicoli fascUtentiRimossi = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                DataSet dsUtentiRimossi;
                fascUtentiRimossi.GetVisibilita_UtentiRimossiSemplificata(out dsUtentiRimossi, idProject);
                fascUtentiRimossi.Dispose();
                foreach (DataRow utenteRow in dsUtentiRimossi.Tables["DIRITTI_UTENTI_RIMOSSI"].Rows)
                {
                    DocsPaVO.utente.Utente utenteTemp = new DocsPaVO.utente.Utente();
                    DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto();
                    DocsPaVO.fascicolazione.TipoDiritto    tipoDiritto    = getDirittoFasc(utenteRow["CHA_TIPO_DIRITTO"].ToString());
                    utenteTemp.codiceRubrica = utenteRow["VAR_COD_RUBRICA"].ToString();
                    if (utenteRow["ID_REGISTRO"] != null && !utenteRow["ID_REGISTRO"].ToString().Equals(""))
                    {
                        string reg = utenteRow["ID_REGISTRO"].ToString();
                        utenteTemp.idRegistro = reg;
                    }
                    if (utenteRow["ID_AMM"] != null && !utenteRow["ID_AMM"].ToString().Equals(""))
                    {
                        utenteTemp.idAmministrazione = utenteRow["ID_AMM"].ToString();
                    }

                    if (utenteRow["VAR_DESC_CORR"] != null && !utenteRow["VAR_DESC_CORR"].ToString().Equals(""))
                    {
                        utenteTemp.descrizione = utenteRow["VAR_DESC_CORR"].ToString();
                    }

                    if (utenteRow["CHA_TIPO_URP"] != null && !utenteRow["CHA_TIPO_URP"].ToString().Equals(""))
                    {
                        utenteTemp.tipoCorrispondente = utenteRow["CHA_TIPO_URP"].ToString();
                    }

                    if (utenteRow["CHA_TIPO_IE"] != null && !utenteRow["CHA_TIPO_IE"].ToString().Equals(""))
                    {
                        utenteTemp.tipoIE = utenteRow["CHA_TIPO_IE"].ToString();
                    }

                    utenteTemp.idPeople = utenteRow["PERSONORGROUP"].ToString();

                    dirittoOggetto.idObj         = idProject;
                    dirittoOggetto.soggetto      = utenteTemp;
                    dirittoOggetto.tipoDiritto   = getDirittoFasc(utenteRow["CHA_TIPO_DIRITTO"].ToString());
                    dirittoOggetto.accessRights  = Convert.ToInt32(utenteRow["ACCESSRIGHTS"]);
                    dirittoOggetto.deleted       = true;
                    dirittoOggetto.personorgroup = utenteRow["PERSONORGROUP"].ToString();
                    dirittoOggetto.rootFolder    = rootFolder;

                    if (dirittoOggetto.tipoDiritto.Equals(DocsPaVO.fascicolazione.TipoDiritto.TIPO_DELEGATO))
                    {
                        dirittoOggetto.soggetto             = utenteTemp;
                        dirittoOggetto.soggetto.descrizione = utenteTemp.descrizione + " sostituto di " + utenteTemp.descrizione;
                    }
                    else
                    {
                        dirittoOggetto.soggetto = utenteTemp;
                    }

                    listaDiritti.Add(dirittoOggetto);
                    logger.Debug("Utente rimosso inserito");
                }
            }

            //ritorna la lista dei diritti
            return(listaDiritti);
        }
예제 #9
0
        /// <summary>
        /// </summary>
        /// <param name="db"></param>
        /// <param name="tipoProj"></param>
        /// <param name="listaID"></param>
        /// <param name="corrAdd"></param>
        /// <param name="corrRemove"></param>
        /// <param name="debug"></param>
        internal static void setVisibilita(/*DocsPaWS.Utils.Database db,*/ string tipoProj, ArrayList listaID, DocsPaVO.utente.Corrispondente[] corrAdd, DocsPaVO.utente.Corrispondente[] corrRemove)
        {
            //string insertStr;
            //string deleteStr;
            string personOrGroup = "";

            if (listaID == null)
            {
                return;
            }

            if (listaID.Count == 0)
            {
                return;
            }

            listaID = getChildren(/*db,*/ tipoProj, listaID);

            string idProject;

            if (corrAdd != null && corrAdd.Length > 0 && listaID.Count > 0)
            {
                for (int j = 0; j < listaID.Count; j++)
                {
                    idProject = (string)listaID[j];

                    for (int i = 0; i < corrAdd.Length; i++)
                    {
                        if (corrAdd[i].GetType().Equals(typeof(DocsPaVO.utente.Utente)))
                        {
                            personOrGroup = ((DocsPaVO.utente.Utente)corrAdd[i]).idPeople;
                        }
                        else if (corrAdd[i].GetType().Equals(typeof(DocsPaVO.utente.Ruolo)))
                        {
                            personOrGroup = ((DocsPaVO.utente.Ruolo)corrAdd[i]).idGruppo;
                        }
                        else
                        {
                            logger.Debug("Errore nella gestione dei fascicoli. (setVisibilita)");
                            throw new Exception("Tipo non supportato");
                        }

                        #region Codice Commentato

                        /*insertStr =
                         *      "INSERT INTO SECURITY (THING, PERSONORGROUP, ACCESSRIGHTS, ID_GRUPPO_TRASM, CHA_TIPO_DIRITTO) " +
                         *      "VALUES (" + idProject + ", " + personOrGroup + ", 255, " + personOrGroup + ", 'P')";
                         * logger.Debug(insertStr);
                         * db.executeLocked(insertStr);*/
                        #endregion

                        DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                        fascicoli.SetVisibilitaInsert(idProject, personOrGroup);
                        fascicoli.Dispose();
                    }
                }
            }

            if (corrRemove != null && corrRemove.Length > 0 && listaID.Count > 0)
            {
                idProject = (string)listaID[0];

                for (int i = 1; i < listaID.Count; i++)
                {
                    idProject += "," + (string)listaID[i];
                }

                personOrGroup = "(" + getIdUtenteRuolo(corrRemove[0]);

                for (int i = 1; i < corrRemove.Length; i++)
                {
                    personOrGroup += "," + getIdUtenteRuolo(corrRemove[i]);
                }

                personOrGroup += ")";

                #region Codice Commentato

                /*deleteStr =
                 *      "DELETE FROM SECURITY WHERE THING IN (" + idProject + ") AND PERSONORGROUP IN " + personOrGroup;
                 * logger.Debug(deleteStr);
                 * db.executeLocked(deleteStr);*/
                #endregion

                DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                fascicoli.SetVisibilitaDelete(idProject, personOrGroup);
                fascicoli.Dispose();
            }
        }
예제 #10
0
        /// <summary>
        /// </summary>
        /// <param name="db"></param>
        /// <param name="idProject"></param>
        /// <param name="debug"></param>
        /// <returns></returns>
        internal static ArrayList getVisibilita(/*DocsPaWS.Utils.Database db,*/ string idProject, bool cercaRimossi, string rootFolder)
        {
            System.Collections.ArrayList listaDiritti = new System.Collections.ArrayList();

            //query distinte per i ruoli e per gli utenti
            //1-->inserimento ruoli
            DataSet dataSet;//= new  DataSet();

            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            fascicoli.GetVisibilita(out dataSet, idProject);
            fascicoli.Dispose();
            foreach (DataRow ruoloRow in dataSet.Tables["DIRITTI_RUOLI"].Rows)
            {
                DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto();
                DocsPaVO.utente.Ruolo ruolo = new DocsPaVO.utente.Ruolo();
                DocsPaVO.addressbook.QueryCorrispondente qco = new DocsPaVO.addressbook.QueryCorrispondente();
                qco.codiceRubrica = ruoloRow["VAR_COD_RUBRICA"].ToString();
                qco.getChildren   = false;

                if (ruoloRow["ID_REGISTRO"] != null && !ruoloRow["ID_REGISTRO"].ToString().Equals(""))
                {
                    System.Collections.ArrayList reg = new System.Collections.ArrayList();
                    reg.Add(ruoloRow["ID_REGISTRO"].ToString());
                    qco.idRegistri = reg;
                }

                if (ruoloRow["ID_AMM"] != null && !ruoloRow["ID_AMM"].ToString().Equals(""))
                {
                    qco.idAmministrazione = ruoloRow["ID_AMM"].ToString();
                }

                qco.tipoUtente               = DocsPaVO.addressbook.TipoUtente.INTERNO;
                ruolo                        = (DocsPaVO.utente.Ruolo)BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco)[0];
                dirittoOggetto.idObj         = idProject;
                dirittoOggetto.soggetto      = ruolo;
                dirittoOggetto.tipoDiritto   = getDirittoFasc(ruoloRow["CHA_TIPO_DIRITTO"].ToString());
                dirittoOggetto.accessRights  = Convert.ToInt32(ruoloRow["ACCESSRIGHTS"]);
                dirittoOggetto.deleted       = false;
                dirittoOggetto.personorgroup = ruoloRow["PERSONORGROUP"].ToString();
                dirittoOggetto.rootFolder    = rootFolder;

                listaDiritti.Add(dirittoOggetto);
            }

            //2-->Inserimento utenti
            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoliUtenti = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            DataSet dataSet1;

            fascicoliUtenti.GetVisibilita1(out dataSet1, idProject);
            fascicoliUtenti.Dispose();
            DocsPaVO.addressbook.QueryCorrispondente qco1          = new DocsPaVO.addressbook.QueryCorrispondente();
            System.Collections.ArrayList             utentiInt     = new ArrayList();
            DocsPaVO.utente.Corrispondente           soggettoPropr = null;
            string delegante = "";

            if (dataSet1.Tables["DIRITTI_UTENTI"].Rows.Count > 1)
            {
                foreach (DataRow utenteRow in dataSet1.Tables["DIRITTI_UTENTI"].Rows)
                {
                    DocsPaVO.fascicolazione.TipoDiritto tipoDiritto = getDirittoFasc(utenteRow["CHA_TIPO_DIRITTO"].ToString());
                    if (tipoDiritto.Equals(DocsPaVO.fascicolazione.TipoDiritto.TIPO_PROPRIETARIO))
                    {
                        qco1.codiceRubrica = utenteRow["VAR_COD_RUBRICA"].ToString();
                        qco1.getChildren   = false;
                        if (utenteRow["ID_REGISTRO"] != null && !utenteRow["ID_REGISTRO"].ToString().Equals(""))
                        {
                            System.Collections.ArrayList reg = new System.Collections.ArrayList();
                            reg.Add(utenteRow["ID_REGISTRO"].ToString());
                            qco1.idRegistri = reg;
                        }
                        if (utenteRow["ID_AMM"] != null && !utenteRow["ID_AMM"].ToString().Equals(""))
                        {
                            qco1.idAmministrazione = utenteRow["ID_AMM"].ToString();
                        }
                        qco1.tipoUtente = DocsPaVO.addressbook.TipoUtente.INTERNO;

                        //gadamo 16.12.2008
                        qco1.fineValidita = false; // voglio recuperare anche i disabilitati ( non mette "DTA_FINE IS NULL" nella query nel metodo Utenti.ListaCorrispondentiInt(qco) )


                        utentiInt = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco1);
                        //DocsPaVO.utente.Utente utProprietario = new DocsPaVO.utente.Utente();
                        //utentiInt = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco1);
                        if (utentiInt != null && utentiInt.Count > 0)
                        {
                            soggettoPropr = (DocsPaVO.utente.Utente)utentiInt[0];
                            //soggettoPropr = utProprietario;
                        }
                    }
                }
            }
            else
            {
                DataRow row = (DataRow)(dataSet1.Tables["DIRITTI_UTENTI"].Rows[0]);
                delegante = row["VAR_COGNOME"].ToString() + " " + row["VAR_NOME"].ToString();
            }


            foreach (DataRow utenteRow in dataSet1.Tables["DIRITTI_UTENTI"].Rows)
            {
                DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto();
                DocsPaVO.utente.Utente utente = new DocsPaVO.utente.Utente();
                DocsPaVO.addressbook.QueryCorrispondente qco = new DocsPaVO.addressbook.QueryCorrispondente();
                qco.codiceRubrica = utenteRow["VAR_COD_RUBRICA"].ToString();
                qco.getChildren   = false;

                if (utenteRow["ID_REGISTRO"] != null && !utenteRow["ID_REGISTRO"].ToString().Equals(""))
                {
                    System.Collections.ArrayList reg = new System.Collections.ArrayList();
                    reg.Add(utenteRow["ID_REGISTRO"].ToString());
                    qco.idRegistri = reg;
                }

                if (utenteRow["ID_AMM"] != null && !utenteRow["ID_AMM"].ToString().Equals(""))
                {
                    qco.idAmministrazione = utenteRow["ID_AMM"].ToString();
                }

                qco.tipoUtente = DocsPaVO.addressbook.TipoUtente.INTERNO;
                ArrayList utenti = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco);
                utente = (DocsPaVO.utente.Utente)BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco)[0];
                dirittoOggetto.idObj       = idProject;
                dirittoOggetto.tipoDiritto = getDirittoFasc(utenteRow["CHA_TIPO_DIRITTO"].ToString());
                //dirittoOggetto.soggetto=utente;
                if (dirittoOggetto.tipoDiritto.Equals(DocsPaVO.fascicolazione.TipoDiritto.TIPO_DELEGATO))
                {
                    dirittoOggetto.soggetto = utente;
                    if (soggettoPropr != null)
                    {
                        dirittoOggetto.soggetto.descrizione = utente.descrizione + " sostituto di " + soggettoPropr.descrizione;
                    }
                    else
                    {
                        dirittoOggetto.soggetto.descrizione = utente.descrizione + " sostituto di " + delegante;
                    }
                }
                else
                {
                    dirittoOggetto.soggetto = utente;
                }
                dirittoOggetto.accessRights  = Convert.ToInt32(utenteRow["ACCESSRIGHTS"]);
                dirittoOggetto.deleted       = false;
                dirittoOggetto.personorgroup = utenteRow["PERSONORGROUP"].ToString();
                dirittoOggetto.rootFolder    = rootFolder;
                listaDiritti.Add(dirittoOggetto);
                logger.Debug("Utente inserito");
            }
            ;

            //3-4 --> inserimento ruoli e utenti rimossi
            if (cercaRimossi)
            {
                //3-->gestione ruoli diritti rimossi
                DataSet dsRuoliRimossi;//= new  DataSet();
                DocsPaDB.Query_DocsPAWS.Fascicoli fascRuoliRimossi = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                fascRuoliRimossi.GetVisibilita_rimossi(out dsRuoliRimossi, idProject);
                fascRuoliRimossi.Dispose();
                foreach (DataRow ruoloRow in dsRuoliRimossi.Tables["DIRITTI_RUOLI_RIMOSSI"].Rows)
                {
                    DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto();
                    DocsPaVO.utente.Ruolo ruolo = new DocsPaVO.utente.Ruolo();

                    DocsPaVO.addressbook.QueryCorrispondente qco = new DocsPaVO.addressbook.QueryCorrispondente();
                    qco.codiceRubrica = ruoloRow["VAR_COD_RUBRICA"].ToString();
                    qco.getChildren   = false;
                    if (ruoloRow["ID_REGISTRO"] != null && !ruoloRow["ID_REGISTRO"].ToString().Equals(""))
                    {
                        System.Collections.ArrayList reg = new System.Collections.ArrayList();
                        reg.Add(ruoloRow["ID_REGISTRO"].ToString());
                        qco.idRegistri = reg;
                    }
                    if (ruoloRow["ID_AMM"] != null && !ruoloRow["ID_AMM"].ToString().Equals(""))
                    {
                        qco.idAmministrazione = ruoloRow["ID_AMM"].ToString();
                    }
                    qco.tipoUtente               = DocsPaVO.addressbook.TipoUtente.INTERNO;
                    ruolo                        = (DocsPaVO.utente.Ruolo)BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco)[0];
                    dirittoOggetto.idObj         = idProject;
                    dirittoOggetto.soggetto      = ruolo;
                    dirittoOggetto.tipoDiritto   = getDirittoFasc(ruoloRow["CHA_TIPO_DIRITTO"].ToString());
                    dirittoOggetto.accessRights  = Convert.ToInt32(ruoloRow["ACCESSRIGHTS"]);
                    dirittoOggetto.deleted       = true;
                    dirittoOggetto.note          = ruoloRow["NOTE"].ToString();
                    dirittoOggetto.personorgroup = ruoloRow["PERSONORGROUP"].ToString();
                    dirittoOggetto.rootFolder    = rootFolder;
                    listaDiritti.Add(dirittoOggetto);
                }

                //4-->gestione utenti diritti rimossi
                DocsPaDB.Query_DocsPAWS.Fascicoli fascUtentiRimossi = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                DataSet dsUtentiRimossi;
                fascUtentiRimossi.GetVisibilita_UtentiRimossi(out dsUtentiRimossi, idProject);
                fascUtentiRimossi.Dispose();
                foreach (DataRow utenteRow in dsUtentiRimossi.Tables["DIRITTI_UTENTI_RIMOSSI"].Rows)
                {
                    DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto();
                    DocsPaVO.utente.Utente utente = new DocsPaVO.utente.Utente();
                    DocsPaVO.addressbook.QueryCorrispondente qco = new DocsPaVO.addressbook.QueryCorrispondente();
                    qco.codiceRubrica = utenteRow["VAR_COD_RUBRICA"].ToString();
                    qco.getChildren   = false;
                    if (utenteRow["ID_REGISTRO"] != null && !utenteRow["ID_REGISTRO"].ToString().Equals(""))
                    {
                        System.Collections.ArrayList reg = new System.Collections.ArrayList();
                        reg.Add(utenteRow["ID_REGISTRO"].ToString());
                        qco.idRegistri = reg;
                    }

                    if (utenteRow["ID_AMM"] != null && !utenteRow["ID_AMM"].ToString().Equals(""))
                    {
                        qco.idAmministrazione = utenteRow["ID_AMM"].ToString();
                    }

                    qco.tipoUtente = DocsPaVO.addressbook.TipoUtente.INTERNO;
                    ArrayList utenti = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco);
                    utente = (DocsPaVO.utente.Utente)BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco)[0];
                    dirittoOggetto.idObj         = idProject;
                    dirittoOggetto.soggetto      = utente;
                    dirittoOggetto.tipoDiritto   = getDirittoFasc(utenteRow["CHA_TIPO_DIRITTO"].ToString());
                    dirittoOggetto.accessRights  = Convert.ToInt32(utenteRow["ACCESSRIGHTS"]);
                    dirittoOggetto.deleted       = true;
                    dirittoOggetto.note          = utenteRow["NOTE"].ToString();
                    dirittoOggetto.personorgroup = utenteRow["PERSONORGROUP"].ToString();
                    dirittoOggetto.rootFolder    = rootFolder;
                    listaDiritti.Add(dirittoOggetto);
                    logger.Debug("Utente inserito");
                }
            }

            //ritorna la lista dei diritti
            return(listaDiritti);
        }