コード例 #1
0
        /*private static void aggiornaStorico(DocsPaWS.Utils.Database db, DocsPaVO.utente.Registro registro, DocsPaVO.utente.InfoUtente infoUtente) {
         *      string insertString =
         *              "INSERT INTO DPA_REGISTRO_STO " +
         *              "(" + DocsPaWS.Utils.dbControl.getSystemIdColName() + " ID_REGISTRO, DTA_OPEN, DTA_CLOSE, NUM_RIF, ID_PEOPLE, ID_RUOLO_IN_UO) " +
         *              "SELECT " + DocsPaWS.Utils.dbControl.getSystemIdNextVal("DPA_REGISTRO_STO") +
         *              "SYSTEM_ID, DTA_OPEN, DTA_CLOSE, " + registro.ultimoNumeroProtocollo + ", " + infoUtente.idPeople + "," + infoUtente.idCorrGlobali +
         *              " FROM DPA_EL_REGISTRI WHERE SYSTEM_ID = " + registro.systemId;
         *      logger.Debug(insertString);
         *      db.executeNonQuery(insertString);
         * }*/
        #endregion

        public static string getIdRegistro(string codiceAmm, string codiceReg)
        {
            try
            {
                DocsPaDB.Query_DocsPAWS.Model model = new DocsPaDB.Query_DocsPAWS.Model();
                string idAmm = model.getIdAmmByCod(codiceAmm);
                DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider();
                DocsPaUtils.Query   q          = DocsPaUtils.InitQuery.getInstance().getQuery("S_DPAElRegistri");
                q.setParam("param1", " SYSTEM_ID ");
                q.setParam("param2", " ID_AMM = " + idAmm + " AND upper(VAR_CODICE) = '" + codiceReg.ToUpper() + "'");
                string sql = q.getSQL();
                logger.Debug(sql);
                DataSet ds = new DataSet();
                dbProvider.ExecuteQuery(ds, sql);
                if (ds.Tables[0].Rows.Count != 0)
                {
                    return(ds.Tables[0].Rows[0]["SYSTEM_ID"].ToString());
                }
                else
                {
                    return(string.Empty);
                }
            }
            catch (Exception ex)
            {
                logger.Debug("Errore durante getIdRegistro.", ex);
                return(string.Empty);
            }
        }
コード例 #2
0
        //PRIVATE
        private static DocsPaVO.ProfilazioneDinamica.Templates getTemplateDocumento(DocsPaVO.utente.InfoUtente infoUtente, string tipologiaDocumento)
        {
            try
            {
                DocsPaDB.Query_DocsPAWS.Model model = new DocsPaDB.Query_DocsPAWS.Model();
                ArrayList tipologieDocumento        = model.getTemplates(infoUtente.idAmministrazione);
                foreach (DocsPaVO.ProfilazioneDinamica.Templates template in tipologieDocumento)
                {
                    if (template.DESCRIZIONE.ToUpper() == tipologiaDocumento.ToUpper())
                    {
                        return(model.getTemplateById(template.SYSTEM_ID.ToString()));
                    }
                }

                return(null);
            }
            catch (Exception e)
            {
                logger.Debug("Errore in LiveCycle  - DocumentiManager - metodo: getTemplateDocumento()", e);
                return(null);
            }
        }
コード例 #3
0
 public static DocsPaVO.ProfilazioneDinamica.AssDocFascRuoli getDirittiCampo(string idRuolo, string idTemplate, string idOggetto)
 {
     DocsPaDB.Query_DocsPAWS.Model model = new DocsPaDB.Query_DocsPAWS.Model();
     return(model.getDirittiCampoTipologiaDoc(idRuolo, idTemplate, idOggetto));
 }
