Ejemplo n.º 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();
        }
Ejemplo n.º 2
0
        public static List <SearchResultInfo> getListaDocumentiByIdProject(string idProject)
        {
            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            List <SearchResultInfo>           tempList  = fascicoli.getIdDocFasc(idProject);

            return(tempList);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// </summary>
        /// <param name="nodoTitolario"></param>
        /// <param name="infoUtente"></param>
        /// <returns></returns>
        public static DocsPaVO.fascicolazione.Classificazione updateTitolario(DocsPaVO.fascicolazione.Classificazione nodoTitolario)
        {
            #region Codice Commentato

            /*logger.Debug("updateTitolario");
             * if(nodoTitolario != null && nodoTitolario.systemID != null) {
             *      if (!(nodoTitolario.descrizione != null && !nodoTitolario.descrizione.Equals("")))
             *              throw new Exception("Verificare il campo descrizione");
             *
             *      string updateStr =
             *              "UPDATE PROJECT SET DESCRIPTION = '" + nodoTitolario.descrizione.Replace("'", "''") + "' WHERE SYSTEM_ID=" + nodoTitolario.systemID;
             *      logger.Debug(updateStr);
             *      DocsPa_V15_Utils.Database db = DocsPa_V15_Utils.dbControl.getDatabase();
             *      db.openConnection();
             *      db.executeNonQuery(updateStr);
             *      db.closeConnection();
             * }
             * return nodoTitolario;*/
            #endregion

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

            DocsPaVO.fascicolazione.Classificazione result = fascicoli.UpdateTitolario(nodoTitolario);

            if (result == null)
            {
                logger.Debug("Errore nella gestione del titolario. (updateTitolario)");
                throw new Exception("Verificare il campo descrizione");
            }

            return(result);
        }
Ejemplo n.º 4
0
        //Recupera la lista dei fascicoli procedimentali chiusi in deposito per un dato fascicolo generale
        //OK
        public static System.Collections.ArrayList getListaFascicoliInDeposito(DocsPaVO.utente.InfoUtente infoUtente,
                                                                               DocsPaVO.fascicolazione.Fascicolo fascicolo,
                                                                               int numPage, out int numTotPage,
                                                                               out int nRec, string tipoRic)
        {
            numTotPage = 0;
            nRec       = 0;
            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            ArrayList result = null;

            if (tipoRic == "C")
            {
                result = fascicoli.GetListaFascicoliInDeposito(infoUtente, fascicolo, numPage, out numTotPage, out nRec);
            }
            else
            {
                result = fascicoli.GetListaFascicoliRicInDeposito(infoUtente, tipoRic, numPage, out numTotPage, out nRec);
            }
            if (result == null)
            {
                logger.Debug("Errore nella gestione dei fascicoli. (getListaFascicoliInDeposito)");
                throw new Exception("F_System");
            }
            return(result);
        }
Ejemplo n.º 5
0
        //Recupero i documenti contenuti nel fascicolo per inserirli in deposito uno ad uno
        private static string insDocInFascinArchivio(string fascId, string tipoOp, bool sottoFascicolo)
        {
            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            ArrayList listaDoc = new ArrayList();

            if (!sottoFascicolo)
            {
                List <SearchResultInfo> tempList = fascicoli.getIdDocFasc(fascId);
                foreach (SearchResultInfo temp in tempList)
                {
                    listaDoc.Add(temp.Id);
                }
            }
            else
            {
                listaDoc = fascicoli.getIdDocSottoFasc(fascId);
            }
            string resInsDoc = "";

            if (listaDoc != null && listaDoc.Count > 0)
            {
                for (int i = 0; i < listaDoc.Count; i++)
                {
                    //Inserisco il documento in deposito
                    resInsDoc = TrasfInDepositoDoc(listaDoc[i].ToString(), "0", tipoOp);
                    if (resInsDoc == "-1")
                    {
                        break;
                    }
                }
            }
            return(resInsDoc);
        }
Ejemplo n.º 6
0
//		/// <summary>
//		/// con la diversa strutturra dell'applicazione
//		/// questo metodo non viene più chiamato
//		/// </summary>
//		private static void checkChildsPermission(/*DocsPa_V15_Utils.Database db,*/ DocsPaVO.fascicolazione.Classificazione nodoTitolario, DocsPaVO.utente.Corrispondente[] corrRemove) {
//			if(corrRemove == null || nodoTitolario.childs == null)
//				return;
//			if(corrRemove.Length > 0 && nodoTitolario.childs.Count > 0) {
//				string personOrGroup = "(" + ProjectsManager.getIdUtenteRuolo(corrRemove[0]);
//				for (int i=1; i < corrRemove.Length; i++)
//					ProjectsManager.getIdUtenteRuolo(corrRemove[i]);
//				personOrGroup += ")";
//				string thing = "(" + ((DocsPaVO.fascicolazione.Classificazione)nodoTitolario.childs[0]).systemID;
//
//				for(int i=1; i < nodoTitolario.childs.Count; i++)
//					thing += "," + ((DocsPaVO.fascicolazione.Classificazione)nodoTitolario.childs[i]).systemID;
//				thing += ")";
//
//				/*string queryStr =
//					"SELECT COUNT(*) FROM SECURITY WHERE PERSONORGROUP IN " + personOrGroup +
//					" AND THING IN " + thing;*/
//				//logger.Debug(queryStr);
//				DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
//
//
//
//				//if(!db.executeScalar(queryStr).ToString().Equals("0"))
//				int securityCount = fascicoli.GetSecurityCount(personOrGroup,thing) ;
//				fascicoli.Dispose();
//
//				if (securityCount.ToString().Equals("0"))
//					throw new Exception("Impossibile rimuovere i ruoli selezionati");
//			}
//		}
        #endregion

        public string filtroRicTitDocspa(string codice, string descrizione, string note, string indice, string idAmm, string idGruppo, string idRegistro, string idTitolario)
        {
            System.Data.DataSet ds;

            string result;

            try
            {
                DocsPaDB.Query_DocsPAWS.Fascicoli obj = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                ds = obj.filtroRicTitolarioDocspa(codice, descrizione, note, indice, idAmm, idGruppo, idRegistro, idTitolario);
                if (ds != null)
                {
                    result = ds.GetXml();
                }
                else
                {
                    result = null;
                }
            }
            catch
            {
                result = null;
            }
            return(result);
        }
Ejemplo n.º 7
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();
        }
