Exemple #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();
        }
Exemple #2
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);
        }
Exemple #3
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);
        }
Exemple #4
0
        /// <summary>
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="nodoTitolario"></param>
        /// <returns></returns>
        public static ArrayList getAutorizzazioniNodoTitolario(DocsPaVO.fascicolazione.Classificazione nodoTitolario)
        {
            ArrayList listaDiritti = null;

            try
            {
                listaDiritti = ProjectsManager.getVisibilita(nodoTitolario.systemID, false, "0");
            }
            catch (Exception e)
            {
                logger.Debug("Errore nella gestione dei fascicoli. (getAutorizzazioniNodoTitolario)", e);
                throw new Exception(e.Message);
            }

            return(listaDiritti);
        }
Exemple #5
0
        /// <summary>
        /// Reperimento fascicoli
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="codiceClassificazione"></param>
        /// <param name="ricercaInClassificazioniFiglie"></param>
        /// <param name="filtriRicerca"></param>
        /// <param name="filtriRicercaDocumenti"></param>
        /// <param name="pagingContext"></param>
        /// <returns></returns>
        public static DocsPaVO.fascicolazione.Fascicolo[] GetFascicoli(DocsPaVO.utente.InfoUtente infoUtente, string codiceClassificazione, bool ricercaInClassificazioniFiglie, DocsPaVO.filtri.FiltroRicerca[] filtriRicerca, DocsPaVO.filtri.FiltroRicerca[] filtriRicercaDocumenti, DocsPaVO.ricerche.SearchPagingContext pagingContext)
        {
            // Lista dei system id restituiti dalla ricerca. Non utitlizzata
            List <SearchResultInfo> idProject = null;

            // Reperimento oggetto classificazione
            DocsPaVO.fascicolazione.Classificazione classificazione = GetClassificazione(infoUtente, codiceClassificazione);

            int       numTotPage, nRec;
            ArrayList fascicoli = BusinessLogic.Fascicoli.FascicoloManager.getListaFascicoliPaging(infoUtente,
                                                                                                   classificazione, null,
                                                                                                   filtriRicerca, filtriRicercaDocumenti,
                                                                                                   false, true, ricercaInClassificazioniFiglie,
                                                                                                   out numTotPage, out nRec, pagingContext.Page, pagingContext.PageSize, false, out idProject, null, string.Empty);

            pagingContext.SetRecordCount(nRec);

            return((DocsPaVO.fascicolazione.Fascicolo[])fascicoli.ToArray(typeof(DocsPaVO.fascicolazione.Fascicolo)));
        }
Exemple #6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="classificazione"></param>
 /// <param name="infoUtente"></param>
 /// <param name="pos"></param>
 /// <param name="report"></param>
 /// <param name="path"></param>
 private static void addFascProc(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.fascicolazione.Classificazione classificazione, int pos, ref System.Collections.ArrayList report, string path)
 {
     logger.Debug("addFascProc");
     DocsPaVO.filtri.FiltroRicerca filtro = new DocsPaVO.filtri.FiltroRicerca();
     filtro.argomento = DocsPaVO.filtri.fascicolazione.listaArgomenti.TIPO_FASCICOLO.ToString();
     filtro.valore    = "P";
     DocsPaVO.filtri.FiltroRicerca[] filtri        = { filtro };
     System.Collections.ArrayList    fascicoliProc = BusinessLogic.Fascicoli.FascicoloManager.getListaFascicoli(infoUtente, classificazione, filtri, false, false, false, null, "");
     logger.Debug("Fascicoli procedimentali trovati: " + fascicoliProc.Count);
     for (int k = 0; k < fascicoliProc.Count; k++)
     {
         DocsPaVO.fascicolazione.Fascicolo fasc = (DocsPaVO.fascicolazione.Fascicolo)fascicoliProc[k];
         string voceFasc  = ReportUtils.stringFile(path + "report\\titolario\\voceProc.txt");
         int    firstPos  = 100 * fasc.codice.Length;
         int    secondPos = pos + 100 * fasc.codice.Length;
         voceFasc = voceFasc.Replace("XFIRSTPOS", "" + firstPos);
         voceFasc = voceFasc.Replace("XPOS", "" + secondPos);
         string testoFasc = fasc.codice + " " + fasc.descrizione;
         voceFasc = voceFasc.Replace("XTESTO_VOCE", testoFasc);
         ReportUtils.addStringToReport(voceFasc, ref report);
     }
 }