コード例 #4
0
        /// <summary>
        /// AS400 CONSRER ogni protocollo fascicolato o modificato in oggetto deve finire anhce in
        /// delle tabelle di collegamento presenti solo sulla versione etdocs sql di consrer che servono da tramite per
        /// aggiornare il sistema as400 presente dal cliente. in controlli se il protocollo è fascicolato oppure ha oggetto modificato sono fatti all'interno della progetto DocspaAS400
        /// </summary>
        /// <param name="schedaDoc"></param>
        public static void setAs400InFolder(string idProfile, DocsPaVO.utente.InfoUtente infoUtente, string idFolder, string constAs400)
        {
            DocsPaVO.documento.SchedaDocumento schedaDoc = null;


            //AS400
            string AS400 = System.Configuration.ConfigurationSettings.AppSettings["AS400"];

            DocsPaDB.DBProvider db = null;


            sem.WaitOne();
            try
            {
                if (AS400 != null && AS400.Equals("1"))
                {
                    logger.Debug("In AS400");
                    //					string[] checkValues= {"","",""} ; //inizializzazione valori, per essere lanciato l'as400 almeno uno dei valori deve esistere e deve esseere diverso da vuoto.
                    //ricerca scheda.
                    schedaDoc = BusinessLogic.Documenti.DocManager.getDettaglioPerNotificaAllegati(infoUtente, idProfile, "");
                    if (schedaDoc != null && schedaDoc.tipoProto != null &&
                        schedaDoc.tipoProto != "G" &&
                        schedaDoc.tipoProto != "R" &&
                        schedaDoc.tipologiaAtto != null &&
                        (schedaDoc.tipologiaAtto.descrizione != null &&
                         schedaDoc.tipologiaAtto.descrizione != "")
                        )                                              //SOLO PROTOCOLLI
                    {
                        DocsPaDB.Query_DocsPAWS.Model           model   = new DocsPaDB.Query_DocsPAWS.Model();
                        DocsPaVO.ProfilazioneDinamica.Templates schTmpl = model.getTemplateDettagli(schedaDoc.docNumber);

                        if (schTmpl != null)
                        {
                            for (int i = 0; i < schTmpl.ELENCO_OGGETTI.Count; i++)
                            {
                                DocsPaVO.ProfilazioneDinamica.OggettoCustom objc = (DocsPaVO.ProfilazioneDinamica.OggettoCustom)schTmpl.ELENCO_OGGETTI[i];
                                if (objc.DESCRIZIONE.ToLower().Trim().Equals("tipo atto"))
                                {
                                    //sostituisco il valore perchè il codice dell'AS400 in docspa30 in realtà la tipologia
                                    //è nella profilazione dinamica, mentre il tipo atto in docspa è solo una categoria di tipi_atto_profilati_dinamicamente
                                    schedaDoc.tipologiaAtto.descrizione = objc.VALORE_DATABASE.Trim();
                                    //									checkValues[0]=objc.VALORE_DATABASE.Trim();
                                }
                                if (objc.DESCRIZIONE.ToLower().Trim().Equals("commissione referente"))
                                {
                                    //sostituisco il valore perchè il codice dell'AS400 in docspa30
                                    schedaDoc.commissioneRef = objc.VALORE_DATABASE.Trim();
                                    //									checkValues[1]=objc.VALORE_DATABASE.Trim();
                                }
                                if (objc.DESCRIZIONE.ToLower().Trim().Equals("numero"))
                                {
                                    //sostituisco il valore perchè il codice dell'AS400 in docspa30
                                    schedaDoc.numOggetto = objc.VALORE_DATABASE.Trim();
                                    //									checkValues[2]=objc.VALORE_DATABASE.Trim();
                                }
                            }
                        }
                    }


                    DocsPaAS400.InsertAgent ia = new DocsPaAS400.InsertAgent();
                    //per essere lanciato l'as400 almeno
                    //uno dei valori deve esistere e deve esseere diverso da vuoto.
                    //					if(checkValues[0]!="" ||
                    //						checkValues[1]!=""||
                    //						checkValues[2]!="")
                    ia.addDocFolder(schedaDoc, schedaDoc.systemId, idFolder);
                }
                //FINE AS400
            }
            catch (Exception e)
            {
                logger.Debug(e);
            }
            finally
            {
                if (db != null)
                {
                    db.Dispose();
                }
                sem.ReleaseMutex();
            }
        }