Ejemplo n.º 8
0
        public static string getDataFromProject(string campo, string condizione)
        {
            string retValue = string.Empty;

            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            retValue = fascicoli.GetProjectData(campo, condizione);

            return(retValue);
        }
Ejemplo n.º 9
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);
        }
Ejemplo n.º 10
0
        //OK
        /// <summary>
        /// Inserisce in deposito una lista di fascicoli procedimentali chiusi. Per ogni fascicolo
        /// procedimentale chiuso:
        ///         Inserisce in deposito tutti i documenti del fascicolo
        ///         Inserisce in deposito il fascicolo procedimentale: il valore di questo in archivio
        ///         sarà sempre 1
        /// </summary>
        /// <param name="filtriRic"></param>
        /// <param name="infoUtente"></param>
        /// <returns></returns>
        public static bool TrasfInDepositoAllFascProc(DocsPaVO.filtri.FiltroRicerca[][] filtriRic, DocsPaVO.utente.InfoUtente infoUtente, string tipoOp)
        {
            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            int       res       = 0;
            bool      result    = true;
            ArrayList listaFasc = null;

            using (DocsPaDB.TransactionContext transactionalContext = new DocsPaDB.TransactionContext())
            {
                //Ricerca tutti i fascicoli procedimentali chiusi
                listaFasc = BusinessLogic.Fascicoli.FascicoloManager.getListaFascicoli(infoUtente, null, filtriRic[0], false, false, false, null, "");

                for (int i = 0; i < listaFasc.Count; i++)
                {
                    DocsPaVO.fascicolazione.Fascicolo fasc = (DocsPaVO.fascicolazione.Fascicolo)listaFasc[i];
                    if (!TrasfInDepositoFascicoloProc(fasc.systemID, tipoOp))
                    {
                        res++;
                    }
                    ////Per ogni fascicolo inserisco in archivio tutti i documenti contenuti
                    //ArrayList lista = new ArrayList();
                    //lista = fascicoli.getIdDocFasc(fasc.systemID);
                    //string resInsDoc = "";
                    //int docInDep2 = 0;
                    //string valore;
                    //for (int k = 0; k < lista.Count; k++)
                    //{
                    //    //Trasferimento in deposito dell'i-esimo documento del fascicolo
                    //    resInsDoc = TrasfInDepositoDoc(lista[k].ToString(), "0", tipoOp);

                    //    if (resInsDoc == "-1")
                    //        break;

                    //    if (resInsDoc == "2")
                    //        docInDep2++;
                    //}
                    //if (resInsDoc != "-1")
                    //{
                    //    //il fascicolo procedimentale chiuso viene inserito in deposito sempre con valore a 1
                    //    result = TrasfInDepositoFascicolo(fasc.systemID, "1", tipoOp);
                    //}
                }
                if (res > 0)
                {
                    result = false;
                }
                if (result)
                {
                    transactionalContext.Complete();
                }
            }
            return(result);
        }
