コード例 #1
0
        public List <DesktopApp> getDesktopApps()
        {
            List <DesktopApp> retList = new List <DesktopApp>();

            try
            {
                Query  query       = InitQuery.getInstance().getQuery("S_DPA_DESKTOP_APPS");
                string commandText = query.getSQL();
                logger.Debug(commandText);

                using (DBProvider dbProvider = new DBProvider())
                {
                    using (IDataReader reader = ExecuteReader(commandText))
                    {
                        while (reader.Read())
                        {
                            DesktopApp tempApp = new DesktopApp();
                            tempApp.Nome        = (reader.GetValue(reader.GetOrdinal("NOME")).ToString());
                            tempApp.Versione    = (reader.GetValue(reader.GetOrdinal("VERSIONE")).ToString());
                            tempApp.Path        = (reader.GetValue(reader.GetOrdinal("PATH")).ToString());
                            tempApp.Descrizione = (reader.GetValue(reader.GetOrdinal("DESCRIZIONE")).ToString());

                            retList.Add(tempApp);
                        }
                    }
                }

                return(retList);
            }
            catch (Exception ex)
            {
                logger.Debug(ex);
                throw new Exception(ex.Message);
            }
        }
コード例 #2
0
        /// <summary>
        /// Metodo per il recupero delle informazioni necessarie alla scrittura
        /// del summary di un documento nella stampa del registro di conservazione.
        /// </summary>
        /// <param name="idDoc"></param>
        /// <returns></returns>
        public RegistroConservazioneSummary GetSummaryDataDoc(string idDoc)
        {
            RegistroConservazioneSummary retVal = new RegistroConservazioneSummary();
            Query query = InitQuery.getInstance().getQuery("S_REG_CONS_SUMMARY_DATA_DOC");

            query.setParam("id_doc", idDoc);

            using (DBProvider dbProvider = new DBProvider())
            {
                using (IDataReader dataReader = dbProvider.ExecuteReader(query.getSQL()))
                {
                    while (dataReader.Read())
                    {
                        retVal.creationDate    = dataReader["DATA_INS"].Equals(DBNull.Value) ? DateTime.MinValue : Convert.ToDateTime(dataReader["DATA_INS"]);
                        retVal.descrizione     = dataReader["VAR_OGGETTO"].Equals(DBNull.Value) ? string.Empty : dataReader["VAR_OGGETTO"].ToString();
                        retVal.codiceFascicolo = dataReader["COD_FASC"].Equals(DBNull.Value) ? string.Empty : dataReader["COD_FASC"].ToString();
                        retVal.numDoc          = dataReader["NUMERO_ALLEGATI"].Equals(DBNull.Value) ? string.Empty : dataReader["NUMERO_ALLEGATI"].ToString();
                        retVal.tipoFile        = dataReader["VAR_TIPO_FILE"].Equals(DBNull.Value) ? string.Empty : dataReader["VAR_TIPO_FILE"].ToString();
                        retVal.fileDim         = dataReader["SIZE_ITEM"].Equals(DBNull.Value) ? string.Empty : dataReader["SIZE_ITEM"].ToString();

                        //retVal.creationDate = Convert.ToDateTime(dataReader["DATA_INS"]);
                        //retVal.descrizione = dataReader["VAR_OGGETTO"].ToString();
                        //retVal.codiceFascicolo = dataReader["COD_FASC"].ToString();
                        //retVal.numDoc = dataReader["NUMERO_ALLEGATI"].ToString();
                        //retVal.tipoFile = dataReader["VAR_TIPO_FILE"].ToString();
                        //retVal.fileDim = dataReader["SIZE_ITEM"].ToString();
                    }
                }
            }
            return(retVal);
        }
コード例 #3
0
        public DataSet GetTrasmissioniPendentiConWorkflowUtenteFasc(InfoUtente infoUt, List <FiltroRicerca> filters)
        {
            string  idPeople      = filters.Where(f => f.argomento == "idPeople").FirstOrDefault().valore;
            string  idCorrGlobali = filters.Where(f => f.argomento == "idCorrGlobali").FirstOrDefault().valore;
            DataSet dataSet       = new DataSet();

            try
            {
                Query query = InitQuery.getInstance().getQuery("S_DPA_TRASM_PENDENTI_PEOPLE_FASC");
                query.setParam("idCorrGlobali", idCorrGlobali);
                query.setParam("idPeople", idPeople);

                string commandText = query.getSQL();
                logger.Debug(commandText);

                using (DocsPaDB.DBProvider dbProvider = new DBProvider())
                {
                    dbProvider.ExecuteQuery(out dataSet, commandText);
                }
            }
            catch (Exception e)
            {
                logger.Error("Errore in GetTrasmissioniPendentiConWorkflowUtente: " + e);
            }

            return(dataSet);
        }
コード例 #4
0
        public DataSet GetDataReportMicro(InfoUtente infoUt, List <FiltroRicerca> filters)
        {
            DataSet dataSet = new DataSet();

            using (DBProvider dbProvider = new DBProvider())
            {
                try
                {
                    Query query = InitQuery.getInstance().getQuery("S_AMM_EXPORT_MICRO_FUNZIONI");
                    query.setParam("idAmm", filters.Where(f => f.argomento == "id_amm").FirstOrDefault().valore);
                    query.setParam("codFunz", filters.Where(f => f.argomento == "id_funzione").FirstOrDefault().valore);
                    query.setParam("dbuser", DocsPaDbManagement.Functions.Functions.GetDbUserSession());

                    string command = query.getSQL();

                    logger.Debug("QUERY - " + command);
                    dbProvider.ExecuteQuery(out dataSet, command);
                }
                catch (Exception ex)
                {
                    logger.Debug(ex.Message);
                }
            }

            return(dataSet);
        }
