Ejemplo n.º 1
0
        /// <summary>
        /// Modifica dei metadati di un fascicolo
        /// </summary>
        /// <param name="fascicolo"></param>
        /// <returns></returns>
        public bool ModifyProject(DocsPaVO.fascicolazione.Fascicolo fascicolo)
        {
            bool retValue = true;

            //... non fa nulla;
            return(retValue);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creazione delle ACL per il fascicolo
        /// NOTA: RW di DocsPA equivale a DELETE di Documentum
        /// </summary>
        /// <param name="fascicolo"></param>
        /// <param name="ruoloCreatore"></param>
        /// <returns>ACL creata, ma ancora non associata al documento</returns>
        protected virtual CustomServices.AclDefinition CreateAclFascicolo(DocsPaVO.fascicolazione.Fascicolo fascicolo, DocsPaVO.utente.Ruolo ruoloCreatore)
        {
            CustomServices.AclDefinition aclData = null;

            try
            {
                // Reperimento ACL per il fascicolo
                aclData = Dfs4DocsPa.getAclDefinition(fascicolo.systemID, ObjectTypes.FASCICOLO, this.InfoUtente);

                // istanziamo ACLservice in modalità super-user per poter comunque creare una acl di sistema
                // nota: questo non sarebbe strettamente necessario (si potrebbe usare una user-acl, di tipo public)
                // ma si ritiene che non sia bello avere le acl di proprietà degli utenti creatori del documento
                CustomServices.IAclService aclSvcSuper = DctmServiceFactory.GetCustomServiceInstance <CustomServices.IAclService>(UserManager.ImpersonateSuperUser());

                CustomServices.ObjectIdentity aclIdentity = aclSvcSuper.Create(aclData);

                if (aclIdentity == null)
                {
                    throw new ApplicationException(string.Concat("Errore nella creazione dell'ACL per il fascicolo con id '{0}'", fascicolo.systemID));
                }
            }
            catch (Exception ex)
            {
                string errorMessage = string.Format("Errore in Documentum.CreateAclFascicolo:\n{0}", ex.ToString());
                logger.Debug(errorMessage);

                throw new ApplicationException(errorMessage);
            }

            return(aclData);
        }
Ejemplo n.º 3
0
 //fine modifica
 /// <summary>
 /// aggiunta definizione costruttore per
 /// anomalia 137 -- visualizzazione fascicoli
 /// trasmessi da link . PA 25102004
 /// </summary>
 /// <param name="objFascicolo"></param>
 public InfoFascicolo(Fascicolo objFascicolo)
 {
     this.idClassificazione  = objFascicolo.idClassificazione;
     this.idFascicolo        = objFascicolo.systemID;
     this.codice             = objFascicolo.codice;
     this.descrizione        = objFascicolo.descrizione;
     this.apertura           = objFascicolo.apertura;
     this.contatore          = objFascicolo.contatore;
     this.codiceApplicazione = objFascicolo.codiceApplicazione;
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Modifica dei metadati di un fascicolo
 /// </summary>
 /// <param name="fascicolo"></param>
 /// <returns></returns>
 public virtual bool ModifyProject(DocsPaVO.fascicolazione.Fascicolo fascicolo)
 {
     if (this.ProjectManagerETDOCS.ModifyProject(fascicolo))
     {
         return(this.ProjectManagerDocumentum.ModifyProject(fascicolo));
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 5
0
        /// <summary>
        /// Modifica dei metadati di un fascicolo
        /// </summary>
        /// <param name="fascicolo"></param>
        /// <param name="refreshAclIfUpdate">
        /// Se true, indica di aggiornare le entries dell'ACL associata al nodo titolario
        /// </param>
        /// <returns></returns>
        public bool ModifyProject(DocsPaVO.fascicolazione.Fascicolo fascicolo, bool refreshAclIfUpdate)
        {
            bool retValue = false;

            try
            {
                // Solo gli attributi del fascicolo procedimentale può essere modificato in documentum
                if (fascicolo.tipo == "P")
                {
                    // Reperimento identity del fascicolo procedimentale
                    ObjectIdentity identity = Dfs4DocsPa.getFascicoloProcedimentaleIdentityById(fascicolo.systemID);

                    DataObject dataObject = new DataObject(identity);

                    // Impostazione proprietà fascicolo
                    dataObject.Properties.Properties.AddRange(Dfs4DocsPa.getFascicoloProcedimentaleProperties(fascicolo));

                    DataPackage dataPackage = new DataPackage(dataObject);

                    IObjectService objectService = this.GetServiceInstance <IObjectService>(true);
                    dataPackage = objectService.Update(dataPackage, null);

                    retValue = (dataPackage.DataObjects.Count == 1);

                    if (retValue)
                    {
                        if (refreshAclIfUpdate)
                        {
                            // Aggiornamento delle entries dell'acl associata al fascicolo
                            this.RefreshAclFascicolo(fascicolo);
                        }

                        logger.Debug(string.Format("Documentum.ModifyProject: modificato fascicolo con id {0}", fascicolo.systemID));
                    }
                }
                else
                {
                    retValue = true;
                }
            }
            catch (Exception ex)
            {
                retValue = false;

                logger.Debug(string.Format("Errore in Documentum.ModifyProject:\n{0}", ex.ToString()));
            }

            return(retValue);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Modifica dei metadati di un fascicolo
        /// </summary>
        /// <param name="fascicolo"></param>
        /// <returns></returns>
        public virtual bool ModifyProject(DocsPaVO.fascicolazione.Fascicolo fascicolo)
        {
            bool result = false;

            using (DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli())
            {
                Ruolo ruolo = null;
                using (DocsPaDB.Query_DocsPAWS.Utenti u = new Utenti())
                    ruolo = u.getRuoloById(fascicolo.creatoreFascicolo.idCorrGlob_Ruolo);
                fascicolo.folderSelezionato = fascicoli.GetFolder(fascicolo.creatoreFascicolo.idPeople, ruolo.idGruppo, fascicolo.systemID);
                CreateFolderHermes(fascicolo, ruolo);
                result = fascicoli.SetFascicolo(this.UserInfo, fascicolo);
            }

            return(result);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Modifica dei metadati di un fascicolo
        /// </summary>
        /// <param name="fascicolo"></param>
        /// <returns></returns>
        public virtual bool ModifyProject(DocsPaVO.fascicolazione.Fascicolo fascicolo)
        {
            bool ret = false;

            using (DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli())
                ret = fascicoli.SetFascicolo(UserInfo, fascicolo);

            string valorechiave = DocsPaUtils.Configuration.InitConfigurationKeys.GetValue("0", "BE_PROJECT_STRUCTURE");

            if (!string.IsNullOrEmpty(valorechiave) && valorechiave.Equals("1") && !fascicolo.HasStrutturaTemplate)
            {
                Ruolo r = new Utenti().GetRuoloByIdGruppo(UserInfo.idGruppo);
                CreateStrutturaFascicolo(fascicolo, UserInfo, r);
            }

            return(ret);
        }
Ejemplo n.º 8
0
        public Fascicolo FascicolazioneNewFascicolo(Classificazione classificazione, Fascicolo fascicolo, bool enableUffRef, InfoUtente infoUtente, Ruolo ruolo)
        {
            DocsPaVO.fascicolazione.Fascicolo objFascicolo = null;
            DocsPaVO.fascicolazione.ResultCreazioneFascicolo resultCreazione = DocsPaVO.fascicolazione.ResultCreazioneFascicolo.OK;
            try
            {
                objFascicolo = BusinessLogic.Fascicoli.FascicoloManager.newFascicolo(classificazione, fascicolo, infoUtente, ruolo, enableUffRef, out resultCreazione);
                if (objFascicolo != null)
                {
                    BusinessLogic.UserLog.UserLog.WriteLog(infoUtente, "FASCICOLAZIONENEWFASCICOLO", objFascicolo.systemID, string.Format("{0} {1}", "Cod. Fascicolo:", objFascicolo.codice), DocsPaVO.Logger.CodAzione.Esito.OK);
                }
            }
            catch (Exception e)
            {
                resultCreazione = DocsPaVO.fascicolazione.ResultCreazioneFascicolo.GENERIC_ERROR;
                logger.Debug("Hermes  - metodo: FascicolazioneNewFascicolo", e);
                objFascicolo = null;
            }

            return(objFascicolo);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Aggiornamento delle entries dell'acl del fascicolo
        /// </summary>
        /// <param name="fascicolo"></param>
        protected virtual void RefreshAclFascicolo(DocsPaVO.fascicolazione.Fascicolo fascicolo)
        {
            try
            {
                // Reperimento ACL per il fascicolo
                CustomServices.AclDefinition aclData = Dfs4DocsPa.getAclDefinition(fascicolo.systemID, ObjectTypes.FASCICOLO, this.InfoUtente);

                // istanziamo ACLservice in modalità super-user per poter comunque creare una acl di sistema
                // nota: questo non sarebbe strettamente necessario (si potrebbe usare una user-acl, di tipo public)
                // ma si ritiene che non sia bello avere le acl di proprietà degli utenti creatori del documento
                CustomServices.IAclService aclSvcSuper = DctmServiceFactory.GetCustomServiceInstance <CustomServices.IAclService>(UserManager.ImpersonateSuperUser());

                aclSvcSuper.ClearAndGrant(aclData, fascicolo.systemID);
            }
            catch (Exception ex)
            {
                string errorMessage = string.Format("Errore in Documentum.RefreshAclFascicolo:\n{0}", ex.ToString());
                logger.Debug(errorMessage);

                throw new ApplicationException(errorMessage);
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        /// </summary>
        /// <param name="db"></param>
        /// <param name="documento"></param>
        /// <param name="classificazione"></param>
        /// <param name="fascicolo"></param>
        /// <param name="infoUtente"></param>
        /// <param name="debug"></param>
        /// <returns></returns>
        private DocsPaVO.fascicolazione.Fascicolo NewFascicolo(string idAmministrazione, Registro registro, DocsPaVO.fascicolazione.Fascicolo fascicolo, bool enableUffRef, string chiaveFascicolo)
        {
            Classifica[] gerarchia = this.GetGerarchia(fascicolo.idClassificazione, registro, idAmministrazione);

            fascicolo.apertura = DateTime.Now.ToString("dd/MM/yyyy");

            string idRegistro = fascicolo.idRegistro;

            if (!string.IsNullOrEmpty(idRegistro))
            {
                idRegistro = "null";
            }

            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();

            if (!fascicoli.newFascicolo(this.UserInfo, idRegistro, fascicolo, gerarchia, enableUffRef, chiaveFascicolo))
            {
                fascicolo = null;
            }

            return(fascicolo);
        }
Ejemplo n.º 11
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="classificazione"></param>
        /// <param name="fascicolo"></param>
        /// <param name="infoUtente"></param>
        /// <param name="ruolo"></param>
        /// <param name="enableUffRef"></param>
        /// <param name="folder"></param>
        /// <param name="codiceFasc"></param>
        /// <param name="dbProvider"></param>
        /// <returns></returns>
        private bool CreazioneFascicoloConTransazione(DocsPaVO.fascicolazione.Classificazione classificazione, DocsPaVO.fascicolazione.Fascicolo fascicolo, DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Ruolo ruolo, bool enableUffRef, DocsPaVO.fascicolazione.Folder folder, string codiceFasc, DocsPaDB.DBProvider dbProvider, out Ruolo[] ruoliSuperiori)
        {
            logger.Info("BEGIN");
            bool result = true;

            ruoliSuperiori = null;

            DocsPaDB.Query_DocsPAWS.AmministrazioneXml objAX     = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
            DocsPaDB.Query_DocsPAWS.Fascicoli          fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();

            string msgError = "errore nel metodo: creazioneFascicoloConTransazione - errore durante la creazione del fascicolo";

            try
            {
                // 3 - Si calcola il formato del codice del fascicolo

                fascicolo.codice = codiceFasc;

                string chiaveFascicolo = this.CalcolaChiaveFascicolo(fascicolo.idClassificazione, DateTime.Today.Year.ToString(), fascicolo.codUltimo, fascicolo.idRegistro);

                if (string.IsNullOrEmpty(chiaveFascicolo))
                {
                    logger.Debug("errore nella calcolo del VAR_CHIAVE_FASCICOLO - DATI MANCANTI ");
                    throw new Exception();
                }

                // 5 - Si aggiorna il record relativo al fascicolo con i nuovi dati
                fascicolo = this.NewFascicolo(infoUtente.idAmministrazione, classificazione.registro, fascicolo, enableUffRef, chiaveFascicolo);

                if (fascicolo != null)
                {
                    //6 - Si crea la folder associata al fascicolo
                    folder.descrizione = fascicolo.codice;
                    folder.idFascicolo = fascicolo.systemID;
                    folder.idParent    = fascicolo.systemID;
                    string idPeopleDelegato = string.Empty;
                    if (infoUtente.delegato != null && infoUtente.delegato.idPeople != null)
                    {
                        idPeopleDelegato = infoUtente.delegato.idPeople;
                    }

                    folder.systemID = this.CreateProject(folder.descrizione, idPeopleDelegato);

                    if (!string.IsNullOrEmpty(folder.systemID))
                    {
                        //7 - La creazione è andata a buon fine, quindi si aggiorna il record relativo alla folder con i dati del fascicolo
                        if (fascicoli.NewFolder(infoUtente.idAmministrazione, folder, dbProvider))
                        {
                            //8 - Imposto ID_TITOLARIO, cioe' il titolario di appartenenza sia per il fascicolo che per il folder
                            DocsPaDB.Query_DocsPAWS.Amministrazione   amm     = new DocsPaDB.Query_DocsPAWS.Amministrazione();
                            DocsPaVO.amministrazione.OrgNodoTitolario nodoTit = amm.getNodoTitolario(fascicolo.idClassificazione);
                            if (!string.IsNullOrEmpty(nodoTit.ID_Titolario))
                            {
                                if (!fascicoli.updateIdTitolario(nodoTit.ID_Titolario, fascicolo.systemID, folder.systemID, dbProvider))
                                {
                                    msgError = "errore nel metodo: creazioneFascicoloConTransazione - errore durante l'aggiornamento dell'ID_TITOLARIO per il Fascicolo e il Folder";
                                    throw new Exception();
                                }
                            }
                        }
                        else
                        {
                            msgError = "errore nel metodo: creazioneFascicoloConTransazione - errore durante l'aggiornamento della Root Folder";
                            throw new Exception();
                        }
                        //creazione dei sottofascicoli relativi alla tipologia con gara e senza gara
                        fascicolo.folderSelezionato = folder;
                        CreateFolderHermes(fascicolo, ruolo);
                    }
                    else
                    {
                        msgError = "errore nel metodo: creazioneFascicoloConTransazione - errore durante la creazione della Root Folder";
                        throw new Exception();
                    }
                }
                else
                {
                    //Se il fascicolo è NULL viene lanciata una eccezione e viene eseguita la Rollback dell'operazione
                    msgError = "errore nel metodo: creazioneFascicoloConTransazione - errore durante l'Update sulla Project";
                    throw new Exception();
                }

                bool isPrivato = true;
                if (fascicolo.privato.Equals("0"))
                {
                    isPrivato = false;
                }

                if (ruolo != null)
                {
                    System.Collections.ArrayList listRuoliSuperiori;

                    // 9 - Si estende la visibilità sul fascicolo creato
                    if (fascicoli.SetProjectTrustees(infoUtente.idPeople, fascicolo.systemID, ruolo, fascicolo.idClassificazione, fascicolo.idRegistro, isPrivato, out listRuoliSuperiori, infoUtente.delegato))
                    {
                        // 10 -  Si estende la visibilità sulla folder creata
                        bool isSottofascicolo = (folder.idParent != folder.idFascicolo);

                        System.Collections.ArrayList tmp; // Variabile temporanea: i ruoli superiori sono già stati reperiti

                        //10.1 - sottofascicoli: si da la visibilità ad essi a tutti coloro che vedono il fascicolo a cui essi appartengono
                        //10.2 caso di rootFolder, segue la visibilità del fascicolo a cui fa riferimento (calcolata in fase di creazione del fascicolo)
                        if (!fascicoli.SetProjectTrustees(infoUtente.idPeople, folder.systemID, ruolo, folder.idFascicolo, isSottofascicolo, fascicolo.idRegistro, isPrivato, out tmp, infoUtente.delegato))
                        {
                            msgError = "errore durante estensione della visibilità della Folder";
                            throw new Exception();
                        }
                    }
                    else
                    {
                        msgError = "errore durante estenzione della visibilità sul Fascicolo";
                        throw new Exception();
                    }

                    ruoliSuperiori = (Ruolo[])listRuoliSuperiori.ToArray(typeof(Ruolo));
                }
            }
            catch
            {
                logger.Debug("*** ESEGUITA ROLLBACK DELLA TRANSAZIONE CREAZIONE FASCICOLO: " + msgError + "***");
                result = false;
            }
            logger.Info("END");
            return(result);
        }
Ejemplo n.º 12
0
 /// <summary>
 /// Modifica dei metadati di un fascicolo
 /// </summary>
 /// <param name="fascicolo"></param>
 /// <returns></returns>
 public virtual bool ModifyProject(DocsPaVO.fascicolazione.Fascicolo fascicolo)
 {
     return(this.ProjectManagerETDOCS.ModifyProject(fascicolo));
 }
Ejemplo n.º 13
0
 /// <summary>
 /// Modifica dei metadati di un fascicolo
 /// </summary>
 /// <param name="fascicolo"></param>
 /// <returns></returns>
 public bool ModifyProject(DocsPaVO.fascicolazione.Fascicolo fascicolo)
 {
     return(this.ModifyProject(fascicolo, false));
 }
Ejemplo n.º 14
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="classificazione"></param>
        /// <param name="fascicolo"></param>
        /// <param name="infoUtente"></param>
        /// <param name="ruolo"></param>
        /// <param name="enableUffRef"></param>
        /// <param name="folder"></param>
        /// <param name="codiceFasc"></param>
        /// <param name="dbProvider"></param>
        /// <returns></returns>
        private bool CreazioneFascicoloConTransazione(DocsPaVO.fascicolazione.Classificazione classificazione, DocsPaVO.fascicolazione.Fascicolo fascicolo, DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Ruolo ruolo, bool enableUffRef, DocsPaVO.fascicolazione.Folder folder, string codiceFasc, DocsPaDB.DBProvider dbProvider, out Ruolo[] ruoliSuperiori)
        {
            logger.Info("BEGIN");
            bool result = true;

            ruoliSuperiori = null;

            DocsPaDB.Query_DocsPAWS.AmministrazioneXml objAX     = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
            DocsPaDB.Query_DocsPAWS.Fascicoli          fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            string systemIdRoot;

            try
            {
                // 3 - Si calcola il formato del codice del fascicolo
                fascicolo.codice = codiceFasc;

                string chiaveFascicolo = CalcolaChiaveFascicolo(fascicolo.idClassificazione, DateTime.Today.Year.ToString(), fascicolo.codUltimo, fascicolo.idRegistro);
                if (string.IsNullOrEmpty(chiaveFascicolo))
                {
                    throw new Exception("errore nel calcolo del VAR_CHIAVE_FASCICOLO - DATI MANCANTI");
                }

                // 5 - Si aggiorna il record relativo al fascicolo con i nuovi dati
                fascicolo = NewFascicolo(infoUtente.idAmministrazione, classificazione.registro, fascicolo, enableUffRef, chiaveFascicolo);
                if (fascicoli == null)
                {
                    throw new Exception("errore durante l'Update sulla Project");
                }

                // 6 - Si crea la folder associata al fascicolo
                folder.descrizione = fascicolo.codice;
                folder.idFascicolo = fascicolo.systemID;
                folder.idParent    = fascicolo.systemID;
                string idPeopleDelegato = string.Empty;
                if (infoUtente.delegato != null && infoUtente.delegato.idPeople != null)
                {
                    idPeopleDelegato = infoUtente.delegato.idPeople;
                }

                systemIdRoot = CreateProject(folder.descrizione, idPeopleDelegato);
                if (string.IsNullOrEmpty(systemIdRoot))
                {
                    throw new Exception("errore durante la creazione della Root Folder");
                }

                // 7 - La creazione è andata a buon fine, quindi si aggiorna il record relativo alla folder con i dati del fascicolo
                folder.systemID = systemIdRoot;
                if (!fascicoli.NewFolder(infoUtente.idAmministrazione, folder, dbProvider))
                {
                    throw new Exception("errore durante l'aggiornamento della Root Folder");
                }

                // 8 - Imposto ID_TITOLARIO, cioe' il titolario di appartenenza sia per il fascicolo che per il folder
                DocsPaDB.Query_DocsPAWS.Amministrazione   amm     = new DocsPaDB.Query_DocsPAWS.Amministrazione();
                DocsPaVO.amministrazione.OrgNodoTitolario nodoTit = amm.getNodoTitolario(fascicolo.idClassificazione);
                if (nodoTit.ID_Titolario != null && nodoTit.ID_Titolario != "")
                {
                    if (!fascicoli.updateIdTitolario(nodoTit.ID_Titolario, fascicolo.systemID, folder.systemID, dbProvider))
                    {
                        throw new Exception("errore durante l'aggiornamento dell'ID_TITOLARIO per il Fascicolo e il Folder");
                    }
                }

                bool isPrivato = fascicolo.privato != "0";
                if (ruolo != null)
                {
                    System.Collections.ArrayList listRuoliSuperiori;

                    // 9 - Si estende la visibilità sul fascicolo creato
                    if (!fascicoli.SetProjectTrustees(infoUtente.idPeople, fascicolo.systemID, ruolo, fascicolo.idClassificazione, fascicolo.idRegistro, isPrivato, out listRuoliSuperiori, infoUtente.delegato, fascicolo.pubblico))
                    {
                        throw new Exception("errore durante estensione della visibilità sul Fascicolo");
                    }

                    // 10 -  Si estende la visibilità sulla folder creata
                    bool isSottofascicolo = (folder.idParent != folder.idFascicolo);

                    System.Collections.ArrayList tmp; // Variabile temporanea: i ruoli superiori sono già stati reperiti

                    //10.1 - sottofascicoli: si da la visibilità ad essi a tutti coloro che vedono il fascicolo a cui essi appartengono
                    //10.2 caso di rootFolder, segue la visibilità del fascicolo a cui fa riferimento (calcolata in fase di creazione del fascicolo)
                    if (!fascicoli.SetProjectTrustees(infoUtente.idPeople, folder.systemID, ruolo, folder.idFascicolo, isSottofascicolo, fascicolo.idRegistro, isPrivato, out tmp, infoUtente.delegato, fascicolo.pubblico))
                    {
                        throw new Exception("errore durante estensione della visibilità della Folder");
                    }

                    ruoliSuperiori = (Ruolo[])listRuoliSuperiori.ToArray(typeof(Ruolo));
                }

                string key_beprojectlevel = DocsPaUtils.Configuration.InitConfigurationKeys.GetValue("0", "BE_PROJECT_LEVEL");
                if (!string.IsNullOrEmpty(key_beprojectlevel) && key_beprojectlevel.Equals("1"))
                {
                    folder.codicelivello = string.Format("{0:0000}", Convert.ToInt32(fascicolo.codUltimo));
                    UpdateFolderCodLivello(folder, infoUtente);
                }

                string key_beprojectstructure = DocsPaUtils.Configuration.InitConfigurationKeys.GetValue("0", "BE_PROJECT_STRUCTURE");
                if (!string.IsNullOrEmpty(key_beprojectstructure) && key_beprojectstructure.Equals("1"))
                {
                    CreateStrutturaFascicolo(fascicolo, infoUtente, ruolo);
                }
            }
            catch (Exception ex)
            {
                logger.Debug("*** ESEGUITA ROLLBACK DELLA TRANSAZIONE CREAZIONE FASCICOLO: ***");
                logger.DebugFormat("errore nel metodo: creazioneFascicoloConTransazione - {0}", ex.Message);
                logger.DebugFormat("StackTrace : {0}", ex.StackTrace);
                result = false;
            }
            logger.Info("END");
            return(result);
        }