Ejemplo n.º 11
0
        //Verifica che non ci sia già una nuova istanza di scarto per un dato utente e gruppo
        //OK
        public static int isPrimaIstanzaScarto(string idPeople, string idGruppo)
        {
            DocsPaDB.Query_DocsPAWS.Fascicoli fasc = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            int result = 0;

            result = fasc.isPrimaIstanzaScarto(idPeople, idGruppo);
            if (result == -1)
            {
                throw new Exception();
            }
            return(result);
        }
Ejemplo n.º 12
0
        public static bool updateScarto(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.AreaScarto.InfoScarto infoScarto)
        {
            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            bool result = fascicoli.UpdateScarto(infoUtente, infoScarto);

            if (!result)
            {
                logger.Debug("Errore nella gestione dei fascicoli. (UpdateScarto)");
                throw new Exception("F_System");
            }
            return(result);
        }
Ejemplo n.º 13
0
        public static ArrayList getListaScarto(DocsPaVO.utente.InfoUtente infoUtente, int numPage, out int numTotPage, out int nRec)
        {
            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            ArrayList listaScarto = fascicoli.GetListaScarto(infoUtente, numPage, out numTotPage, out nRec);

            if (listaScarto == null)
            {
                logger.Debug("Errore nella gestione dei fascicoli. (metodo: getListaScarto)");
                throw new Exception("F_System");
            }
            return(listaScarto);
        }
Ejemplo n.º 14
0
        //OK VERO
        /// <summary>
        /// Aggiunge un fascicolo in deposito con valore:
        ///    1 se il fascicolo contiene documenti tutti in deposito con valore 1
        ///    2 se il fascicolo contiene anche solo un documento in deposito con valore 2
        /// </summary>
        /// <param name="idProject"></param>
        /// <param name="infoUtente"></param>
        /// <param name="valore"></param>
        /// <returns></returns>
        private static bool TrasfInDepositoFascicolo(string idProject, string valore, string tipoOp)
        {
            bool result = false;

            DocsPaDB.Query_DocsPAWS.Fascicoli fasc = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            result = fasc.TrasfInDepFasc(idProject, valore, tipoOp);
            if (!result)
            {
                logger.Debug("Errore nel trasferimento di un fascicolo procedimentale in deposito (TrasfInDepositoFascProc)");
                throw new Exception();
            }
            return(result);
        }
Ejemplo n.º 15
0
        //Elimina i documenti di un fascicolo dall'istanza dell'area di scarto
        //OK
        public static void cancellaFascAreaScarto(DocsPaVO.fascicolazione.Fascicolo fasc, string idIstanza, bool deleteIstanza, string systemId)
        {
            DocsPaDB.Query_DocsPAWS.Fascicoli fascicolo = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            bool result = true;

            if (fasc != null)
            {
                result = fascicolo.DeleteAreaScarto(fasc.systemID, idIstanza, deleteIstanza, systemId);
            }
            if (!result)
            {
                throw new Exception();
            }
        }
Ejemplo n.º 16
0
        public static System.Collections.ArrayList getListaFascicoliInScartoNoPaging(DocsPaVO.utente.InfoUtente infoUtente,
                                                                                     DocsPaVO.AreaScarto.InfoScarto infoScarto)
        {
            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();

            ArrayList result = fascicoli.GetListaFascicoliInScartoNoPaging(infoUtente, infoScarto);

            if (result == null)
            {
                logger.Debug("Errore nella gestione dei fascicoli. (getListaFascicoliInScarto)");
                throw new Exception("F_System");
            }
            return(result);
        }
Ejemplo n.º 17
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);
        }
Ejemplo n.º 18
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();
        }
Ejemplo n.º 19
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);
        }