コード例 #5
0
        public List <Servizio> getServizi()
        {
            List <Servizio> retList = new List <Servizio>();

            try {
                Query  query       = InitQuery.getInstance().getQuery("S_SERVIZI_ESTERNI");
                string commandText = query.getSQL();
                logger.Debug(commandText);

                using (DocsPaDB.DBProvider dbProvider = new DBProvider())
                {
                    using (IDataReader reader = dbProvider.ExecuteReader(commandText))
                    {
                        while (reader.Read())
                        {
                            Servizio tempServizio = new Servizio();
                            tempServizio.setId(reader.GetValue(reader.GetOrdinal("SYSTEM_ID")).ToString());
                            tempServizio.setDescrizione(reader.GetValue(reader.GetOrdinal("DESCRIZIONE")).ToString());

                            retList.Add(tempServizio);
                        }
                    }
                }

                return(retList);
            }
            catch (Exception ex)
            {
                logger.Debug(ex);
                throw new Exception(ex.Message);
            }
        }
コード例 #6
0
        /// <summary>
        /// Metodo per l'aggiornamento della data di prossima stampa del registro di conservazione.
        /// L'aggiornamento avviene sulla base della frequenza impostata.
        /// Viene aggiornato anche l'ultimo ID stampato.
        /// </summary>
        /// <param name="reg"></param>
        /// <returns></returns>
        public bool UpdateNextPrintDate(RegistroConservazionePrint reg)
        {
            //ricavo la data di prossima stampa
            string nextPrintDate = this.GetNextPrintDate(DateTime.Now, reg.printFreq);

            //imposto la data attuale come data di ultima stampa
            string lastPrintDate = DateTime.Now.ToString("dd/MM/yyyy");

            //recupero l'ultimo id stampato
            string idLastPrinted = reg.idLastToPrint;

            Query query = InitQuery.getInstance().getQuery("U_REG_CONS_UPDATE_CONFIG");

            query.setParam("nextPrintDate", nextPrintDate);
            query.setParam("lastPrintDate", lastPrintDate);
            query.setParam("idLastPrintedEvent", idLastPrinted);
            query.setParam("idAmm", reg.idAmministrazione);


            logger.Debug(query.getSQL());
            //esecuzione query
            bool retVal = false;

            using (DBProvider dbProvider = new DBProvider())
            {
                retVal = dbProvider.ExecuteNonQuery(query.getSQL());
            }

            return(retVal);
        }
コード例 #7
0
        /// <summary>
        /// Determina se un dato alert è attivo per l'amministrazione corrente
        /// </summary>
        /// <param name="idAmm"></param>
        /// <param name="codice"></param>
        /// <returns></returns>
        public bool isLogAttivo(string idAmm, string codice)
        {
            bool retVal = false;

            using (DBProvider dbProvider = new DBProvider())
            {
                try
                {
                    Query query = InitQuery.getInstance().getQuery("S_ALERT_CONS_IS_ATTIVO");
                    query.setParam("idAmm", idAmm);
                    query.setParam("codice", codice);

                    string result      = string.Empty;
                    string commandText = query.getSQL();
                    logger.Debug(commandText);

                    if (!dbProvider.ExecuteScalar(out result, commandText))
                    {
                        throw new Exception("Errore nell'esecuzione della query");
                    }

                    if (result == "1")
                    {
                        retVal = true;
                    }
                }
                catch (Exception ex)
                {
                    logger.Debug(ex.Message);
                }

                return(retVal);
            }
        }
コード例 #8
0
        public bool ImportFatture_Insert(string idFattura, string idProfile)
        {
            bool result = false;

            logger.Debug("BEGIN");

            try
            {
                Query query = InitQuery.getInstance().getQuery("I_IMPORT_FATTURE");
                query.setParam("num_fattura", idFattura);
                query.setParam("id_profile", string.IsNullOrEmpty(idProfile) ? "NULL" : idProfile);

                string command = query.getSQL();
                logger.Debug("QUERY - " + command);

                if (!this.ExecuteNonQuery(command))
                {
                    throw new Exception(this.LastExceptionMessage);
                }

                result = true;
            }
            catch (Exception ex)
            {
                logger.Error("Errore in ImportFatture_Insert - ", ex);
                result = false;
            }

            logger.Debug("END");
            return(result);
        }
コード例 #9
0
        /// <summary>
        /// Metodo per il salvataggio del dettaglio di un Raggruppamento Funzionale nella rubrica
        /// locale.
        /// </summary>
        /// <param name="rf">Dettagli da salvare</param>
        /// <param name="idRf">Id dell'RF</param>
        /// <returns>Esito dell'operazione di salvataggio dei dettagli</returns>
        public bool SaveRaggruppamentoFunzionaleCorrGlobali(RaggruppamentoFunzionale rf, String idRf)
        {
            bool retVal = false;

            String idCorr = this.GetIdRfCorrGlobali(idRf);

            Query query = InitQuery.getInstance().getQuery("U_DPADettGlob2");

            query.setParam("param1", String.Format("'{0}',", rf.indirizzo));
            query.setParam("param2", String.Format("'{0}',", rf.citta));
            query.setParam("param3", String.Format("'{0}',", rf.cap));
            query.setParam("param4", String.Format("'{0}',", rf.prov));
            query.setParam("param5", String.Format("'{0}',", rf.nazionalita));
            query.setParam("param6", String.Format("'{0}',", rf.telefono1));
            query.setParam("param7", String.Format("'{0}',", String.Empty));
            query.setParam("param8", String.Format("'{0}',", rf.fax));
            query.setParam("var_note", String.Format("'{0}'", String.Empty));
            query.setParam("param9", idCorr);

            using (DBProvider dbProvider = new DBProvider())
            {
                retVal = dbProvider.ExecuteNonQuery(query.getSQL());
            }

            return(retVal);
        }
