/// <summary> /// Funzione per il recupero della lista dei ruoli presenti sotto un dato ufficio /// </summary> /// <param name="filtroRicerca">Filtro con le informazioni sull'ufficio di cui ricavare i ruoli</param> /// <param name="userInfo">Informazioni sull'utente</param> /// <returns>Lista degli id dei ruoli presenti sotto l'ufficio</returns> private string GetRolesList(FiltroRicerca filtroRicerca, InfoUtente userInfo) { StringBuilder rolesId = new StringBuilder(); using (Amministrazione amm = new Amministrazione()) { Ruolo[] roles = (Ruolo[])amm.getRuoliUO(new UnitaOrganizzativa() { systemId = filtroRicerca.valore, idAmministrazione = userInfo.idAmministrazione }).ToArray(typeof(Ruolo)); foreach (var role in roles) { rolesId.AppendFormat("{0},", role.idGruppo); } // Rimozione dell'ultima virgola rolesId = rolesId.Remove(rolesId.Length - 1, 1); } // Restituzione ruoli return(rolesId.ToString()); }
/// <summary> /// Metodo per il salvataggio delle informazioni su una ricevuta di conferma di ricezione /// </summary> /// <param name="senderRecordInfo">Informazioni sul protocollo in uscita</param> /// <param name="receiverRecordInfo">Informazioni sul protocollo ricevuto</param> /// <param name="receiverUrl">Url del mittente</param> /// <returns>Esto dell'aggiornamento</returns> public bool SaveReceivedProofData(RecordInfo senderRecordInfo, RecordInfo receiverRecordInfo, String receiverUrl, 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_RECEIVED_PROOF_DATA"); // Recupero dell'id dell'amministrazione mittente String administrationId = new Amministrazione().GetIDAmm(senderRecordInfo.AdministrationCode); // Costruzione informazioni sul protocollo ricevuto String protoRec = String.Format("{0}{1}{2}{1}{3}", receiverRecordInfo.RecordNumber, DocsPaDB.Utils.Personalization.getInstance(administrationId).getSepSegnatura(), receiverRecordInfo.AOOCode, receiverRecordInfo.RecordDate.Year); query.setParam("receiverProtoRec", protoRec); query.setParam("receiverProtoDate", receiverRecordInfo.RecordDate.ToString("dd/MM/yyyy HH:mm:ss")); 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)); } logger.Debug(query.getSQL()); using (DBProvider dbProvider = new DBProvider()) { return(dbProvider.ExecuteNonQuery(query.getSQL())); } }
public ArrayList eseguiRicercaCampiComuni(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.filtri.FiltroRicerca[][] listaFiltri, int numPage, int pageSize, out int nRec) { ArrayList listaDocFasc = new ArrayList(); DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider(); nRec = getCountDocFasc(infoUtente, listaFiltri); if (nRec > 0) { try { //Condizioni security e amministrazione DocsPaUtils.Query queryMng = DocsPaUtils.InitQuery.getInstance().getQuery("S_CAMPI_COMUNI_DOC_FASC"); queryMng.setParam("idPeople", infoUtente.idPeople); queryMng.setParam("idGruppo", infoUtente.idGruppo); queryMng.setParam("idAmm", infoUtente.idAmministrazione); string idRuoloPubblico = DocsPaUtils.Configuration.InitConfigurationKeys.GetValue(infoUtente.idAmministrazione, "ENABLE_FASCICOLO_PUBBLICO"); if (string.IsNullOrEmpty(idRuoloPubblico)) { idRuoloPubblico = "0"; } queryMng.setParam("idRuoloPubblico", idRuoloPubblico); //SQL Server int pageSizeSqlServer = pageSize; int totalRowsSqlServer = (numPage * pageSize); if ((nRec - totalRowsSqlServer) <= 0) { pageSizeSqlServer -= System.Math.Abs(nRec - totalRowsSqlServer); totalRowsSqlServer = nRec; } queryMng.setParam("pageSize", pageSizeSqlServer.ToString()); queryMng.setParam("totalRows", totalRowsSqlServer.ToString()); //ORACLE int numTotPage = (nRec / pageSize); int startRow = ((numPage * pageSize) - pageSize) + 1; int endRow = (startRow - 1) + pageSize; queryMng.setParam("startRow", startRow.ToString()); queryMng.setParam("endRow", endRow.ToString()); //Condizioni registro Utenti utenti = new Utenti(); ArrayList registri = utenti.GetRuoloByIdGruppo(infoUtente.idGruppo).registri; string paramRegistri = " AND (A.ID_REGISTRO IS NULL OR A.ID_REGISTRO IN ("; foreach (DocsPaVO.utente.Registro registro in registri) { paramRegistri += registro.systemId + ","; } paramRegistri = paramRegistri.Substring(0, paramRegistri.Length - 1) + ")) "; queryMng.setParam("condIdRegistri", paramRegistri); //Condizioni titolari Amministrazione amministrazione = new Amministrazione(); ArrayList titolari = amministrazione.getTitolariUtilizzabili(infoUtente.idAmministrazione); string paramTitolari = " AND A.ID_TITOLARIO IN ("; foreach (DocsPaVO.amministrazione.OrgTitolario titolario in titolari) { paramTitolari += titolario.ID + ","; } paramTitolari = paramTitolari.Substring(0, paramTitolari.Length - 1) + ") "; queryMng.setParam("condIdTitolari", paramTitolari); //Condizioni profilazione campi comuni for (int i = 0; i < listaFiltri.Length; i++) { for (int j = 0; j < listaFiltri[i].Length; j++) { DocsPaVO.filtri.FiltroRicerca f = listaFiltri[i][j]; if (f.valore != null && !f.valore.Equals("")) { switch (f.argomento) { //Condizioni profilazione campi comuni fascicolo case "TEMPLATE_CAMPI_COMUNI_FASC": DocsPaDB.Query_DocsPAWS.ModelFasc modelFasc = new ModelFasc(); string paramCondProfilazioneFascicoli = string.Empty; paramCondProfilazioneFascicoli = modelFasc.getSeriePerRicercaProfilazione(f.template, ""); if (!string.IsNullOrEmpty(paramCondProfilazioneFascicoli)) { queryMng.setParam("condProfilazioneFascicoli", paramCondProfilazioneFascicoli); } else { queryMng.setParam("condProfilazioneFascicoli", " "); } break; //Condizioni profilazione campi comuni documento case "TEMPLATE_CAMPI_COMUNI_DOC": DocsPaDB.Query_DocsPAWS.Model model = new Model(); string paramCondProfilazioneDocumenti = string.Empty; paramCondProfilazioneDocumenti = model.getSeriePerRicercaProfilazione(f.template, ""); if (!string.IsNullOrEmpty(paramCondProfilazioneDocumenti)) { queryMng.setParam("condProfilazioneDocumenti", paramCondProfilazioneDocumenti); } else { queryMng.setParam("condProfilazioneDocumenti", " "); } break; } } } } //Condizioni inizio e fine anno (Per il momento viene considerato di default l'anno corrente) string anno = Convert.ToString(System.DateTime.Now.Year); queryMng.setParam("startDateDoc", "01/01/" + anno); queryMng.setParam("endDateDoc", "31/12/" + anno); //Solo per il database SQL Server va effettuata la sostituzione del parametro @dbUser@ string dbType = System.Configuration.ConfigurationManager.AppSettings["DBType"]; if (dbType.ToUpper() == "SQL") { queryMng.setParam("dbUser", DocsPaDbManagement.Functions.Functions.GetDbUserSession()); } string commandText = queryMng.getSQL(); System.Diagnostics.Debug.WriteLine("SQL - eseguiRicercaCampiComuni - RicProfCampiComuni.cs - QUERY : " + commandText); logger.Debug("SQL - eseguiRicercaCampiComuni - RicProfCampiComuni.cs - QUERY : " + commandText); DataSet ds = new DataSet(); dbProvider.ExecuteQuery(ds, commandText); DocsPaVO.ProfilazioneDinamica.ItemRicCampiComuni itemRicCampiComuni = null; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { itemRicCampiComuni = new DocsPaVO.ProfilazioneDinamica.ItemRicCampiComuni(); setItemRicCampiComuni(ref itemRicCampiComuni, ds, i); listaDocFasc.Add(itemRicCampiComuni); } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("SQL - eseguiRicercaCampiComuni - RicProfCampiComuni.cs - Eccezione : " + ex.Message); logger.Debug("SQL - eseguiRicercaCampiComuni - RicProfCampiComuni.cs - Eccezione : " + ex.Message); return(null); } finally { dbProvider.Dispose(); } } return(listaDocFasc); }