Ejemplo n.º 20
0
        /// <summary>
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="registro"></param>
        /// <param name="codiceClassifica"></param>
        /// <returns></returns>
        public static System.Collections.ArrayList getTitolario2(string idAmministrazione, string idGruppo, string idPeople, DocsPaVO.utente.Registro registro, string codiceClassifica, bool getFigli, string idTitolario)
        {
            System.Collections.ArrayList listaObject = new System.Collections.ArrayList();


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

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

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

            return(listaObject);
        }
Ejemplo n.º 21
0
        public static bool addAllFascInScarto(DocsPaVO.fascicolazione.Fascicolo fascicolo, DocsPaVO.utente.InfoUtente infoUtente, string tipoRic)
        {
            bool result = true;

            using (DocsPaDB.TransactionContext transactionContext = new DocsPaDB.TransactionContext())
            {
                DocsPaDB.Query_DocsPAWS.Fascicoli fasc = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                result = fasc.addAllFascAreaScarto(fascicolo, infoUtente, tipoRic);
                if (!result)
                {
                    logger.Debug("Errore nell' inserimento dei fascicoli in area di scarto (metodo: addAllFascInScarto)");
                    throw new Exception();
                }

                transactionContext.Complete();
                return(result);
            }
        }
Ejemplo n.º 22
0
        //Aggiunge un singolo fascicolo all'area di scarto
        //OK
        public static string addDocumentiFascicoloInAreaScarto(string idProfile, string idProject, string docNumber, DocsPaVO.utente.InfoUtente infoUtente)
        {
            string result = String.Empty;

            using (DocsPaDB.TransactionContext transactionContext = new DocsPaDB.TransactionContext())
            {
                DocsPaDB.Query_DocsPAWS.Fascicoli fasc = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                result = fasc.addDocumentiFascAreaScarto(idProfile, idProject, docNumber, infoUtente);
                if (result == "-1")
                {
                    logger.Debug("Errore nel'inserimento del fascicolo in area di scarto (metodo: addAreaLavoroMethod)");
                    throw new Exception();
                }

                transactionContext.Complete();
                return(result);
            }
        }
Ejemplo n.º 23
0
        //aggiunta per gestione filtro registro
        /// <summary>
        /// </summary>
        /// <param name="idClassificazione"></param>
        /// <param name="codiceClassificazione"></param>
        /// <param name="registro"></param>
        /// <returns></returns>
        private static DocsPaVO.fascicolazione.Classifica[] getGerarchia2(string idClassificazione, string codiceClassificazione, DocsPaVO.utente.Registro registro, string idAmm, string idTitolario)
        {
            DocsPaVO.fascicolazione.Classifica[] lista = null;

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

            lista = fascicoli.GetGerarchia2(idClassificazione, codiceClassificazione, registro, idAmm, idTitolario);

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

            return(lista);
        }
Ejemplo n.º 24
0
        //OK
        /// <summary>
        /// Inserisce in deposito un singolo fascicolo procedimentale chiuso.
        /// Inserisce in deposito tutti i documenti del fascicolo
        /// </summary>
        /// <param name="fascID"></param>
        /// <returns></returns>
        public static bool TrasfInDepositoFascicoloProc(string fascID, string tipoOp)
        {
            bool result = true;

            using (DocsPaDB.TransactionContext transactionalContext = new DocsPaDB.TransactionContext())
            {
                DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                //Recupero i documenti contenuti nel fascicolo per inserirli in deposito uno ad uno
                string resInsDoc = insDocInFascinArchivio(fascID, tipoOp, false);
                if (resInsDoc != "-1")
                {
                    //Inserisco in archivio anche tutti i sottofascicoli del fascicolo
                    ArrayList ListaSottoFasc = new ArrayList();
                    ListaSottoFasc = fascicoli.getSottoFascicoli(fascID);
                    if (ListaSottoFasc != null && ListaSottoFasc.Count > 0)
                    {
                        for (int i = 0; i < ListaSottoFasc.Count; i++)
                        {
                            resInsDoc = insDocInFascinArchivio(ListaSottoFasc[i].ToString(), tipoOp, true);
                            if (resInsDoc == "-1")
                            {
                                break;
                            }
                            else
                            {
                                //Il sottofascicolo viene inserito in archivio con valore sempre uguale a 1
                                result = TrasfInDepositoFascicolo(ListaSottoFasc[i].ToString(), "1", tipoOp);
                            }
                        }
                    }
                    if (resInsDoc != "-1" && result)
                    {
                        //Il fascicolo procedimentale viene inserito in archivio con valore sempre uguale a 1
                        result = TrasfInDepositoFascicolo(fascID, "1", tipoOp);
                    }
                }
                if (result)
                {
                    transactionalContext.Complete();
                }
            }
            return(result);
        }
