예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="fascicolo"></param>
        public void SetFascicoloMigrazione(InfoFascicoloMigrazione fascicolo)
        {
            fascicolo.DataMigrazione = DateTime.Now.ToString();

            int indexOf = this.FascicoliMigrazione.IndexOf(fascicolo);

            if (indexOf == -1)
            {
                this.FascicoliMigrazione.Insert(0, fascicolo);
            }
            else
            {
                this.FascicoliMigrazione[indexOf] = fascicolo;
            }
        }
예제 #2
0
        /// <summary>
        /// Migrazione di un singolo fascicolo
        /// </summary>
        /// <param name="fascicolo"></param>
        /// <param name="infoUtente"></param>
        /// <param name="amministrazione"></param>
        /// <param name="statoMigrazione"></param>
        private static void ImportaFascicolo(DocsPaVO.fascicolazione.Fascicolo fascicolo, InfoUtente infoUtente, InfoAmministrazione amministrazione, InfoStatoMigrazione statoMigrazione)
        {
            //DocsPaDocumentale_DOCUMENTUM.Documentale.ProjectManager projectManager = new DocsPaDocumentale_DOCUMENTUM.Documentale.ProjectManager(infoUtente);
            //DocsPaDocumentale.Interfaces.IAclEventListener aclEventListener = new DocsPaDocumentale_DOCUMENTUM.Documentale.AclEventListener(infoUtente);

            // 1. Reperimento del ruolo creatore del fascicolo
            //DocsPaVO.utente.Ruolo ruolo = DocsPaDocumentale_DOCUMENTUM.DocsPaServices.DocsPaQueryHelper.getRuoloCreatore(fascicolo.systemID);
            DocsPaVO.utente.Ruolo ruolo = null;
            // NB: il reperimento dei fascicoli generali serve solo per migrare
            // gli eventuali sottofascicoli, non per migrare il fascicolo stesso,
            // che è già stato creato in sede di creazione del nodo di titolario
            if (fascicolo.tipo == "G")
            {
                // 2. Migrazione dei sottofascicoli, in caso di fascicolo generale (già creato in sede di creazione del titolario)
                ImportaSottofascicoli(infoUtente, amministrazione, fascicolo, null, ruolo, statoMigrazione);
            }
            else
            {
                InfoFascicoloMigrazione fascicoloMigrazione = new InfoFascicoloMigrazione(fascicolo);

                // Calcolo dell'hash del fascicolo
                fascicoloMigrazione.HashFascicolo = GetHashFascicolo(fascicolo, true);

                // 2. Creazione del corrispondente fascicolo in documentum
                //DocsPaVO.fascicolazione.ResultCreazioneFascicolo result;
                //DocsPaVO.utente.Ruolo[] ruoliSuperiori;

                /*
                 * if (projectManager.ContainsFascicoloProcedimentale(fascicolo.systemID))
                 * {
                 *  // Fascicolo è già esistente, save dei dati con refresh delle entries dell'acl associata
                 *  fascicoloMigrazione.EsitoMigrazione = projectManager.ModifyProject(fascicolo, true);
                 *
                 *  if (!fascicoloMigrazione.EsitoMigrazione)
                 *      fascicoloMigrazione.ErroreMigrazione = string.Format("Si è verificato un errore nella modifica del fascicolo '{0}' per l'amministrazione '{1}'", fascicolo.codice, amministrazione.Codice);
                 *  else
                 *      // Migrazione dei sottofascicoli
                 *      ImportaSottofascicoli(infoUtente, amministrazione, fascicolo, null, ruolo, statoMigrazione);
                 *
                 *  Log.GetInstance(amministrazione).Write(string.Format("Migrazione fascicolo. Codice: '{0}' - Descrizione: '{1}'. Aggiornamento.", fascicolo.codice, fascicolo.descrizione), false);
                 * }
                 * else if (projectManager.CreateProject(null,
                 *                              fascicolo,
                 *                              ruolo,
                 *                              false,
                 *                              out result,
                 *                              out ruoliSuperiori))
                 * {
                 *  if (result == DocsPaVO.fascicolazione.ResultCreazioneFascicolo.OK)
                 *  {
                 *      fascicoloMigrazione.EsitoMigrazione = true;
                 *
                 *      Log.GetInstance(amministrazione).Write(string.Format("Migrazione fascicolo. Codice: '{0}' - Descrizione: '{1}'", fascicolo.codice, fascicolo.descrizione), false);
                 *
                 *      // 3. Notifica evento di creazione fascicolo completato
                 *      aclEventListener.FascicoloCreatoEventHandler(null, fascicolo, ruolo, ruoliSuperiori);
                 *
                 *      try
                 *      {
                 *          // 4. Migrazione dei sottofascicoli
                 *          ImportaSottofascicoli(infoUtente, amministrazione, fascicolo, null, ruolo, statoMigrazione);
                 *      }
                 *      catch (Exception ex)
                 *      {
                 *          //4a. Errore nella migrazione dei sottofascicoli, viene rimosso il fascicolo creato
                 *          ((DocsPaDocumentale_DOCUMENTUM.Documentale.ProjectManager)projectManager).DeleteProject(fascicolo);
                 *
                 *          fascicoloMigrazione.EsitoMigrazione = false;
                 *          fascicoloMigrazione.ErroreMigrazione = ex.Message;
                 *      }
                 *
                 *      // 5. Impostazione ownership del fascicolo
                 *      string utenteCreatore = DocsPaDocumentale_DOCUMENTUM.DocsPaObjectTypes.TypeUtente.NormalizeUserName(DocsPaDocumentale_DOCUMENTUM.DocsPaServices.DocsPaQueryHelper.getUtenteCreatore(fascicolo.systemID).userId);
                 *      ((DocsPaDocumentale_DOCUMENTUM.Documentale.ProjectManager)projectManager).SetOwnershipFascicolo(fascicolo.systemID, utenteCreatore);
                 *  }
                 *  else
                 *  {
                 *      // 3a. Errore nella creazione del fascicolo
                 *      fascicoloMigrazione.EsitoMigrazione = false;
                 *      fascicoloMigrazione.ErroreMigrazione = string.Format("Si è verificato un errore nella creazione del fascicolo '{0}' per l'amministrazione '{1}'", fascicolo.codice, amministrazione.Codice);
                 *  }
                 * }*/

                fascicoloMigrazione.DataMigrazione = DateTime.Now.ToString();
                statoMigrazione.SetFascicoloMigrazione(fascicoloMigrazione);
            }
        }