コード例 #10
0
        public bool IsFatturaElettronica(string docNumber, string idAmm)
        {
            string dbresult;
            bool   retVal = false;

            try
            {
                Query query = InitQuery.getInstance().getQuery("S_FATTURA_TIPO_ATTO");
                query.setParam("idamm", idAmm);
                query.setParam("docnumber", docNumber);
                string commandText = query.getSQL();

                bool check = ExecuteScalar(out dbresult, commandText);
                if (check)
                {
                    if (!string.IsNullOrEmpty(dbresult))
                    {
                        retVal = true;
                    }
                }

                return(retVal);
            }
            catch (Exception ex)
            {
                logger.Debug(ex.Message);
                return(retVal);
            }
        }
コード例 #11
0
        public void caricaParametri(Servizio servizio)
        {
            List <Servizio> retList = new List <Servizio>();

            try
            {
                Query query = InitQuery.getInstance().getQuery("S_PARAMETRI_SERVIZIO_ESTERNO");
                query.setParam("idServizio", servizio.getId());

                string commandText = query.getSQL();
                logger.Debug(commandText);

                using (DocsPaDB.DBProvider dbProvider = new DBProvider())
                {
                    using (IDataReader reader = dbProvider.ExecuteReader(commandText))
                    {
                        while (reader.Read())
                        {
                            string descrizioneParametro = reader.GetValue(reader.GetOrdinal("DESCRIZIONE")).ToString();
                            string tipoParametro        = reader.GetValue(reader.GetOrdinal("TIPO_VALORE")).ToString();

                            servizio.addParametro(descrizioneParametro, tipoParametro);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Debug(ex);
                throw new Exception(ex.Message);
            }
        }
コード例 #12
0
        public DataSet GetNotifichePecData(InfoUtente userInfo, List <FiltroRicerca> searchFilters)
        {
            DataSet dataSet = new DataSet();

            using (DBProvider dbProvider = new DBProvider())
            {
                // Reperimento query da eseguire ed esecuzione
                Query query = InitQuery.getInstance().getQuery("S_DPA_NOTIFICA2");
                query.setParam("dbuser", DocsPaDbManagement.Functions.Functions.GetDbUserSession());
                query.setParam("docnumber", "docnumber = " + searchFilters[0].valore);
                // Impostazione filtri
                query.setParam("filterCond", this.GetConditionFilter(searchFilters));

                //verifica se è necessario stampare anche le conferme di ricezione
                if (IsPrintConfirmRecept(searchFilters))
                {
                    query.setParam("unionConfermaRicevute", GetQueryConfirmRecept(searchFilters)); //modifico la queryper le conferme di ricezione
                }
                else
                {
                    query.setParam("unionConfermaRicevute", string.Empty);
                }
                dbProvider.ExecuteQuery(out dataSet, query.getSQL());
            }
            return(dataSet);
        }
コード例 #13
0
        /// <summary>
        /// Metodo per il recupero delle informazioni necessarie alla scrittura
        /// del summary di un'istanza nella stampa del registro di conservazione.
        /// </summary>
        /// <param name="idIstanza"></param>
        /// <returns></returns>
        public RegistroConservazioneSummary GetSummaryDataIst(string idIstanza)
        {
            RegistroConservazioneSummary retVal = new RegistroConservazioneSummary();
            Query query = InitQuery.getInstance().getQuery("S_REG_CONS_SUMMARY_DATA_IST");

            query.setParam("id_istanza", idIstanza);
            logger.Debug("GetSummaryDataIst: " + query.getSQL());

            using (DBProvider dbProvider = new DBProvider())
            {
                using (IDataReader dataReader = dbProvider.ExecuteReader(query.getSQL()))
                {
                    while (dataReader.Read())
                    {
                        //retVal.descrizione  = dataReader["var_descrizione"].ToString();
                        //retVal.creationDate = Convert.ToDateTime(dataReader["data_apertura"]);
                        //retVal.invioDate = Convert.ToDateTime(dataReader["data_invio"]);
                        //retVal.numDoc = dataReader["n_doc"].ToString();
                        //retVal.fileDim = dataReader["tot_size"].ToString();

                        retVal.descrizione  = dataReader["var_descrizione"].Equals(DBNull.Value) ? string.Empty : dataReader["var_descrizione"].ToString();
                        retVal.creationDate = dataReader["data_apertura"].Equals(DBNull.Value) ? DateTime.MinValue : Convert.ToDateTime(dataReader["data_apertura"]);
                        retVal.invioDate    = dataReader["data_invio"].Equals(DBNull.Value) ? DateTime.MinValue : Convert.ToDateTime(dataReader["data_invio"]);
                        retVal.numDoc       = dataReader["n_doc"].Equals(DBNull.Value) ? string.Empty : dataReader["n_doc"].ToString();
                        retVal.fileDim      = dataReader["tot_size"].Equals(DBNull.Value) ? string.Empty : dataReader["tot_size"].ToString();
                    }
                }
            }

            return(retVal);
        }
コード例 #14
0
        /// <summary>
        /// Estrae per un dato utente i dati relativi al monitoraggio delle operazioni con contatore
        /// nel formato
        /// codice alert § contatore § data inizio monitoraggio
        /// </summary>
        /// <param name="codice">alert di cui si richiede il contatore</param>
        /// <param name="idAmm"></param>
        /// <param name="idUtente"></param>
        /// <returns></returns>
        public string GetContatoreInfo(string codice, string idAmm, string idUtente)
        {
            string retVal = string.Empty;

            try
            {
                using (DBProvider dbProvider = new DBProvider())
                {
                    Query query = InitQuery.getInstance().getQuery("S_CONSERVAZIONE_ALERT_GET_CONTATORI");
                    query.setParam("codice", codice);
                    query.setParam("idAmm", idAmm);
                    query.setParam("userId", idUtente);

                    string commandText = query.getSQL();
                    logger.Debug(commandText);

                    if (!dbProvider.ExecuteScalar(out retVal, commandText))
                    {
                        throw new Exception("Errore nel recupero dei contatori per l'utente " + idUtente + " dell'amministrazione " + idAmm);
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Debug(ex.Message);
                retVal = string.Empty;
            }

            return(retVal);
        }
コード例 #15
0
        /// <summary>
        /// Restituisce la lista degli id dei documenti appartenenti ad un'istanza.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public List <string> GetListaDocumentiIstanze(PrintReportRequest request)
        {
            List <string> retList = new List <string>();

            string idAmm     = request.SearchFilters.Where(f => f.argomento == "id_amm").FirstOrDefault().valore;
            string nextSysId = request.SearchFilters.Where(f => f.argomento == "next_system_id").FirstOrDefault().valore;
            string lastSysId = request.SearchFilters.Where(f => f.argomento == "last_system_id").FirstOrDefault().valore;
            string idIst     = request.SearchFilters.Where(f => f.argomento == "id_istanza").FirstOrDefault().valore;

            using (DBProvider dbProvider = new DBProvider())
            {
                Query query = InitQuery.getInstance().getQuery("S_REG_CONS_GET_LIST_DOC_ISTANZE");
                query.setParam("id_amm", idAmm);
                query.setParam("next_system_id", nextSysId);
                query.setParam("last_system_id", lastSysId);
                query.setParam("id_istanza", idIst);

                using (IDataReader dataReader = dbProvider.ExecuteReader(query.getSQL()))
                {
                    while (dataReader.Read())
                    {
                        retList.Add(dataReader["ID_OGGETTO"].ToString());
                    }
                }
            }

            return(retList);
        }
コード例 #16
0
        //Andrea De Marco - Insert del Report Import Pregressi
        public string InsertReportPregressi(DocsPaVO.Import.Pregressi.ReportPregressi report)
        {
            string system_id = string.Empty;

            try
            {
                using (DocsPaDB.DBProvider dbProvider = new DBProvider())
                {
                    dbProvider.BeginTransaction();

                    Query query = InitQuery.getInstance().getQuery("I_DPA_PREGRESSI");

                    query.setParam("paramA", DocsPaDbManagement.Functions.Functions.GetSystemIdColName());
                    query.setParam("paramB", DocsPaDbManagement.Functions.Functions.GetSystemIdNextVal("DPA_PREGRESSI"));
                    query.setParam("id_amm", report.idAmm);
                    query.setParam("id_utente_creatore", report.idUtenteCreatore);
                    query.setParam("id_ruolo_creatore", report.idRuoloCreatore);
                    query.setParam("data_esecuzione", DocsPaDbManagement.Functions.Functions.GetDate());
                    query.setParam("data_fine", DocsPaDbManagement.Functions.Functions.ToDate(report.dataFine));
                    query.setParam("num_doc", report.itemPregressi.Count().ToString());
                    //Andrea - Aggiunta descrizione report
                    string desc = string.Empty;
                    if (string.IsNullOrEmpty(report.descrizione))
                    {
                        query.setParam("descrizione", "--");
                    }
                    else
                    {
                        desc = report.descrizione.Replace("'", "''");
                        query.setParam("descrizione", report.descrizione.ToString());
                    }
                    string commandText = query.getSQL();
                    System.Diagnostics.Debug.WriteLine("SQL - InsertReportPregressi - DocsPaDB/ImportPregressi.cs - QUERY : " + commandText);
                    logger.Debug("SQL - InsertReportPregressi - DocsPaDB/ImportPregressi.cs - QUERY : " + commandText);

                    if (!dbProvider.ExecuteNonQuery(commandText))
                    {
                        dbProvider.RollbackTransaction();
                        throw new Exception();
                    }
                    else
                    {
                        // Recupero systemid appena inserito
                        string sql = DocsPaDbManagement.Functions.Functions.GetQueryLastSystemIdInserted("DPA_PREGRESSI");
                        System.Diagnostics.Debug.WriteLine("SQL - InsertReportPregressi - DocsPaDB/ImportPregressi.cs - QUERY : " + sql);
                        logger.Debug("SQL - InsertReportPregressi - DocsPaDB/ImportPregressi.cs - QUERY : " + sql);
                        dbProvider.ExecuteScalar(out system_id, sql);

                        dbProvider.CommitTransaction();
                    }
                }
            }
            catch (Exception e)
            {
                system_id = string.Empty;
                logger.Debug(e.Message);
            }

            return(system_id);
        }
コード例 #17
0
        public bool ImportFatture_HasAttachments(string idFattura)
        {
            bool result = false;

            logger.Debug("BEGIN");

            try
            {
                Query query = InitQuery.getInstance().getQuery("S_IMPORT_FATTURE_CHECK_ALLEGATO");
                query.setParam("id_fattura", idFattura);

                string command = query.getSQL();
                logger.Debug("QUERY - " + command);

                string value = string.Empty;
                if (!this.ExecuteScalar(out value, command))
                {
                    throw new Exception(this.LastExceptionMessage);
                }

                result = (value.ToUpper().Trim() == "X");
            }
            catch (Exception ex)
            {
                logger.Debug("Errore in ImportFatture_HasAttachments");
            }

            logger.Debug("END");
            return(result);
        }
コード例 #18
0
        public DataSet GetProcessiDiFirmaInvalidati(InfoUtente infoUt, List <FiltroRicerca> filters)
        {
            DataSet dataSet = new DataSet();

            using (DBProvider dbProvider = new DBProvider())
            {
                try
                {
                    Query query = InitQuery.getInstance().getQuery("S_EXPORT_DPA_REPORT_PROCESSI_TICK");

                    string idReport        = filters.Where(f => f.argomento == "idReport").FirstOrDefault().valore;
                    string idRuoloCreatore = filters.Where(f => f.argomento == "idRuoloCreatore").FirstOrDefault().valore;

                    query.setParam("idReport", idReport);
                    query.setParam("idRuoloCreatore", idRuoloCreatore);

                    string command = query.getSQL();

                    logger.Debug("QUERY - " + command);
                    dbProvider.ExecuteQuery(out dataSet, command);
                }
                catch (Exception ex)
                {
                    logger.Debug(ex.Message);
                }
            }

            return(dataSet);
        }
コード例 #19
0
        /// <summary>
        /// Determina se un dato alert è attivo per l'amministrazione corrente
        /// </summary>
        /// <param name="idAmm"></param>
        /// <param name="codice"></param>
        /// <returns></returns>
        public bool isAlertAttivo(string idAmm, string codice)
        {
            bool   retVal = false;
            string param  = string.Empty;
            Query  query  = InitQuery.getInstance().getQuery("S_ALERT_CONS_IS_ATTIVO");

            switch (codice)
            {
            case "LEGGIBILITA_ANTICIPATA":
                param = "cha_alert_leggibilita_scadenza";
                break;

            case "LEGGIBILITA_PERC":
                param = "cha_alert_leggibilita_max_doc";
                break;

            case "LEGGIBILITA_SINGOLO":
                param = "cha_alert_leggibilita_sing";
                break;

            case "DOWNLOAD":
                param = "cha_alert_download";
                break;

            case "SFOGLIA":
                param = "cha_alert_sfoglia";
                break;
            }

            query.setParam("idAmm", idAmm);
            query.setParam("codice", param);

            try
            {
                using (DBProvider dbProvider = new DBProvider())
                {
                    string field       = string.Empty;
                    string commandText = query.getSQL();
                    if (!dbProvider.ExecuteScalar(out field, commandText))
                    {
                        throw new Exception("Errore nell'esecuzione della query.");
                    }

                    if (field == "1")
                    {
                        retVal = true;
                    }
                }
            }
            catch (Exception ex)
            {
                retVal = false;
                logger.Debug(ex.Message);
            }

            return(retVal);
        }
コード例 #20
0
        //Andrea De Marco - Delete del Item Report e Report - Import Pregressi
        public bool DeleteReport(string idReport)
        {
            bool result = true;

            DocsPaDB.DBProvider dbProvider = new DBProvider();

            dbProvider.BeginTransaction();

            try
            {
                DataSet ds = new DataSet();

                using (dbProvider)
                {
                    //Select che recupera idItem a partire dall'idReport
                    Query queryIdItem = InitQuery.getInstance().getQuery("S_GET_ID_ITEM_DPA_ASS_PREGRESSI");
                    queryIdItem.setParam("id_report", idReport);

                    string commandText_queryIdItem = queryIdItem.getSQL();
                    logger.Debug(commandText_queryIdItem);

                    dbProvider.ExecuteQuery(ds, "Id Item Report", commandText_queryIdItem);
                    //dbProvider.ExecuteQuery(ds, queryIdItem.ToString());

                    if (ds != null && ds.Tables[0].Rows.Count > 0)
                    {
                        Query queryAlleg = InitQuery.getInstance().getQuery("D_DELETE_ALLEGATO_ITEM_REPORT_PREGRESSI");

                        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                        {
                            string idItem = ds.Tables[0].Rows[i].ToString();
                            queryAlleg.setParam("id_item", idItem);
                            dbProvider.ExecuteNonQuery(queryAlleg.getSQL());
                        }

                        Query query = InitQuery.getInstance().getQuery("D_DELETE_ITEM_REPORT_PREGRESSI");
                        query.setParam("id_pregresso", idReport);
                        dbProvider.ExecuteNonQuery(query.getSQL());
                    }

                    Query q = InitQuery.getInstance().getQuery("D_DELETE_REPORT_PREGRESSI");
                    q.setParam("system_id", idReport);
                    dbProvider.ExecuteNonQuery(q.getSQL());

                    dbProvider.CommitTransaction();
                }
            }
            catch (Exception e)
            {
                result = false;
                dbProvider.RollbackTransaction();
                logger.Debug(e.Message);
            }

            return(result);
        }
コード例 #21
0
        /// <summary>
        /// Andrea De Marco - Update dell'item Import Pregressi
        /// </summary>
        /// <returns></returns>
        public bool UpdateItemReportPregressi(DocsPaVO.Import.Pregressi.ItemReportPregressi item, string sysId)
        {
            bool result = true;

            try
            {
                using (DocsPaDB.DBProvider dbProvider = new DBProvider())
                {
                    dbProvider.BeginTransaction();

                    Query query = InitQuery.getInstance().getQuery("U_ITEM_REPORT_PREGRESSI");

                    if (!string.IsNullOrEmpty(item.idDocumento))
                    {
                        query.setParam("id_documento", item.idDocumento);
                    }
                    else
                    {
                        query.setParam("id_documento", "null");
                    }

                    string errore = string.Empty;
                    if (!string.IsNullOrEmpty(item.errore))
                    {
                        errore = item.errore.Replace("'", "''");
                    }

                    query.setParam("errore", errore);
                    query.setParam("esito", item.esito);
                    query.setParam("system_id", sysId);

                    string commandText = query.getSQL();
                    System.Diagnostics.Debug.WriteLine("SQL - UpdateItemReportPregressi - DocsPaDB/ImportPregressi.cs - QUERY : " + commandText);
                    logger.Debug("SQL - UpdateItemReportPregressi - DocsPaDB/ImportPregressi.cs - QUERY : " + commandText);
                    //dbProvider.ExecuteNonQuery(commandText);
                    if (!dbProvider.ExecuteNonQuery(commandText))
                    {
                        result = false;
                        dbProvider.RollbackTransaction();
                        throw new Exception();
                    }
                    else
                    {
                        dbProvider.CommitTransaction();
                    }
                }
            }
            catch (Exception e)
            {
                result = false;
                logger.Debug(e.Message);
            }

            return(result);
        }
コード例 #22
0
        /// <summary>
        /// Metodo per il salvataggio delle informazioni sulla ricevuta di cancellazione o eccezione
        /// </summary>
        /// <param name="senderRecordInfo">Informazioni sul protocollo mittente</param>
        /// <param name="receiverRecordInfo">Informazioni sul protocollo destinatario</param>
        /// <param name="reason">Ragione dell'annullamento o dettaglio dell'eccezione</param>
        /// <param name="receiverUrl">Url del destinatario</param>
        /// <param name="droppedProof">Booleano utilizzato per indicare se si tratta di una ricevuta di annullamento</param>
        /// <param name="receiverCode">Codice del destinatario</param>
        /// <returns>Esito del salvataggio</returns>
        public bool SaveDocumentDroppedOrExceptionProofData(RecordInfo senderRecordInfo, RecordInfo receiverRecordInfo, String reason, string receiverUrl, bool droppedProof, String receiverCode)
        {
            // Splitting dei codici dei corrispondenti (i codici arrivano come codici di corrispondenti nella loro
            // ultima versione, ma è possibile che da quando è stato creato il documento, il corrispondente abbia subito
            // delle storicizzazioni
            String[] corrs = receiverCode.Split(',');

            Query query = InitQuery.getInstance().getQuery("U_SET_DROPPED_PROOF_DATA");

            query.setParam("value", droppedProof ? "1" : "E");
            // PEC 4 Modifica Maschera Caratteri
            query.setParam("statusmask", droppedProof ? "VNVVVNN" : "XNVNNXN");
            query.setParam("reason", reason);
            query.setParam("senderRecordNumber", senderRecordInfo.RecordNumber);
            query.setParam("senderProtoDate", senderRecordInfo.RecordDate.ToString("dd/MM/yyyy HH:mm:ss"));
            query.setParam("receiverAooCode", receiverRecordInfo.AOOCode);
            query.setParam("receiverAdmCode", receiverRecordInfo.AdministrationCode);
            query.setParam("senderAdmCode", senderRecordInfo.AdministrationCode);
            query.setParam("senderAooCode", senderRecordInfo.AOOCode);
            query.setParam("receiverUrl", receiverUrl);
            if (dbType.ToUpper().Equals("SQL"))
            {
                List <string> idCorr    = new List <string>();
                string        condition = string.Empty;
                DataSet       ds;
                //selezione degli id associati alla storia dei corrispondenti, destinatari di una spedizione
                if (this.ExecuteQuery(out ds, "corr", this.GetCorrUnion(corrs).ToString()))
                {
                    if (ds.Tables["corr"] != null && ds.Tables["corr"].Rows.Count > 0)
                    {
                        foreach (DataRow row in ds.Tables["corr"].Rows)
                        {
                            idCorr.Add(row["SYSTEM_ID"].ToString());
                        }
                        string listSystemId = string.Empty;
                        foreach (string id in idCorr)
                        {
                            listSystemId += string.IsNullOrEmpty(listSystemId) ? " '" + id + "'" : " ,'" + id + "'";
                        }
                        condition = listSystemId;
                        query.setParam("receiverCode", condition);
                    }
                }
            }
            else
            {
                query.setParam("receiverCode", this.GetCorrUnion(corrs));
            }

            using (DBProvider dbProvider = new DBProvider())
            {
                return(dbProvider.ExecuteNonQuery(query.getSQL()));
            }
        }
コード例 #23
0
        /// <summary>
        /// Restituisce la lista di amministrazioni con registro di conservazione
        /// abilitato e le rispettive date in cui effettuare la prossima stampa.
        /// </summary>
        /// <returns></returns>
        public List <RegistroConservazionePrint> GetRegConsPrintRange()
        {
            List <RegistroConservazionePrint> retVal = new List <RegistroConservazionePrint>();

            using (DBProvider dbProvider = new DBProvider())
            {
                //creo la query da eseguire
                Query query = InitQuery.getInstance().getQuery("S_REG_CONS_GET_LIST_ENABLED_AMM");
                logger.Debug(query.getSQL());
                int i = 1;

                using (IDataReader dataReader = dbProvider.ExecuteReader(query.getSQL()))
                {
                    while (dataReader.Read())
                    {
                        //per gestione eventuali valori null
                        string   lastPrintedId;
                        string   idAmm = string.Empty;
                        string   userId;
                        string   role;
                        int      hPrint;
                        DateTime firstDate;
                        DateTime lastDate;

                        idAmm         = dataReader["ID_AMM"].ToString();
                        lastPrintedId = dataReader["ID_LAST_PRINTED_EVENT"].Equals(DBNull.Value) ? "0" : dataReader["ID_LAST_PRINTED_EVENT"].ToString();
                        firstDate     = dataReader["DTA_LAST_PRINT"].Equals(DBNull.Value) ? DateTime.Now : Convert.ToDateTime(dataReader["DTA_LAST_PRINT"].ToString());
                        lastDate      = dataReader["DTA_NEXT_PRINT"].Equals(DBNull.Value) ? DateTime.Now : Convert.ToDateTime(dataReader["DTA_NEXT_PRINT"].ToString());
                        userId        = dataReader["PRINTER_USER_ID"].Equals(DBNull.Value) ? string.Empty : dataReader["PRINTER_USER_ID"].ToString();
                        role          = dataReader["PRINTER_ROLE_ID"].Equals(DBNull.Value) ? string.Empty : dataReader["PRINTER_ROLE_ID"].ToString();
                        hPrint        = dataReader["PRINT_HOUR"].Equals(DBNull.Value) ? 0 : Convert.ToInt32(dataReader["PRINT_HOUR"]);

                        logger.Debug(i + " - ID: " + idAmm + " - last id: " + lastPrintedId);
                        i++;

                        retVal.Add(new RegistroConservazionePrint()
                        {
                            idAmministrazione = idAmm,
                            printFreq         = dataReader["PRINT_FREQ"].ToString(),
                            idLastPrinted     = lastPrintedId,
                            idLastToPrint     = dataReader["ID_LAST_EVENT_TO_PRINT"].ToString(),
                            lastPrintDate     = firstDate,
                            nextPrintDate     = lastDate,
                            printHour         = hPrint,
                            print_userId      = userId,
                            print_role        = role
                        });
                    }
                }
            }

            return(retVal);
        }
コード例 #24
0
        /// <summary>
        /// Ricava i parametri di configurazione per l'alert e l'amministrazione richiesti
        /// </summary>
        /// <param name="idAmm"></param>
        /// <param name="codice"></param>
        /// <returns></returns>
        public string getParametriAlert(string idAmm, string codice)
        {
            string retVal         = string.Empty;
            Query  query          = InitQuery.getInstance().getQuery("S_ALERT_CONS_GET_PARAMETRI");
            string paramToExtract = string.Empty;

            switch (codice)
            {
            case "LEGGIBILITA_PERC":
                paramToExtract = " num_leggibilita_max_doc_perc ";
                break;

            case "LEGGIBILITA_SINGOLO":
                paramToExtract = " num_legg_sing_max_oper ||'_'|| num_legg_sing_periodo_mon ";
                break;

            case "DOWNLOAD":
                paramToExtract = " num_download_max_oper ||'_'|| num_download_periodo_mon ";
                break;

            case "SFOGLIA":
                paramToExtract = "num_sfoglia_max_oper ||'_'|| num_sfoglia_periodo_mon ";
                break;
            }

            query.setParam("idAmm", idAmm);
            query.setParam("params", paramToExtract);

            try
            {
                using (DBProvider dbProvider = new DBProvider())
                {
                    string commandText = query.getSQL();
                    logger.Debug(commandText);

                    if (!dbProvider.ExecuteScalar(out retVal, commandText))
                    {
                        throw new Exception("Errore nell'esecuzione della query.");
                    }
                }
            }
            catch (Exception ex)
            {
                retVal = string.Empty;
                logger.Debug(ex.Message);
            }

            return(retVal);
        }
コード例 #25
0
        public DataSet GetRolesWithOutReisOrRFReport(InfoUtente userInfo, List <FiltroRicerca> searchFilters)
        {
            DataSet dataSet = new DataSet();

            using (DBProvider dbProvider = new DBProvider())
            {
                // Reperimento query da eseguire ed esecuzione
                Query query = InitQuery.getInstance().getQuery("S_REPORT_ROLES_WOUT_REGS_OR_RF");
                query.setParam("ammId", userInfo.idAmministrazione);
                query.setParam("dbuser", DocsPaDbManagement.Functions.Functions.GetDbUserSession());
                dbProvider.ExecuteQuery(out dataSet, query.getSQL());
            }

            return(dataSet);
        }
コード例 #26
0
        public DataSet GetModelliTrasmissioneReport(InfoUtente userInfo, List <FiltroRicerca> searchFilter)
        {
            DataSet dataSet = new DataSet();

            using (DBProvider dbProvider = new DBProvider())
            {
                // Reperimento query da eseguire, creazione dei filtri ed esecuzione
                Query  query     = InitQuery.getInstance().getQuery("S_EXPORT_TRASM_MODEL");
                String whereCond = this.GenerateExportTransModelCond(searchFilter);
                query.setParam("ammId", userInfo.idAmministrazione);
                query.setParam("filterCond", whereCond);
                dbProvider.ExecuteQuery(out dataSet, query.getSQL());
            }

            return(dataSet);
        }
コード例 #27
0
        /// <summary>
        /// Andrea De Marco - Get degli allegati di un item per SystemId
        /// </summary>
        /// <param name="getItems"></param>
        /// <returns></returns>
        public List <DocsPaVO.Import.Pregressi.Allegati> GetAllegatiByIdItem(string idItem)
        {
            List <DocsPaVO.Import.Pregressi.Allegati> result = null;

            try
            {
                DataSet ds_allegati = new DataSet();

                using (DocsPaDB.DBProvider dbProvider = new DBProvider())
                {
                    //Prendo gli allegati in base al id_item
                    Query query_allegati = InitQuery.getInstance().getQuery("S_GET_ALLEGATI_ITEM_REPORT_PREGRESSI_BY_SYSTEMID");
                    query_allegati.setParam("id_item", idItem);

                    string commandText = query_allegati.getSQL();
                    logger.Debug(commandText);

                    dbProvider.ExecuteQuery(ds_allegati, "allegati", commandText);
                    //dbProvider.ExecuteQuery(ds_allegati, query_allegati.ToString());
                    //Fine Query

                    if (ds_allegati != null && ds_allegati.Tables[0].Rows.Count > 0)
                    {
                        result = new List <DocsPaVO.Import.Pregressi.Allegati>();

                        for (int i = 0; i < ds_allegati.Tables[0].Rows.Count; i++)
                        {
                            DocsPaVO.Import.Pregressi.Allegati allegato = new DocsPaVO.Import.Pregressi.Allegati();
                            //Popolamento:
                            allegato.systemId = ds_allegati.Tables[0].Rows[i]["SYSTEM_ID"].ToString();
                            allegato.idItem   = ds_allegati.Tables[0].Rows[i]["ID_ITEM"].ToString();
                            allegato.idItem   = ds_allegati.Tables[0].Rows[i]["ERRORE"].ToString();
                            allegato.idItem   = ds_allegati.Tables[0].Rows[i]["ESITO"].ToString();
                            //Inserimento:
                            result.Add(allegato);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                logger.Debug(e.Message);
                result = null;
            }

            return(result);
        }
コード例 #28
0
        public DataSet GetCopiaVisibilitaReport(InfoUtente userInfo, List <FiltroRicerca> searchFilters)
        {
            DataSet dataSet = new DataSet();

            using (DBProvider dbProvider = new DBProvider())
            {
                // Reperimento query da eseguire per produrre il report
                Query query = InitQuery.getInstance().getQuery("R_COPIA_VISIBILITA");
                //Query query = InitQuery.getInstance().getQuery("R_COPIA_VISIBILITA_TEST");

                // Esecuzione della query
                dbProvider.ExecuteQuery(out dataSet, query.getSQL());
            }

            // Restituzione risultato query
            return(dataSet);
        }
コード例 #29
0
        public DataSet GetInfoNotificheRifiutoPolicy(InfoUtente infoUtente, List <FiltroRicerca> filters)
        {
            DataSet dataSet = new DataSet();

            using (DBProvider dbProvider = new DBProvider())
            {
                Query query = InitQuery.getInstance().getQuery("S_NOTIFICHE_RIFIUTO_REPORT_POLICY");
                this.SetFilters(query, filters);

                string commandText = query.getSQL();

                logger.Debug("QUERY - SQL: " + commandText);
                dbProvider.ExecuteQuery(out dataSet, commandText);
            }

            return(dataSet);
        }
コード例 #30
0
        /// <summary>
        /// Metodo per il reperimento dei dettaglio di un Raggruppamento Funzionale.
        /// </summary>
        /// <param name="idRf">Id dell'RF da caricare</param>
        /// <returns>Dettaglio del raggruppamento funzionale</returns>
        public RaggruppamentoFunzionale GetRaggruppamentoFunzionaleRC(String idRf)
        {
            RaggruppamentoFunzionale rf = new RaggruppamentoFunzionale();

            // Reperimento delle informazioni sull'RF come corrispondente
            using (DBProvider dbProvider = new DBProvider())
            {
                Query query = InitQuery.getInstance().getQuery("S_RF_CODE_DESCRIPTION_AND_INFO");
                query.setParam("idRf", idRf);

                // Sostituzione del dbUser se il db è sql server
                if (base.DBType.ToUpper() == "SQL")
                {
                    query.setParam("dbUser", DocsPaDbManagement.Functions.Functions.GetDbUserSession() + ".");
                }

                using (IDataReader dataReader = dbProvider.ExecuteReader(query.getSQL()))
                {
                    while (dataReader.Read())
                    {
                        rf = new RaggruppamentoFunzionale()
                        {
                            systemId          = idRf,
                            Codice            = dataReader["var_cod_rubrica"].ToString(),
                            descrizione       = dataReader["var_desc_corr"].ToString(),
                            idAmministrazione = dataReader["id_amm"].ToString(),
                            indirizzo         = dataReader["var_indirizzo"].ToString(),
                            citta             = dataReader["var_citta"].ToString(),
                            cap         = dataReader["var_cap"].ToString(),
                            nazionalita = dataReader["var_nazione"].ToString(),
                            prov        = dataReader["var_provincia"].ToString(),
                            telefono1   = dataReader["var_telefono"].ToString(),
                            telefono2   = dataReader["var_telefono2"].ToString(),
                            fax         = dataReader["var_fax"].ToString(),
                            note        = dataReader["var_note"].ToString(),
                            codiceAOO   = dataReader["Aoo"].ToString(),
                            codfisc     = dataReader["var_cod_fisc"].ToString(),
                            partitaiva  = dataReader["var_cod_pi"].ToString()
                        }
                    }
                    ;
                }
            }

            return(rf);
        }