/// <summary> /// Consente la rimozione di un'amministrazione in DCTM ma non in PITRE /// </summary> /// <param name="amministrazione">Amministrazioni PITRE da rimuovere in DCTM</param> public static bool RimuoviAmministrazione(DocsPaVO.amministrazione.InfoAmministrazione amministrazione) { bool retValue = false; // 1. Connessione al sistema come utente amministratore string userName = DocsPaDocumentale_DOCUMENTUM.DctmServices.DctmConfigurations.GetDocumentumSuperUser(); string password = DocsPaDocumentale_DOCUMENTUM.DctmServices.DctmConfigurations.GetDocumentumSuperUserPwd(); UserLogin.LoginResult loginResult; InfoUtenteAmministratore infoUtente = LoginServices.LoginAdmin(userName, password, out loginResult); if (loginResult == UserLogin.LoginResult.OK) { AmministrazioneManager amministrazioneManager = new AmministrazioneManager(infoUtente); // 2. Rimozione amministrazioni DCTM EsitoOperazione result = amministrazioneManager.Delete(amministrazione); retValue = (result.Codice == RESULT_CODE_OK); if (retValue) { // Rimozione stato migrazione per l'amministrazione StatoMigrazione.Delete(amministrazione); } } return(retValue); }
public void setUserAmmSession(InfoUtenteAmministratore datiAmministratore) { if (HttpContext.Current.Session[SessionUtente] == null) { HttpContext.Current.Session.Add(SessionUtente, datiAmministratore); } else { HttpContext.Current.Session[SessionUtente] = datiAmministratore; } }
/// <summary> /// Aggiornamento di un'amministrazione /// </summary> /// <param name="infoUtente"></param> /// <param name="amministrazione"></param> /// <param name="tipiOggetti"></param> /// <returns></returns> internal static void AggiornaAmministrazione(InfoUtenteAmministratore infoUtente, DocsPaVO.amministrazione.InfoAmministrazione amministrazione, TipiOggettiAmministrazione tipiOggetti) { InfoStatoMigrazione statoMigrazione = StatoMigrazione.Get(amministrazione); AmministrazioneManager amministraManager = new AmministrazioneManager(infoUtente); // 1. Verifica amministrazione esistente in DCTM /*if (amministraManager.ContainsAmministrazione(amministrazione.Codice)) * { * List<string> ruoliImportati = null; * * try * { * // 2. Creazione delle utenze dell'amministrazione * if (tipiOggetti.Organigramma) * { * Organigramma.ImportaUtenti(infoUtente, amministrazione); * * // 3. Creazione dei ruoli dell'amministrazione * Organigramma.ImportaRuoli(infoUtente, amministrazione, out ruoliImportati); * * // 4. Associazione degli utenti ai ruoli dell'amministrazione * Organigramma.ImportaAssociazioniUtentiRuoli(infoUtente, amministrazione); * } * /* * if (tipiOggetti.Titolario) * { * // 5. Creazione dei titolari dell'amministrazione * Titolario.ImportaTitolari(infoUtente, amministrazione); * } * * // Imposta lo stato dell'amministrazione come migrata correttamente * statoMigrazione.DatiAmministrazioneMigrati = true; * * // Salva stato della migrazione * StatoMigrazione.Save(statoMigrazione, amministrazione); * } * catch (Exception ex) * { * // Rollback: in caso di errore, viene rimossa l'amministrazione appena inserita * // per mantenere i dati consistenti * Log.GetInstance(amministrazione).Write(string.Format("Si è verificato un errore nella procedura di migrazione l'amministrazione '{0}'.", amministrazione.Codice), false); * * throw ex; * } * } * else * { * // 1a. Errore nella migrazione dell'amministrazione (migrazione interrotta) * throw new ApplicationException(string.Format("Si è verificato un errore nell'aggiornamento dell'amministrazione. Amministrazione con codice {0} non esistente", amministrazione.Codice)); * }*/ }
protected void btn_conferma_Click(object sender, EventArgs e) { DocsPaWR.CopyVisibility copyVisibility = getCopyVisibility(); if (string.IsNullOrEmpty(copyVisibility.codRuoloDestinazione)) { ClientScript.RegisterStartupScript(this.GetType(), "emptySearch_3", "alert('Selezionare un ruolo di destinazione !');", true); } else { AmmUtils.WebServiceLink wsLink = new AmmUtils.WebServiceLink(); DocsPAWA.AdminTool.Manager.SessionManager session = new DocsPAWA.AdminTool.Manager.SessionManager(); InfoUtenteAmministratore iuA = session.getUserAmmSession(); InfoUtente ut = new InfoUtente(); ut.idPeople = iuA.idPeople; ut.idGruppo = (iuA.idGruppo == null ? "0" : iuA.idGruppo); ut.idCorrGlobali = (iuA.idCorrGlobali == null ? "0" : iuA.idCorrGlobali); ut.idAmministrazione = iuA.idAmministrazione; ut.sede = iuA.sede; ut.userId = iuA.userId; DocsPaWR.EsitoOperazione esitoOperazione = wsLink.CopyVisibility(ut, copyVisibility); // ABBATANGELI GIANLUIGI if (esitoOperazione.Codice == 0) { //ABBATANGELI GIANLUIGI PrintReportRequest request = new PrintReportRequest { ContextName = "CopiaVisibilita", SearchFilters = null, UserInfo = ut, Title = "Report copia visibilità" }; ReportingUtils.PrintRequest = request; if (esitoOperazione.Descrizione.Contains('*')) { esitoOperazione.Descrizione = esitoOperazione.Descrizione.Split('*')[0]; } ClientScript.RegisterStartupScript(this.GetType(), "esitoOperazione", "if (confirm('" + esitoOperazione.Descrizione + "\\n\\rEsportare il risultato?')) {" + ReportScript + "}", true); } else { ClientScript.RegisterStartupScript(this.GetType(), "esitoOperazione", "alert('" + esitoOperazione.Descrizione + "');", true); } } }
public InfoUtenteAmministratore getUserAmmSession() { InfoUtenteAmministratore datiAmministratore = null; if (HttpContext.Current == null || HttpContext.Current.Session == null) { return(null); } if (HttpContext.Current.Session[SessionUtente] != null) { datiAmministratore = (InfoUtenteAmministratore)HttpContext.Current.Session[SessionUtente]; } return(datiAmministratore); }
/// <summary> /// Task di aggiornamento di tutti gli oggetti di un'amministrazione /// </summary> /// <param name="amministrazione"></param> /// <param name="tipiOggetti"></param> /// <returns></returns> public static bool AggiornaAmministrazione(DocsPaVO.amministrazione.InfoAmministrazione amministrazione, TipiOggettiAmministrazione tipiOggetti) { bool retValue = false; try { // 1. Connessione al sistema come utente amministratore //string userName = DocsPaDocumentale_DOCUMENTUM.DctmServices.DctmConfigurations.GetDocumentumSuperUser(); //string password = DocsPaDocumentale_DOCUMENTUM.DctmServices.DctmConfigurations.GetDocumentumSuperUserPwd(); string userName = "******"; string password = "******"; Log.GetInstance(amministrazione).Write(string.Format("Connessione al sistema come utente amministratore. UserName: '******' - Password: '******'", userName, password), false); UserLogin.LoginResult loginResult; InfoUtenteAmministratore infoUtente = LoginServices.LoginAdmin(userName, password, out loginResult); if (loginResult == UserLogin.LoginResult.OK) { // 2. Migrazione dati singola amministrazione AggiornaAmministrazione(infoUtente, amministrazione, tipiOggetti); Log.GetInstance(amministrazione).Write("Procedura di migrazione completata con successo", false); } else { // 1a. Utente non autenticato throw new ApplicationException( string.Format("Errore nell'autenticazione dell'utente '{0}'. Esito:{1}", userName, loginResult.ToString())); } retValue = true; } catch (Exception ex) { // Migrazione annullata Log.GetInstance(amministrazione).Write(ex.Message, true); retValue = false; } finally { Log.GetInstance(amministrazione).Flush(); } return(retValue); }
/// <summary> /// Metodo per la compilazione della proprietà di un elemento da inviare alla rubrica comune /// </summary> /// <param name="elementoRubrica">Elemento da compilare</param> internal void CompileRFProperty(global::RubricaComune.Proxy.Elementi.ElementoRubrica elementoRubrica) { SessionManager sm = new SessionManager(); InfoUtenteAmministratore infoUtente = sm.getUserAmmSession(); string[] amministrazione = ((string)HttpContext.Current.Session["AMMDATASET"]).Split('@'); string codiceAmministrazione = amministrazione[0]; elementoRubrica.Cap = this.txtCap.Text; elementoRubrica.Citta = this.txtCitta.Text; elementoRubrica.Fax = this.txtFax.Text; elementoRubrica.Indirizzo = this.txtIndirizzo.Text; elementoRubrica.Nazione = this.txtNazione.Text; elementoRubrica.Provincia = this.txtProvincia.Text; elementoRubrica.Telefono = this.txtTelefono.Text; elementoRubrica.CodiceFiscale = this.txtCodiceFiscale.Text; elementoRubrica.PartitaIva = this.txtPartitaIva.Text; }
/// <summary> /// Implementazione della logica del task di migrazione dati /// per tutti i titolari di una singola amministrazione DocsPa /// </summary> /// <param name="amministrazione"></param> public static void ImportaTitolari(InfoAmministrazione amministrazione) { try { // 1. Connessione al sistema come utente amministratore string userName = DocsPaDocumentale_DOCUMENTUM.DctmServices.DctmConfigurations.GetDocumentumSuperUser(); string password = DocsPaDocumentale_DOCUMENTUM.DctmServices.DctmConfigurations.GetDocumentumSuperUserPwd(); Log.GetInstance(amministrazione).Write(string.Format("Connessione al sistema come utente amministratore. UserName: '******' - Password: '******'", userName, password), false); UserLogin.LoginResult loginResult; InfoUtenteAmministratore infoUtente = LoginServices.LoginAdmin(userName, password, out loginResult); if (loginResult == UserLogin.LoginResult.OK) { // 2. Migrazione dati singola amministrazione ImportaTitolari(infoUtente, amministrazione); Log.GetInstance(amministrazione).Write("Procedura di migrazione completata con successo", false); } else { // 1a. Utente non autenticato throw new ApplicationException( string.Format("Errore nell'autenticazione dell'utente '{0}'. Esito:{1}", userName, loginResult.ToString())); } } catch (Exception ex) { // Migrazione annullata Log.GetInstance(amministrazione).Write(ex.Message, true); } finally { Log.GetInstance(amministrazione).Flush(); } }
/// <summary> /// Implementazione della logica del task di migrazione dati dei fascicoli /// per una singola amministrazione DocsPa /// </summary> /// <param name="amministrazione"></param> /// <param name="opzioniMigrazione"></param> /// <returns></returns> /* * public static void ImportaFascicoli(DocsPaVO.amministrazione.InfoAmministrazione amministrazione, OpzioniMigrazioneFascicolo opzioniMigrazione) * { * try * { * // 1. Connessione al sistema come utente amministratore * string userName = DocsPaDocumentale_DOCUMENTUM.DctmServices.DctmConfigurations.GetDocumentumSuperUser(); * string password = DocsPaDocumentale_DOCUMENTUM.DctmServices.DctmConfigurations.GetDocumentumSuperUserPwd(); * * Log.GetInstance(amministrazione).Write(string.Format("Connessione al sistema come utente amministratore. UserName: '******' - Password: '******'", userName, password), false); * * UserLogin.LoginResult loginResult; * InfoUtenteAmministratore infoUtente = LoginServices.LoginAdmin(userName, password, out loginResult); * * if (loginResult == UserLogin.LoginResult.OK) * { * // 2. Migrazione di tutti i fascicoli in amministrazione * Fascicolo.ImportaFascicoli(infoUtente, amministrazione, opzioniMigrazione); * } * else * { * // 1a. Utente non autenticato * throw new ApplicationException( * string.Format("Errore nell'autenticazione dell'utente '{0}'. Esito:{1}", * userName, loginResult.ToString())); * } * } * catch (Exception ex) * { * // Migrazione annullata * Log.GetInstance(amministrazione).Write(ex.Message, true); * } * finally * { * Log.GetInstance(amministrazione).Flush(); * } * } */ /// <summary> /// /// </summary> /// <param name="amministrazione"></param> /// <param name="fascicoli"></param> public static void ImportaFascicoliSelezionati(DocsPaVO.amministrazione.InfoAmministrazione amministrazione, Migrazione.InfoFascicoloMigrazione[] fascicoli) { try { // 1. Connessione al sistema come utente amministratore //string userName = DocsPaDocumentale_DOCUMENTUM.DctmServices.DctmConfigurations.GetDocumentumSuperUser(); //string password = DocsPaDocumentale_DOCUMENTUM.DctmServices.DctmConfigurations.GetDocumentumSuperUserPwd(); string userName = "******"; string password = "******"; Log.GetInstance(amministrazione).Write(string.Format("Connessione al sistema come utente amministratore. UserName: '******' - Password: '******'", userName, password), false); UserLogin.LoginResult loginResult; InfoUtenteAmministratore infoUtente = LoginServices.LoginAdmin(userName, password, out loginResult); if (loginResult == UserLogin.LoginResult.OK) { // 2. Migrazione di tutti i fascicoli in amministrazione Fascicolo.ImportaFascicoliSelezionati(infoUtente, amministrazione, fascicoli); } else { // 1a. Utente non autenticato throw new ApplicationException( string.Format("Errore nell'autenticazione dell'utente '{0}'. Esito:{1}", userName, loginResult.ToString())); } } catch (Exception ex) { // Migrazione annullata Log.GetInstance(amministrazione).Write(ex.Message, true); } finally { Log.GetInstance(amministrazione).Flush(); } }
/// <summary> /// /// </summary> /// <param name="infoUtente"></param> public AmministrazioneManager(InfoUtenteAmministratore infoUtente) { this._infoUtente = infoUtente; }
/// <summary> /// Implementazione della logica del task di migrazione dati /// per una singola amministrazione DocsPa /// </summary> /// <param name="infoUtente"></param> /// <param name="amministrazione"></param> private static void ImportaAmministrazione(InfoUtenteAmministratore infoUtente, InfoAmministrazione amministrazione) { InfoStatoMigrazione statoMigrazione = StatoMigrazione.Get(amministrazione); AmministrazioneManager amministraManager = new AmministrazioneManager(infoUtente); // 1. Creazione dell'amministrazione in DCTM EsitoOperazione result = amministraManager.Insert(amministrazione); if (result.Codice == RESULT_CODE_OK) { Log.GetInstance(amministrazione).Write(string.Format("Creata amministrazione con codice '{0}'", amministrazione.Codice), false); List <string> ruoliImportati = null; try { // 2. Creazione delle utenze dell'amministrazione Organigramma.ImportaUtenti(infoUtente, amministrazione); // 3. Creazione dei ruoli dell'amministrazione //Organigramma.ImportaRuoli(infoUtente, amministrazione, out ruoliImportati); // 4. Associazione degli utenti ai ruoli dell'amministrazione Organigramma.ImportaAssociazioniUtentiRuoli(infoUtente, amministrazione); // 5. Creazione dei titolari dell'amministrazione //Titolario.ImportaTitolari(infoUtente, amministrazione); // Imposta lo stato dell'amministrazione come migrata correttamente statoMigrazione.DatiAmministrazioneMigrati = true; // Salva stato della migrazione StatoMigrazione.Save(statoMigrazione, amministrazione); } catch (Exception ex) { // Rollback: in caso di errore, viene rimossa l'amministrazione appena inserita // per mantenere i dati consistenti EsitoOperazione rollback = null; /* * if (ruoliImportati != null) * rollback = amministraManager.Delete(amministrazione, ruoliImportati.ToArray()); * else * rollback = amministraManager.Delete(amministrazione); */ if (rollback.Codice != RESULT_CODE_OK) { Log.GetInstance(amministrazione).Write(string.Format("Errore nel Rollback: {0}", rollback.Descrizione), false); } else { Log.GetInstance(amministrazione).Write(string.Format("Si è verificato un errore nella procedura di migrazione l'amministrazione '{0}'. Le operazioni finora effettuate sono state annullate.", amministrazione.Codice), false); } throw ex; } } else { // 1a. Errore nella migrazione dell'amministrazione (migrazione interrotta) throw new ApplicationException(string.Format("Si è verificato un errore nell'inserimento dell'amministrazione. Codice: {0} - Descrizione: {1}", result.Codice, result.Descrizione)); } }
private void InvalidaPassiCorrelati(string tipoNodo, string idRuolo, string idPeople, InfoUtenteAmministratore infoAmm) { DocsPAWA.DocsPaWR.DocsPaWebService wws = new DocsPAWA.DocsPaWR.DocsPaWebService(); wws.Timeout = System.Threading.Timeout.Infinite; wws.InvalidaPassiCorrelatiTitolare(idRuolo, idPeople, tipoNodo, infoAmm); }
/// <summary> /// Aggiornamento delle associazioni fascicoli / documenti /// </summary> /// <param name="amministrazione"></param> /// <param name="fascicoli"></param> public static void AggiornaAssociazioniFascicoliSelezionatiDocumenti(DocsPaVO.amministrazione.InfoAmministrazione amministrazione, Migrazione.InfoFascicoloMigrazione[] fascicoli) { try { // 1. Connessione al sistema come utente amministratore string userName = DocsPaDocumentale_DOCUMENTUM.DctmServices.DctmConfigurations.GetDocumentumSuperUser(); string password = DocsPaDocumentale_DOCUMENTUM.DctmServices.DctmConfigurations.GetDocumentumSuperUserPwd(); Log.GetInstance(amministrazione).Write(string.Format("Connessione al sistema come utente amministratore. UserName: '******' - Password: '******'", userName, password), false); UserLogin.LoginResult loginResult; InfoUtenteAmministratore infoUtente = LoginServices.LoginAdmin(userName, password, out loginResult); if (loginResult == UserLogin.LoginResult.OK) { // Viene assegnato all'infoutente l'id dell'amministrazione fornita come parametro // per fare in modo che l'utente che esegue la migrazione si impersonifichi // come utente dell'amministrazione string idAmm = infoUtente.idAmministrazione; infoUtente.idAmministrazione = amministrazione.IDAmm; ProjectManager projectManager = new ProjectManager(infoUtente); int index = 1; foreach (Migrazione.InfoFascicoloMigrazione item in fascicoli) { if (_interrompiMigrazione) { _interrompiMigrazione = false; Log.GetInstance(amministrazione).Write(string.Format("Aggiornamento associazione fascicoli documenti al fascicolo {0} di {1}", index.ToString(), fascicoli.Length), false); break; } infoUtente.idGruppo = DocsPaDocumentale_DOCUMENTUM.DocsPaServices.DocsPaQueryHelper.getRuoloCreatore(item.Id).idGruppo; DocsPaVO.fascicolazione.Fascicolo fascicolo = GetFascicolo(item.Id, infoUtente); // 2. Aggiornamento fascicolazioni del fascicolo AggiornaAssociazioniFascicoliDocumenti(infoUtente, amministrazione, fascicolo, projectManager); index++; } infoUtente.idAmministrazione = idAmm; } else { // 1a. Utente non autenticato throw new ApplicationException( string.Format("Errore nell'autenticazione dell'utente '{0}'. Esito:{1}", userName, loginResult.ToString())); } } catch (Exception ex) { // Migrazione annullata Log.GetInstance(amministrazione).Write(ex.Message, true); } finally { Log.GetInstance(amministrazione).Flush(); } }
/// <summary> /// Aggiornamento delle associazioni fascicoli / documenti /// </summary> /// <param name="amministrazione"></param> /// <param name="opzioniMigrazione"></param> public static void AggiornaAssociazioniFascicoliDocumenti(DocsPaVO.amministrazione.InfoAmministrazione amministrazione, OpzioniMigrazioneFascicolo opzioniMigrazione) { try { // 1. Connessione al sistema come utente amministratore string userName = DocsPaDocumentale_DOCUMENTUM.DctmServices.DctmConfigurations.GetDocumentumSuperUser(); string password = DocsPaDocumentale_DOCUMENTUM.DctmServices.DctmConfigurations.GetDocumentumSuperUserPwd(); Log.GetInstance(amministrazione).Write(string.Format("Connessione al sistema come utente amministratore. UserName: '******' - Password: '******'", userName, password), false); UserLogin.LoginResult loginResult; InfoUtenteAmministratore infoUtente = LoginServices.LoginAdmin(userName, password, out loginResult); if (loginResult == UserLogin.LoginResult.OK) { // Viene assegnato all'infoutente l'id dell'amministrazione fornita come parametro // per fare in modo che l'utente che esegue la migrazione si impersonifichi // come utente dell'amministrazione string idAmm = infoUtente.idAmministrazione; infoUtente.idAmministrazione = amministrazione.IDAmm; ProjectManager projectManager = new ProjectManager(infoUtente); // 2. Reperimento di tutti i fascicoli in PITRE using (DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider()) { using (DataSet ds = new DataSet()) { // 1. Reperimento fascicoli per il titolario if (dbProvider.ExecuteQuery(ds, GetQueryFascicoli(infoUtente, opzioniMigrazione.Filtro))) { Log.GetInstance(amministrazione).Write("Reperimento fascicoli in amministrazione.", false); int index = 1; foreach (DataRow row in ds.Tables[0].Rows) { if (_interrompiMigrazione) { _interrompiMigrazione = false; string log = string.Format("Aggiornamento associazione fascicoli documenti al fascicolo {0} di {1}", index.ToString(), ds.Tables[0].Rows.Count); Log.GetInstance(amministrazione).Write(log, false); logger.Debug(log); break; } DocsPaVO.fascicolazione.Fascicolo fascicolo = GetFascicolo(row, infoUtente); // 2. Aggiornamento fascicolazioni del fascicolo AggiornaAssociazioniFascicoliDocumenti(infoUtente, amministrazione, fascicolo, projectManager); index++; } } else { // 1a. Errore nel reperimento dei fascicoli throw new ApplicationException( string.Format("Si è verificato un errore nel reperimento dei fascicolo per l'amministrazione '{0}'", amministrazione.Codice)); } } } infoUtente.idAmministrazione = idAmm; } else { // 1a. Utente non autenticato throw new ApplicationException( string.Format("Errore nell'autenticazione dell'utente '{0}'. Esito:{1}", userName, loginResult.ToString())); } } catch (Exception ex) { // Migrazione annullata Log.GetInstance(amministrazione).Write(ex.Message, true); } finally { Log.GetInstance(amministrazione).Flush(); } }
/// <summary> /// /// </summary> /// <param name="infoUtente"></param> public AmministrazioneManager(InfoUtenteAmministratore infoUtente) { this._instance = (IAmministrazioneManager)Activator.CreateInstance(_type, infoUtente); }