Exemple #7
0
        /// <summary>
        /// Handler dell'evento di avvenuta creazione di un fascicolo
        /// </summary>
        /// <param name="classificazione">Posizione nella gerarchia di titolario del fascicolo</param>
        /// <param name="fascicolo"></param>
        /// <param name="ruolo">Ruolo creatore del fascicolo</param>
        /// <param name="ruoliSuperiori">
        /// Riporta una lista di ruoli superiori al ruolo creatore
        /// che devono avere la visibilità sul fascicolo
        /// </param>
        public void FascicoloCreatoEventHandler(DocsPaVO.fascicolazione.Classificazione classificazione, DocsPaVO.fascicolazione.Fascicolo fascicolo, DocsPaVO.utente.Ruolo ruolo, DocsPaVO.utente.Ruolo[] ruoliSuperiori)
        {
            this.InstanceETDOCS.FascicoloCreatoEventHandler(classificazione, fascicolo, ruolo, ruoliSuperiori);

            this.InstanceOCS.FascicoloCreatoEventHandler(classificazione, fascicolo, ruolo, ruoliSuperiori);
        }
Exemple #8
0
 /// <summary>
 /// Handler dell'evento di avvenuta creazione di un fascicolo
 /// </summary>
 /// <param name="classificazione">Posizione nella gerarchia di titolario del fascicolo</param>
 /// <param name="fascicolo"></param>
 /// <param name="ruolo">Ruolo creatore del fascicolo</param>
 /// <param name="ruoliSuperiori">
 /// Riporta una lista di ruoli superiori al ruolo creatore
 /// che devono avere la visibilità sul fascicolo
 /// </param>
 public void FascicoloCreatoEventHandler(DocsPaVO.fascicolazione.Classificazione classificazione, DocsPaVO.fascicolazione.Fascicolo fascicolo, DocsPaVO.utente.Ruolo ruolo, DocsPaVO.utente.Ruolo[] ruoliSuperiori)
 {
 }
Exemple #9
0
        /// <summary>
        /// </summary>
        /// <param name="classificazione"></param>
        /// <param name="infoUtente"></param>
        /// <param name="pos"></param>
        /// <param name="report"></param>
        /// <param name="path"></param>
        private static void buildClassificazione(string idAmministrazione, string idGruppo, string idPeople, DocsPaVO.fascicolazione.Classificazione classificazione, int pos, ref System.Collections.ArrayList report, string path)
        {
            string voceTitolario = ReportUtils.stringFile(path + "report\\titolario\\voceTitolario.txt");
            int    firstPos      = 100 * classificazione.codice.Length;
            int    secondPos     = pos + 100 * classificazione.codice.Length;

            voceTitolario = voceTitolario.Replace("XFIRSTPOS", "" + firstPos);
            voceTitolario = voceTitolario.Replace("XPOS", "" + secondPos);
            string testo = classificazione.codice + " " + classificazione.descrizione;

            voceTitolario = voceTitolario.Replace("XTESTO_VOCE", testo);
            ReportUtils.addStringToReport(voceTitolario, ref report);

            for (int i = 0; i < classificazione.childs.Count; i++)
            {
                buildClassificazione(idAmministrazione, idGruppo, idPeople, (DocsPaVO.fascicolazione.Classificazione)classificazione.childs[i], secondPos, ref report, path);
            }
            //parte relativa ai fascicoli proc.
            //addFascProc(idAmministrazione, idGruppo, idPeople, classificazione,firstPos,ref report,path);
        }
