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

                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)
                {
                    // 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;
                        infoUtente.idGruppo = null;
                        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 #4
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();

                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)
                {
                    // 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();
            }
        }