Beispiel #1
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();
            }
        }