Exemple #10
0
        /// <summary></summary>
        /// <param name="classificazioni"></param>
        /// <param name="infoUtente"></param>
        /// <returns></returns>
        public static DocsPaVO.documento.FileDocumento getTitolarioReport(string idAmministrazione, string idGruppo, string idPeople, System.Collections.ArrayList classificazioni)
        {
            DocsPaVO.documento.FileDocumento result = new DocsPaVO.documento.FileDocumento();
            //string path = ReportUtils.getPathName();
            //string path = DocsPaUtils.Functions.Functions.GetReportsPath();
            string path = AppDomain.CurrentDomain.BaseDirectory;

            try
            {
                string headerString = ReportUtils.stringFile(path + "report\\titolario\\headerTitolario.txt");
                logger.Debug("Generazione report");
                System.DateTime data = System.DateTime.Now;
                System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("it-IT");
                string[] formats    = data.GetDateTimeFormats(ci);
                string   dataString = formats[5];
                headerString = headerString.Replace("XDATA", dataString);
                //string titolo=ConfigurationManager.AppSettings["intestazioneTitolario"];
                string titolo = "Titolario";               // prima lo prendeva dal web.config, ma non esiste più
                if (titolo != null)
                {
                    headerString = headerString.Replace("XTITOLO", titolo);
                }
                else
                {
                    headerString = headerString.Replace("XTITOLO", "");
                }
                System.Collections.ArrayList report = new System.Collections.ArrayList();
                ReportUtils.addStringToReport(headerString, ref report);
                logger.Debug("Inserimento voci di titolario");
                for (int i = 0; i < classificazioni.Count; i++)
                {
                    DocsPaVO.fascicolazione.Classificazione classificazione = (DocsPaVO.fascicolazione.Classificazione)classificazioni[i];
                    string headerTableString = ReportUtils.stringFile(path + "report\\titolario\\headerTableTitolario.txt");
                    headerTableString = headerTableString.Replace("XPRIMO_CODICE", classificazione.codice);
                    headerTableString = headerTableString.Replace("XPRIMA_DESCR", classificazione.descrizione);
                    ReportUtils.addStringToReport(headerTableString, ref report);

                    for (int j = 0; j < classificazione.childs.Count; j++)
                    {
                        buildClassificazione(idAmministrazione, idGruppo, idPeople, (DocsPaVO.fascicolazione.Classificazione)classificazione.childs[j], 0, ref report, path);
                    }

                    //inserimento fascicoli proc
                    //addFascProc(idAmministrazione, idGruppo, idPeople, classificazione,0,ref report,path);

                    string bottomTableString = ReportUtils.stringFile(path + "report\\titolario\\bottomTableTitolario.txt");
                    ReportUtils.addStringToReport(bottomTableString, ref report);
                }

                logger.Debug("Inserimento bottom");
                string bottomString = ReportUtils.stringFile(path + "report\\titolario\\bottomTitolario.txt");
                ReportUtils.addStringToReport(bottomString, ref report);
                logger.Debug("Generazione fileDocumento");
                result.content     = (byte[])report.ToArray(typeof(byte));
                result.length      = result.content.Length;
                result.contentType = "application/rtf";
                result.name        = "report.rtf";
                logger.Debug("fileDocumento generato");
            }
            catch (Exception e)
            {
                logger.Debug("Errore nella gestione di Report (getTitolarioReport)", e);
                throw e;
            }
            return(result);
        }
Exemple #11
0
 /// <summary>
 /// Creazione nuovo fascicolo
 /// </summary>
 /// <param name="classifica"></param>
 /// <param name="fascicolo"></param>
 /// <param name="ruolo"></param>
 /// <param name="enableUfficioReferente"></param>
 /// <param name="result"></param>
 /// <param name="ruoliSuperiori">
 /// Ruoli superiori cui è stata impostata la visibilità del fascicolo
 /// </param>
 /// <returns></returns>
 public bool CreateProject(DocsPaVO.fascicolazione.Classificazione classifica, DocsPaVO.fascicolazione.Fascicolo fascicolo, DocsPaVO.utente.Ruolo ruolo, bool enableUfficioReferente, out DocsPaVO.fascicolazione.ResultCreazioneFascicolo result, out DocsPaVO.utente.Ruolo[] ruoliSuperiori)
 {
     return(this.Instance.CreateProject(classifica, fascicolo, ruolo, enableUfficioReferente, out result, out ruoliSuperiori));
 }
Exemple #12
0
 /// <summary>
 /// Creazione nuovo fascicolo
 /// </summary>
 /// <param name="classifica"></param>
 /// <param name="fascicolo"></param>
 /// <param name="ruolo"></param>
 /// <param name="enableUfficioReferente"></param>
 /// <returns></returns>
 public bool CreateProject(DocsPaVO.fascicolazione.Classificazione classifica, DocsPaVO.fascicolazione.Fascicolo fascicolo, DocsPaVO.utente.Ruolo ruolo, bool enableUfficioReferente, out DocsPaVO.fascicolazione.ResultCreazioneFascicolo result)
 {
     // Delega l'operazione al documentale etdocs
     return(this.InstanceEtdocs.CreateProject(classifica, fascicolo, ruolo, enableUfficioReferente, out result));
 }