コード例 #5
0
        /// <summary>
        /// AS400 CONSRER ogni protocollo fascicolato o modificato in oggetto deve finire anhce in
        /// delle tabelle di collegamento presenti solo sulla versione etdocs sql di consrer che servono da tramite per
        /// aggiornare il sistema as400 presente dal cliente. in controlli se il protocollo è fascicolato oppure ha oggetto modificato sono fatti all'interno della progetto DocspaAS400
        /// </summary>
        /// <param name="schedaDoc"></param>
        public static void setAs400(DocsPaVO.documento.SchedaDocumento schedaDoc, string constAs400)
        {
            //AS400
            string AS400 = System.Configuration.ConfigurationSettings.AppSettings["AS400"];

            DocsPaDB.DBProvider db = null;
            sem.WaitOne();
            try
            {
                if (AS400 != null && AS400.Equals("1"))
                {
                    //					string[] checkValues= {"","",""} ; //inizializzazione valori, per essere lanciato l'as400 almeno uno dei valori deve esistere e deve esseere diverso da vuoto.

                    logger.Debug("In AS400");
                    DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();
                    //schedaDoc=BusinessLogic.Documenti.DocManager.getDettaglioPerNotificaAllegati(idGruppo,idPeople,idProfile,docnumber);
                    if (schedaDoc != null && schedaDoc.tipoProto != null &&
                        schedaDoc.tipoProto != "G" &&
                        schedaDoc.tipoProto != "R" &&
                        schedaDoc.tipologiaAtto != null &&
                        (schedaDoc.tipologiaAtto.descrizione != null &&
                         schedaDoc.tipologiaAtto.descrizione != ""))   //SOLO PROTOCOLLI
                    {
                        DocsPaDB.Query_DocsPAWS.Model           model   = new DocsPaDB.Query_DocsPAWS.Model();
                        DocsPaVO.ProfilazioneDinamica.Templates schTmpl = model.getTemplateDettagli(schedaDoc.docNumber);

                        if (schTmpl != null)
                        {
                            for (int i = 0; i < schTmpl.ELENCO_OGGETTI.Count; i++)
                            {
                                DocsPaVO.ProfilazioneDinamica.OggettoCustom objc = (DocsPaVO.ProfilazioneDinamica.OggettoCustom)schTmpl.ELENCO_OGGETTI[i];
                                if (objc.DESCRIZIONE.ToLower().Trim().Equals("tipo atto"))
                                {
                                    //sostituisco il valore perchè il codice dell'AS400 in docspa30 in realtà la tipologia
                                    //è nella profilazione dinamica, mentre il tipo atto in docspa è solo una categoria di tipi_atto_profilati_dinamicamente
                                    schedaDoc.tipologiaAtto.descrizione = objc.VALORE_DATABASE.Trim();
                                    //									checkValues[0]=objc.VALORE_DATABASE.Trim();
                                }
                                if (objc.DESCRIZIONE.ToLower().Trim().Equals("commissione referente"))
                                {
                                    //sostituisco il valore perchè il codice dell'AS400 in docspa30 in realtà la tipologia
                                    //è nella profilazione dinamica, mentre il tipo atto in docspa è solo una categoria di tipi_atto_profilati_dinamicamente
                                    schedaDoc.commissioneRef = objc.VALORE_DATABASE.Trim();
                                    //									checkValues[1]=objc.VALORE_DATABASE.Trim();
                                }
                                if (objc.DESCRIZIONE.ToLower().Trim().Equals("numero"))
                                {
                                    //sostituisco il valore perchè il codice dell'AS400 in docspa30 in realtà la tipologia
                                    //è nella profilazione dinamica, mentre il tipo atto in docspa è solo una categoria di tipi_atto_profilati_dinamicamente
                                    schedaDoc.numOggetto = objc.VALORE_DATABASE.Trim();
                                    //checkValues[2]=objc.VALORE_DATABASE.Trim();
                                }
                            }
                        }
                    }



                    DocsPaAS400.InsertAgent ia = new DocsPaAS400.InsertAgent();
                    //					if(checkValues[0]!="" ||
                    //						checkValues[1]!=""||
                    //						checkValues[2]!="")
                    //					{
                    db = new DocsPaDB.DBProvider();
                    db.BeginTransaction();
                    ArrayList queries = ia.getInsertQueries(constAs400, schedaDoc, db);
                    for (int i = 0; i < queries.Count; i++)
                    {
                        if (!db.ExecuteLockedNonQuery((string)queries[i]))
                        {
                            throw new Exception("Errore nell'inserimento dei dati in AS400");
                        }
                    }
                    db.CommitTransaction();
                }
                //				}
                //FINE AS400
            }
            catch (Exception e)
            {
                db.RollbackTransaction();
                logger.Debug(e);
            }
            finally
            {
                if (db != null)
                {
                    db.Dispose();
                }
                sem.ReleaseMutex();
            }
        }