Ejemplo n.º 25
0
        public static bool fascicolazionCanAddFasc(string idNodo)
        {
            bool rtn = false;

            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            string sql = "SELECT CHA_RW FROM PROJECT WHERE SYSTEM_ID=" + idNodo;

            using (IDataReader reader = fascicoli.ExecuteReader(sql))
            {
                if (reader.Read())
                {
                    if (!reader.IsDBNull(0))
                    {
                        rtn = reader.GetString(0).Equals("W"); //"R" vuol dire READ only , quindi non si creano fasc/sfasc
                    }
                }
            }
            return(rtn);
        }
Ejemplo n.º 26
0
        /// <summary>
        /// </summary>
        /// <param name="db"></param>
        /// <param name="tipoProj"></param>
        /// <param name="listaID"></param>
        /// <param name="debug"></param>
        /// <returns></returns>
        internal static ArrayList getChildren(/*DocsPaWS.Utils.Database db,*/ string tipoProj, ArrayList listaID)
        {
            ArrayList listaIdFascicoli = new ArrayList();

            #region Codice Commentato

            /*	string queryStr;
             *      IDataReader dr;
             *      string idProject = (string)listaID[0];
             *      for (int i=1; i < listaID.Count; i++)
             *              idProject += "," + (string)listaID[i];
             *      if(tipoProj.Equals("T")) {
             *              queryStr =
             *                      "SELECT SYSTEM_ID FROM PROJECT WHERE CHA_TIPO_PROJ='F' AND ID_PARENT IN (" + idProject + ")";
             *              logger.Debug(queryStr);
             *              dr = db.executeReader(queryStr);
             *              while(dr.Read()) {
             *                      listaID.Add(dr.GetValue(0).ToString());
             *                      listaIdFascicoli.Add(dr.GetValue(0).ToString());
             *              }
             *              dr.Close();
             *      } else if(tipoProj.Equals("F"))
             *              listaIdFascicoli = listaID;
             *      string idFascicoli = (string)listaIdFascicoli[0];
             *      for (int i=1; i < listaIdFascicoli.Count; i++)
             *              idFascicoli += "," + (string)listaIdFascicoli[i];
             *      queryStr =
             *              "SELECT SYSTEM_ID FROM PROJECT WHERE CHA_TIPO_PROJ='C' AND ID_FASCICOLO IN (" + idFascicoli + ")";
             *      logger.Debug(queryStr);
             *      dr = db.executeReader(queryStr);
             *      while(dr.Read())
             *              listaID.Add(dr.GetValue(0).ToString());
             *      dr.Close();*/
            #endregion

            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            listaID = fascicoli.GetChildren(/*db,*/ tipoProj, listaID);

            return(listaID);
        }
Ejemplo n.º 27
0
        //OK VERO
        /// <summary>
        /// Inserisce in deposito tutti i documenti in un dato fascicolo generale
        /// Inserisce in deposito il fascicolo generale: il valore di questo in archivio
        /// sarà sempre 2
        /// </summary>
        /// <param name="fascicolo"></param>
        /// <param name="anno"></param>
        /// <param name="infoUtente"></param>
        /// <returns></returns>
        public static int TrasfInDepositoAllDocsFascGen(DocsPaVO.fascicolazione.Fascicolo fascicolo, string anno, DocsPaVO.utente.InfoUtente infoUtente, string tipoOp)
        {
            int  docInDep2 = 0;
            bool result    = false;

            using (DocsPaDB.TransactionContext transactionalContext = new DocsPaDB.TransactionContext())
            {
                //Recupero la lista di tutti i documenti contenuti in un dato fascicolo generale
                DocsPaDB.Query_DocsPAWS.Fascicoli fasc = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                ArrayList listaDoc = fasc.GetDocumentiDaArchiviare(infoUtente.idGruppo, infoUtente.idPeople, fascicolo, anno);

                string resInsDoc = "";
                for (int i = 0; i < listaDoc.Count; i++)
                {
                    DocsPaVO.documento.InfoDocumento infoDoc = (DocsPaVO.documento.InfoDocumento)listaDoc[i];
                    resInsDoc = TrasfInDepositoDoc(infoDoc.idProfile, "0", tipoOp);
                    if (resInsDoc == "-1")
                    {
                        break;
                    }

                    if (resInsDoc == "2")
                    {
                        docInDep2++;
                    }
                }

                if (resInsDoc != "-1")
                {
                    //il fascicolo genereale viene inserito in deposito sempre con valore a 2
                    result = TrasfInDepositoFascicolo(fascicolo.systemID, "2", tipoOp);
                }
                if (result)
                {
                    transactionalContext.Complete();
                }
            }
            return(docInDep2);
        }
