Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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();

                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);
        }
Beispiel #3
0
        /// <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();

                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();
            }
        }
Beispiel #4
0
        /// <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();
            }
        }
Beispiel #5
0
        /// <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();
            }
        }