示例#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);
        }
示例#2
0
        /// <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));
             * }*/
        }
示例#3
0
        /// <summary>
        /// Metodo per l'inizializzazione della DropDown list dei tipi corrispondente
        /// </summary>
        private void InitializeCorrType()
        {
            this.ddlCorrType.Items.Add(new ListItem("Unità Organizzativa", Tipo.UO.ToString()));

            // Se sono attivi gli RF, viene aggiunta anche la possibilità di inserire corrispondenti
            // di tipo RF
            AmministrazioneManager ammoinistrazioneManager = new AmministrazioneManager();

            if (ammoinistrazioneManager.IsEnabledRF(null))
            {
                this.ddlCorrType.Items.Add(new ListItem("Raggruppamento Funzionale", Tipo.RF.ToString()));
            }
        }
示例#4
0
        /// <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));
            }
        }