Ejemplo n.º 28
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);
        }
Ejemplo n.º 29
0
 /// <summary>
 /// Reperimento di un fascicolo a partire dall'id
 /// </summary>
 /// <param name="idFascicolo"></param>
 /// <param name="infoUtente"></param>
 /// <returns></returns>
 public static DocsPaVO.fascicolazione.Fascicolo getFascicolo(string idFascicolo, DocsPaVO.utente.InfoUtente infoUtente)
 {
     // Reperimento oggetto fascicolo di appartenenza del sottofascicolo
     DocsPaDB.Query_DocsPAWS.Fascicoli dbFascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
     return(dbFascicoli.GetFascicoloById(idFascicolo, infoUtente));
 }
Ejemplo n.º 30
0
        //aggiunta per gestione filtro registro
        /// <summary>
        /// </summary>
        /// <param name="idClassificazione"></param>
        /// <param name="codiceClassificazione"></param>
        /// <param name="registro"></param>
        /// <returns></returns>
        private static DocsPaVO.fascicolazione.Classifica[] getGerarchia(string idClassificazione, string codiceClassificazione, DocsPaVO.utente.Registro registro, string idAmm)
        {
            DocsPaVO.fascicolazione.Classifica[] lista = null;

            #region Codice Commentato

            /*DocsPa_V15_Utils.Database db = DocsPa_V15_Utils.dbControl.getDatabase();
             * try {
             *      db.openConnection();
             *      int numLivello = 0;
             *      string idParent = "0";
             *      string queryString =
             *              "SELECT 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.ID_PARENT, A.NUM_LIVELLO, A.VAR_CODICE, A.SYSTEM_ID "+
             *              "FROM PROJECT A WHERE A.CHA_TIPO_PROJ='T' AND ";
             *
             *      //add per filtro su registro
             *      if (registro != null)
             *      {
             *              string condRegistro = "";
             *              condRegistro = " (A.ID_REGISTRO IS NULL OR A.ID_REGISTRO='" + registro.systemId + "') ";
             *              queryString += condRegistro;
             *              queryString += " AND ";
             *      }
             *      //end add
             *
             *      if(idClassificazione != null)
             *              queryString += "A.SYSTEM_ID=" + idClassificazione;
             *      else
             *              queryString += "A.VAR_CODICE='" + codiceClassificazione + "'";
             *
             *      logger.Debug(queryString);
             *      IDataReader dr = db.executeReader(queryString);
             *      if (dr.Read()) {
             *              numLivello = Int32.Parse(dr.GetValue(10).ToString());
             *              lista = new DocsPaVO.fascicolazione.Classifica[numLivello];
             *              for (int i=0; i<numLivello; i++) {
             *                      lista[i] = new DocsPaVO.fascicolazione.Classifica();
             *                      //lista[i].codice = dr.GetValue(i).ToString();
             *              }
             *              numLivello -= 1;
             *              lista[numLivello].systemId = dr.GetValue(12).ToString();;
             *              lista[numLivello].descrizione = dr.GetValue(8).ToString();
             *              lista[numLivello].codice = dr.GetValue(11).ToString();
             *              idParent = dr.GetValue(9).ToString();
             *      }
             *      dr.Close();
             *
             *      while (!idParent.Equals("0") && numLivello > 0) {
             *              numLivello -= 1;
             *              lista[numLivello].systemId = idParent;
             *              queryString =
             *                      "SELECT DESCRIPTION, ID_PARENT, NUM_LIVELLO, VAR_CODICE " +
             *                      "FROM PROJECT WHERE SYSTEM_ID=" + idParent;
             *              logger.Debug(queryString);
             *              dr = db.executeReader(queryString);
             *              if (dr.Read()) {
             *                      lista[numLivello].descrizione = dr.GetValue(0).ToString();
             *                      lista[numLivello].codice = dr.GetValue(3).ToString();
             *              }
             *              idParent = dr.GetValue(1).ToString();
             *              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.GetGerarchia(idClassificazione, codiceClassificazione, registro, idAmm);

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

            return(lista);
        }