Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ruolo"></param>
        /// <param name="idRegistro"></param>
        /// <param name="idNodoTitolario"></param>
        /// <param name="tipoOggetto"></param>
        /// <returns> ritorna un arraylist e in caso di eccezione null</returns>
        //ricerca dei ruoli autorizzati di livello superiore
        public System.Collections.ArrayList getGerarchiaSup(DocsPaVO.utente.Ruolo ruolo, string idRegistro, string idNodoTitolario, DocsPaVO.trasmissione.TipoOggetto tipoOggetto)
        {
            logger.Debug("getGerarchiaSup");
            System.Collections.ArrayList listaRuoli = new System.Collections.ArrayList();
            try
            {
                DataSet dataSet;
                //Costruzione della query
                //si estraggono i codici delle UO parent del ruolo
                System.Collections.ArrayList       idParentUO = new System.Collections.ArrayList();
                DocsPaVO.utente.UnitaOrganizzativa currentUO;
                currentUO = ruolo.uo;

                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
                idParentUO = getParentUO(ruolo);

                DocsPaDB.Query_Utils.Utils obj = new DocsPaDB.Query_Utils.Utils();
                obj.selCorGlTipRuoSup(out dataSet, tipoOggetto, idRegistro, idNodoTitolario, ruolo, idParentUO);

                foreach (DataRow ruoloRow in dataSet.Tables["RUOLI"].Rows)
                {
                    listaRuoli.Add(this.GetRuolo(ruoloRow));
                }
            }
            catch (Exception e)
            {
                // TODO: Utilizzare il progetto DocsPaDbManagement
                //database.closeConnection();
                //throw e;
                string exMessage = e.Message;
                listaRuoli = null;
            }
            return(listaRuoli);
        }
Пример #2
0
        public bool ExportStructure(XmlDocument doc, XmlNode amministrazione, string idAmm)
        {
            bool result = true;           //presume successo

            try
            {
                System.Data.DataSet dataSetRuoli;
                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
                result = amministrazioneXml.Exp_GetRuoli(out dataSetRuoli, idAmm);
                if (!result)
                {
                    throw new Exception();
                }

                if (dataSetRuoli != null)
                {
                    XmlNode ruolo;
                    XmlNode ruoli = amministrazione.AppendChild(doc.CreateElement("RUOLI"));
                    foreach (System.Data.DataRow rowRuolo in dataSetRuoli.Tables["RUOLI"].Rows)
                    {
                        ruolo = ruoli.AppendChild(doc.CreateElement("RUOLO"));
                        ruolo.AppendChild(doc.CreateElement("DESCRIZIONE")).InnerText = rowRuolo["VAR_DESC_RUOLO"].ToString();
                        ruolo.AppendChild(doc.CreateElement("CODICE")).InnerText      = rowRuolo["VAR_CODICE"].ToString().ToUpper();
                        ruolo.AppendChild(doc.CreateElement("LIVELLO")).InnerText     = rowRuolo["NUM_LIVELLO"].ToString();
                    }
                }
            }
            catch (Exception exception)
            {
                logger.Debug("Errore durante l'esportazione dei ruoli", exception);
                result = false;
            }
            return(result);
        }
Пример #3
0
        /// <summary>
        /// Procedura per la lettura dell'XML
        /// </summary>
        /// <param name="rootNode"></param>
        private void NavigateXml(XmlNode rootNode, string idAmm)
        {
            try
            {
                XmlNodeList nodiRuolo = rootNode.SelectNodes("RUOLO");

                // Estrazione dati e nodi sottostanti
                foreach (XmlNode node in nodiRuolo)
                {
                    // Leggi dati
                    string codice      = this.GetXmlField("CODICE", node, false);
                    string descrizione = this.GetXmlField("DESCRIZIONE", node, false);
                    int    livello     = Int32.Parse(this.GetXmlField("LIVELLO", node, false));
                    codice = codice.ToUpper();

                    DocsPaUtils.LogsManagement.ImportExportLogger.getInstance("import", 0).SetMessage(7, 10, "Import tipo ruolo: " + codice);

                    DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
                    string idRuolo = amministrazioneXml.NewRuolo(idAmm, codice, descrizione, livello);

                    if (idRuolo == null)
                    {
                        throw new Exception();
                    }
                }
            }
            catch (Exception e)
            {
                logger.Debug("Errore durante l'importazione dei ruoli", e);
            }
        }
Пример #4
0
        /// <summary>
        /// Procedura per la lettura dell'XML
        /// </summary>
        /// <param name="rootNode"></param>
        private void NavigateXml(XmlNode rootNode, string idAmm)
        {
            XmlNodeList nodiRagioni = rootNode.SelectNodes("RAGIONE");

            // Estrazione dati e nodi sottostanti
            foreach (XmlNode node in nodiRagioni)
            {
                // Leggi dati
                string codice       = this.GetXmlField("CODICE", node, false);
                string tipo         = this.GetXmlField("TIPO", node, false);
                string visibilita   = this.GetXmlField("VISIBILITA", node, false);
                string diritti      = this.GetXmlField("DIRITTI", node, false);
                string destinatario = this.GetXmlField("DESTINATARIO", node, false);
                string risposta     = this.GetXmlField("RISPOSTA", node, false);
                string tipoRisposta = this.GetXmlField("TIPORISPOSTA", node, false);
                string eredita      = this.GetXmlField("EREDITA", node, false);
                string note         = this.GetXmlField("NOTE", node, false);
                string notifica     = this.GetXmlField("NOTIFICA", node, false);

                codice = codice.ToUpper();

                // Inserisci i dati
                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
                bool result = amministrazioneXml.NewRagioneTrasmissione(codice, tipo, visibilita, diritti, destinatario, risposta, tipoRisposta, eredita, note, notifica, idAmm);

                if (!result)
                {
                    throw new Exception();
                }
            }
        }
Пример #5
0
        /// <summary>
        /// Procedura per la lettura dell'XML
        /// </summary>
        /// <param name="rootNode"></param>
        private void NavigateXml(XmlNode rootNode)
        {
            //lettura dei server di posta
            XmlNodeList nodiServers = rootNode.SelectNodes("SERVERPOSTA");

            // Estrazione dati e nodi sottostanti
            foreach (XmlNode node in nodiServers)
            {
                string codice      = this.GetXmlField("CODICE", node, false);
                string serverPop   = this.GetXmlField("SERVERPOP", node, false);
                string portaPop    = this.GetXmlField("PORTAPOP", node, false);
                string serverSmtp  = this.GetXmlField("SERVERSMTP", node, false);
                string portaSmtp   = this.GetXmlField("PORTASMTP", node, false);
                string dominio     = this.GetXmlField("DOMINIO", node, false);
                string descrizione = this.GetXmlField("DESCRIZIONE", node, false);

                codice = codice.ToUpper();
                // Inserisci il server di posta
                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml(System.Configuration.ConfigurationManager.AppSettings["importConnectionString"]);
                if (!amministrazioneXml.NewServerPosta(codice, serverPop, portaPop, serverSmtp, portaSmtp, dominio, descrizione))
                {
                    throw new Exception();
                }
            }
        }
Пример #6
0
        /// <summary>
        /// Cancella la struttura dei documenti esistenti
        /// </summary>
        /// <returns></returns>
        public bool DropAll()
        {
            bool result = true;

            try
            {
                if (errorCode == ErrorCode.NoError)
                {
                    DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();

                    if (!amministrazioneXml.ClearRagioniTrasmissione())
                    {
                        throw new Exception();
                    }

                    amministrazioneXml.Dispose();
                }
            }
            catch (Exception exception)
            {
                logger.Debug("Errore durante la cancellazione del titolario", exception);
                errorCode = ErrorCode.GenericError;
            }

            if (errorCode != ErrorCode.NoError)
            {
                result = false;
            }

            return(result);
        }
Пример #7
0
        public bool ChangeAdminPwd(string user, string password)
        {
            bool result;

            DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazione = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
            result = amministrazione.ChangeAdminPwd(user, password);
            return(result);
        }
Пример #8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ruolo"></param>
        /// <returns></returns>
        public EsitoOperazione InserisciRuolo(OrgRuolo ruolo, bool computeAtipicita)
        {
            DocsPaDB.Query_DocsPAWS.Amministrazione  dbAmm = new DocsPaDB.Query_DocsPAWS.Amministrazione();
            DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione();

            //verifica se il codice è univoco sulla corr_globali
            DocsPaDB.Query_DocsPAWS.AmministrazioneXml obj = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
            if (!obj.CheckCountCondition("DPA_CORR_GLOBALI", "UPPER(VAR_CODICE)=UPPER('" + ruolo.Codice + "') AND ID_AMM=" + ruolo.IDAmministrazione))
            {
                esito.Codice      = 1;
                esito.Descrizione = "codice già utilizzato da altro ruolo";
            }
            else
            {
                //verifica se il codice è univoco sulla groups
                if (!obj.CheckCountCondition("GROUPS", "UPPER(GROUP_ID)=UPPER('" + ruolo.Codice + "')"))
                {
                    esito.Codice      = 2;
                    esito.Descrizione = "codice già utilizzato da altro gruppo";
                }
                else
                {
                    if (!dbAmm.AmmInsNuovoRuolo(ruolo))
                    {
                        esito.Codice      = 3;
                        esito.Descrizione = "si è verificato un errore: inserimento del ruolo";
                    }

                    //verifica se si vuole disabilitare alla ricezione delle trasmissioni un ruolo di riferimento
                    if (ruolo.DiRiferimento.ToString().Equals("1") && ruolo.DisabledTrasm.ToString().Equals("1"))
                    {
                        esito.Codice      = 4;
                        esito.Descrizione = "Impossibile disabilitare alla ricezione delle trasmissioni un ruolo di riferimento";
                    }
                }
            }

            // Se è richiesto il calcolo dell'atipicità, viene richiamata la procedura
            if (esito.Codice == 0 && computeAtipicita)
            {
                try
                {
                    using (DocsPaDB.Query_DocsPAWS.Documentale doc = new DocsPaDB.Query_DocsPAWS.Documentale())
                        doc.CalcolaAtipicitaRuoliSottoposti(ruolo);
                }
                catch (Exception e)
                {
                    esito.Codice      = 5;
                    esito.Descrizione = "Errore durante il calcolo di atipicità su documenti e fascicoli dei ruoli sottoposti";
                }
            }

            obj   = null;
            dbAmm = null;

            return(esito);
        }
Пример #9
0
        /// <summary>
        /// sposta un ruolo da una uo ad un'altra
        /// </summary>
        /// <param name="codRuolo">codice del ruolo da spostare</param>
        /// <param name="codAmm">codice Amm.ne</param>
        /// <param name="codNewUO">codice della nuova UO nella quale deve essere spostato il ruolo</param>
        /// <returns>bool</returns>
        public bool MoveRoleToNewUO(string codRuolo, string codAmm, string codNewUO, string descNewUO, string codTipoRuolo, string descTipoRuolo, string codNewRuolo, string descNewRuolo)
        {
            bool result = false;

            DocsPaDB.Query_DocsPAWS.AmministrazioneXml amm = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
            result = amm.MoveRoleToNewUO(codRuolo, codAmm, codNewUO, descNewUO, codTipoRuolo, descTipoRuolo, codNewRuolo, descNewRuolo);

            return(result);
        }
Пример #10
0
        private void NavigateXmlForUpdate(XmlNode rootNode, string idAmm)
        {
            try
            {
                XmlNodeList nodiRuolo = rootNode.SelectNodes("RUOLO");

                // Estrazione dati e nodi sottostanti
                foreach (XmlNode node in nodiRuolo)
                {
                    XmlAttribute attribute = node.Attributes["MODE"];
                    string       mode      = "";
                    if (attribute != null)
                    {
                        mode = attribute.InnerText.ToUpper();
                    }

                    string codice      = this.GetXmlField("CODICE", node, false);
                    string descrizione = this.GetXmlField("DESCRIZIONE", node, false);
                    descrizione = DocsPaUtils.Functions.Functions.ReplaceApexes(descrizione);
                    int livello = Int32.Parse(this.GetXmlField("LIVELLO", node, false));
                    codice = codice.ToUpper();
                    DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();

                    if (mode == "CREATED")
                    {
                        string idRuolo = amministrazioneXml.NewRuolo(idAmm, codice, descrizione, livello);
                        if (idRuolo == null)
                        {
                            throw new Exception();
                        }
                    }

                    if (mode == "MODIFIED")
                    {
                        if (!amministrazioneXml.UpdateRuolo(idAmm, codice, descrizione, livello))
                        {
                            throw new Exception();
                        }
                    }

                    if (mode == "DELETED")
                    {
                        if (!amministrazioneXml.DeleteRuolo(idAmm, codice))
                        {
                            throw new Exception();
                        }
                    }
                }
            }
            catch (Exception e)
            {
                logger.Debug("Errore durante l'update dei ruoli", e);
            }
        }
Пример #11
0
        public bool CheckAdminLogged(string user)
        {
            bool result = false;

            DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazione = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
            if (amministrazione.CheckUniqueAdmin(user) == user)
            {
                result = true;
            }
            return(result);
        }
Пример #12
0
        private void NavigateXmlForUpdate(XmlNode rootNode, string idAmm)
        {
            XmlNodeList nodiRagioni = rootNode.SelectNodes("RAGIONE");

            // Estrazione dati e nodi sottostanti
            foreach (XmlNode node in nodiRagioni)
            {
                string       mode      = "";
                XmlAttribute attribute = node.Attributes["MODE"];
                if (attribute != null)
                {
                    mode = attribute.InnerText.ToUpper();
                }

                // Leggi dati
                string codice       = this.GetXmlField("CODICE", node, false).ToUpper();
                string tipo         = this.GetXmlField("TIPO", node, false);
                string visibilita   = this.GetXmlField("VISIBILITA", node, false);
                string diritti      = this.GetXmlField("DIRITTI", node, false);
                string destinatario = this.GetXmlField("DESTINATARIO", node, false);
                string risposta     = this.GetXmlField("RISPOSTA", node, false);
                string tipoRisposta = this.GetXmlField("TIPORISPOSTA", node, false);
                string eredita      = this.GetXmlField("EREDITA", node, false);
                string note         = this.GetXmlField("NOTE", node, false);
                string notifica     = this.GetXmlField("NOTIFICA", node, false);

                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();

                if (mode == "CREATED")
                {
                    if (!amministrazioneXml.NewRagioneTrasmissione(codice, tipo, visibilita, diritti, destinatario, risposta, tipoRisposta, eredita, note, notifica, idAmm))
                    {
                        throw new Exception();
                    }
                }

                if (mode == "MODIFIED")
                {
                    // modifica i dati
                    if (!amministrazioneXml.UpdateRagioneTrasmissione(codice, tipo, visibilita, diritti, destinatario, risposta, tipoRisposta, eredita, note, notifica, idAmm))
                    {
                        throw new Exception();
                    }
                }

                if (mode == "DELETED")
                {
                    if (!amministrazioneXml.DeleteRagioneTrasmissione(codice, idAmm))
                    {
                        throw new Exception();
                    }
                }
            }
        }
Пример #13
0
        private void NavigateXmlForUpdate(XmlNode rootNode)
        {
            //lettura dei server di posta
            XmlNodeList nodiServers = rootNode.SelectNodes("SERVERPOSTA");

            // Estrazione dati e nodi sottostanti
            foreach (XmlNode node in nodiServers)
            {
                XmlAttribute attribute = node.Attributes["MODE"];
                string       mode      = "";
                if (attribute != null)
                {
                    mode = attribute.InnerText.ToUpper();
                }

                string codice      = this.GetXmlField("CODICE", node, false);
                string serverPop   = this.GetXmlField("SERVERPOP", node, false);
                string portaPop    = this.GetXmlField("PORTAPOP", node, false);
                string serverSmtp  = this.GetXmlField("SERVERSMTP", node, false);
                string portaSmtp   = this.GetXmlField("PORTASMTP", node, false);
                string dominio     = this.GetXmlField("DOMINIO", node, false);
                string descrizione = this.GetXmlField("DESCRIZIONE", node, false);
                descrizione = DocsPaUtils.Functions.Functions.ReplaceApexes(descrizione);

                codice = codice.ToUpper();

                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();

                if (mode == "CREATED")
                {
                    // Inserisci il server di posta
                    if (!amministrazioneXml.NewServerPosta(codice, serverPop, portaPop, serverSmtp, portaSmtp, dominio, descrizione))
                    {
                        throw new Exception();
                    }
                }
                if (mode == "MODIFIED")
                {
                    // Inserisci il server di posta
                    if (!amministrazioneXml.UpdateServerPosta(codice, serverPop, portaPop, serverSmtp, portaSmtp, dominio, descrizione))
                    {
                        throw new Exception();
                    }
                }
                if (mode == "DELETED")
                {
                    //cancella server di posta
                    if (!amministrazioneXml.DeleteServerPosta(codice))
                    {
                        throw new Exception();
                    }
                }
            }
        }
Пример #14
0
        public static void disconnettiUtente(string userId, string codiceAmm)
        {
            DocsPaDB.Query_DocsPAWS.Utenti             gestioneUtenti  = new DocsPaDB.Query_DocsPAWS.Utenti();
            DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazione = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
            string idAmm = amministrazione.GetAdminByName(codiceAmm);

            if (idAmm != null)
            {
                gestioneUtenti.UnlockUserLogin(userId, idAmm);
            }
            return;
        }
Пример #15
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ruolo"></param>
        /// <param name="dbProvider"></param>
        /// <returns></returns>
        public System.Collections.ArrayList getParentUO(DocsPaVO.utente.Ruolo ruolo, DBProvider dbProvider)
        {
            System.Collections.ArrayList lista = new System.Collections.ArrayList();
            DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
            string idCurrentUO = null;

            if (ruolo.uo != null)
            {
                idCurrentUO = ruolo.uo.systemId;
            }
            while (idCurrentUO != null)
            {
                lista.Add(idCurrentUO);
                idCurrentUO = amministrazioneXml.GetUOParent(idCurrentUO, dbProvider);
            }
            return(lista);
        }
Пример #16
0
        public bool ExportAnagraficaFunzioni(XmlDocument doc, XmlNode root)
        {
            bool result = true;           //presume successo

            try
            {
                System.Data.DataSet dataSetFunzioniElementari;
                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
                result = amministrazioneXml.Exp_GetFunzioniElementari(out dataSetFunzioniElementari);
                if (!result)
                {
                    logger.Debug("Errore lettura anagrafica funzioni elementari");
                    throw new Exception();
                }

                if (dataSetFunzioniElementari != null)
                {
                    XmlNode funzioniElementari = root.AppendChild(doc.CreateElement("FUNZIONIELEMENTARI"));
                    foreach (System.Data.DataRow rowFunzioni in dataSetFunzioniElementari.Tables["FUNZIONIELEMENTARI"].Rows)
                    {
                        XmlNode funzioneElementare = funzioniElementari.AppendChild(doc.CreateElement("FUNZIONEELEMENTARE"));
                        funzioneElementare.AppendChild(doc.CreateElement("DESCRIZIONE")).InnerText = rowFunzioni["VAR_DESC_FUNZIONE"].ToString();
                        funzioneElementare.AppendChild(doc.CreateElement("CODICE")).InnerText      = rowFunzioni["COD_FUNZIONE"].ToString().ToUpper();
                        string tipoFunzFull = "Full";
                        string tipoFunz     = rowFunzioni["CHA_TIPO_FUNZ"].ToString();
                        if (tipoFunz == "R")
                        {
                            tipoFunzFull = "Read";
                        }
                        if (tipoFunz == "W")
                        {
                            tipoFunzFull = "Write";
                        }
                        funzioneElementare.AppendChild(doc.CreateElement("ACCESSO")).InnerText = tipoFunzFull;
                    }
                }
            }
            catch (Exception exception)
            {
                logger.Debug("Errore durante l'esportazione della anagrafica funzioni elementari", exception);
                result = false;
            }
            return(result);
        }
Пример #17
0
        public bool ExportStructure(XmlDocument doc, XmlNode amministrazione, string idAmm)
        {
            bool result = true;           //presume successo

            try
            {
                System.Data.DataSet dataSetRagioni;
                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
                result = amministrazioneXml.Exp_GetRagioniTrasmissione(out dataSetRagioni, idAmm);
                if (!result)
                {
                    throw new Exception();
                }

                if (dataSetRagioni != null)
                {
                    XmlNode ragioni = amministrazione.AppendChild(doc.CreateElement("RAGIONITRASMISSIONE"));

                    foreach (System.Data.DataRow rowRagione in dataSetRagioni.Tables["RAGIONI"].Rows)
                    {
                        XmlNode ragione = ragioni.AppendChild(doc.CreateElement("RAGIONE"));
                        ragione.AppendChild(doc.CreateElement("CODICE")).InnerText       = rowRagione["VAR_DESC_RAGIONE"].ToString().ToUpper();
                        ragione.AppendChild(doc.CreateElement("TIPO")).InnerText         = rowRagione["CHA_TIPO_RAGIONE"].ToString();
                        ragione.AppendChild(doc.CreateElement("VISIBILITA")).InnerText   = rowRagione["CHA_VIS"].ToString();
                        ragione.AppendChild(doc.CreateElement("DIRITTI")).InnerText      = rowRagione["CHA_TIPO_DIRITTI"].ToString();
                        ragione.AppendChild(doc.CreateElement("DESTINATARIO")).InnerText = rowRagione["CHA_TIPO_DEST"].ToString();
                        ragione.AppendChild(doc.CreateElement("RISPOSTA")).InnerText     = rowRagione["CHA_RISPOSTA"].ToString();
                        ragione.AppendChild(doc.CreateElement("TIPORISPOSTA")).InnerText = rowRagione["CHA_TIPO_RISPOSTA"].ToString();
                        ragione.AppendChild(doc.CreateElement("EREDITA")).InnerText      = rowRagione["CHA_EREDITA"].ToString();
                        ragione.AppendChild(doc.CreateElement("NOTE")).InnerText         = rowRagione["VAR_NOTE"].ToString();
                        ragione.AppendChild(doc.CreateElement("NOTIFICA")).InnerText     = rowRagione["VAR_NOTIFICA_TRASM"].ToString();
                    }
                }
            }
            catch (Exception exception)
            {
                logger.Debug("Errore durante l'esportazione delle ragioni di trasmissione", exception);
                result = false;
            }
            return(result);
        }
Пример #18
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ruolo"></param>
        /// <param name="idRegistro"></param>
        /// <param name="idNodoTitolario"></param>
        /// <param name="tipoOggetto"></param>
        /// <returns> ritorna un arraylist e in caso di eccezione null</returns>

        //ricerca dei ruoli autorizzati di livello superiore
        public System.Collections.ArrayList getGerarchiaSup(DocsPaVO.utente.Ruolo ruolo, string idRegistro, string idNodoTitolario, DocsPaVO.trasmissione.TipoOggetto tipoOggetto, DocsPaDB.DBProvider dbProvider)
        {
            logger.Debug("getGerarchiaSup");
            System.Collections.ArrayList listaRuoli = new System.Collections.ArrayList();
            try
            {
                DataSet dataSet;

                //si estraggono i codici delle UO parent del ruolo
                System.Collections.ArrayList       idParentUO = new System.Collections.ArrayList();
                DocsPaVO.utente.UnitaOrganizzativa currentUO;
                currentUO = ruolo.uo;

                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();

                idParentUO = getParentUO(ruolo, dbProvider);

                DocsPaDB.Query_Utils.Utils obj = new DocsPaDB.Query_Utils.Utils();
                obj.selCorGlTipRuoSup(out dataSet, tipoOggetto, idRegistro, idNodoTitolario, ruolo, idParentUO, dbProvider);

                foreach (DataRow ruoloRow in dataSet.Tables["RUOLI"].Rows)
                {
                    DocsPaVO.utente.Ruolo ruoloSup = new DocsPaVO.utente.Ruolo();
                    ruoloSup.systemId             = ruoloRow["SYSTEM_ID"].ToString();
                    ruoloSup.descrizione          = ruoloRow["VAR_DESC_RUOLO"].ToString();
                    ruoloSup.codice               = ruoloRow["VAR_CODICE"].ToString();
                    ruoloSup.codiceCorrispondente = ruoloSup.codice;
                    ruoloSup.codiceRubrica        = ruoloRow["VAR_COD_RUBRICA"].ToString();
                    ruoloSup.uo       = getParents(ruoloRow["ID_UO"].ToString(), ruolo);
                    ruoloSup.idGruppo = ruoloRow["ID_GRUPPO"].ToString();
                    listaRuoli.Add(ruoloSup);
                }
            }
            catch (Exception e)
            {
                string exMessage = e.Message;
                listaRuoli = null;
            }
            return(listaRuoli);
        }
Пример #19
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="user"></param>
        /// <param name="password"></param>
        /// <returns>
        /// 1-> errore utente sconosciuto
        /// 2-> errore amministratore già loggato
        /// 0-> ok
        /// </returns>
        public string CheckAdminLogin(string user, string password)
        {
            string result = null;

            DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazione = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
            if (amministrazione.CheckAdminLogin(user, password) == true)
            {
                //amministratore valido, verifica DPA_LOCK
                if (user.ToUpper() == "ADMINISTRATOR")
                {
                    amministrazione.DeleteUniqueAdmin();
                }
                result = amministrazione.CheckUniqueAdmin(user);
                if (result == null)
                {
                    amministrazione.SetUniqueAdmin(user);
                    result = user;
                }
            }
            logger.Debug("Login amministratore: utente = " + user + ": esito = " + result);
            return(result);
        }
Пример #20
0
        public bool ExportStructure(XmlDocument doc, XmlNode node)
        {
            bool result = true;           //presume successo

            try
            {
                //legge i server
                System.Data.DataSet dataSet;
                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
                result = amministrazioneXml.Exp_GetServerPosta(out dataSet);
                if (!result)
                {
                    throw new Exception();
                }
                if (dataSet != null)
                {
                    XmlNode servers = node.AppendChild(doc.CreateElement("SERVERS"));
                    foreach (System.Data.DataRow row in dataSet.Tables["SERVERPOSTA"].Rows)
                    {
                        //esportazione dati della amministrazione
                        XmlNode serverPosta = servers.AppendChild(doc.CreateElement("SERVERPOSTA"));
                        serverPosta.AppendChild(doc.CreateElement("CODICE")).InnerText      = row["VAR_CODICE"].ToString().ToUpper();
                        serverPosta.AppendChild(doc.CreateElement("SERVERPOP")).InnerText   = row["VAR_SERVER_POP"].ToString();
                        serverPosta.AppendChild(doc.CreateElement("PORTAPOP")).InnerText    = row["NUM_PORTA_POP"].ToString();
                        serverPosta.AppendChild(doc.CreateElement("SERVERSMTP")).InnerText  = row["VAR_SERVER_SMTP"].ToString();
                        serverPosta.AppendChild(doc.CreateElement("PORTASMTP")).InnerText   = row["NUM_PORTA_SMTP"].ToString();
                        serverPosta.AppendChild(doc.CreateElement("DOMINIO")).InnerText     = row["VAR_DOMINIO"].ToString();
                        serverPosta.AppendChild(doc.CreateElement("DESCRIZIONE")).InnerText = row["VAR_DESCRIZIONE"].ToString();
                    }
                }
            }
            catch (Exception exception)
            {
                logger.Debug("Errore durante l'esportazione dei server", exception);
                result = false;
            }
            return(result);
        }
Пример #21
0
        public bool ExportStructure(XmlDocument doc, XmlNode amministrazione, string idAmm)
        {
            bool result = true;           //presume successo

            try
            {
                System.Data.DataSet dataSetRegistri;
                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
                result = amministrazioneXml.Exp_GetRegistri(out dataSetRegistri, idAmm);
                if (!result)
                {
                    throw new Exception();
                }

                if (dataSetRegistri != null)
                {
                    if (dataSetRegistri.Tables["REGISTRI"].Rows.Count > 0)
                    {
                        XmlNode registri = amministrazione.AppendChild(doc.CreateElement("REGISTRI"));

                        foreach (System.Data.DataRow rowRegistro in dataSetRegistri.Tables["REGISTRI"].Rows)
                        {
                            XmlNode registro = registri.AppendChild(doc.CreateElement("REGISTRO"));
                            registro.AppendChild(doc.CreateElement("DESCRIZIONE")).InnerText = rowRegistro["VAR_DESC_REGISTRO"].ToString();
                            registro.AppendChild(doc.CreateElement("CODICE")).InnerText      = rowRegistro["VAR_CODICE"].ToString().ToUpper();
                            registro.AppendChild(doc.CreateElement("AUTOMATICO")).InnerText  = rowRegistro["CHA_AUTOMATICO"].ToString().ToUpper();

                            XmlNode registroMail = registro.AppendChild(doc.CreateElement("EMAIL"));
                            registroMail.AppendChild(doc.CreateElement("INDIRIZZO")).InnerText    = rowRegistro["VAR_EMAIL_REGISTRO"].ToString();
                            registroMail.AppendChild(doc.CreateElement("UTENTE")).InnerText       = rowRegistro["VAR_USER_MAIL"].ToString();
                            registroMail.AppendChild(doc.CreateElement("PASSWORD")).InnerText     = rowRegistro["VAR_PWD_MAIL"].ToString();
                            registroMail.AppendChild(doc.CreateElement("SMTP")).InnerText         = rowRegistro["VAR_SERVER_SMTP"].ToString();
                            registroMail.AppendChild(doc.CreateElement("POP")).InnerText          = rowRegistro["VAR_SERVER_POP"].ToString();
                            registroMail.AppendChild(doc.CreateElement("PORTASMTP")).InnerText    = rowRegistro["NUM_PORTA_SMTP"].ToString();
                            registroMail.AppendChild(doc.CreateElement("PORTAPOP")).InnerText     = rowRegistro["NUM_PORTA_POP"].ToString();
                            registroMail.AppendChild(doc.CreateElement("USERSMTP")).InnerText     = rowRegistro["VAR_USER_SMTP"].ToString();
                            registroMail.AppendChild(doc.CreateElement("PASSWORDSMTP")).InnerText = rowRegistro["VAR_PWD_SMTP"].ToString();
                            //string ruoloRif=amministrazioneXml.GetRuoloRif(rowRegistro["SYSTEM_ID"].ToString (),idAmm);
                            string ruoloRif = "";
                            registro.AppendChild(doc.CreateElement("RUO_RIF")).InnerText = ruoloRif;

                            /*string utenteRif=amministrazioneXml.GetUtenteRif(ruoloRif,idAmm);
                             * if(utenteRif==null)
                             * {
                             *      utenteRif="";
                             * }
                             * else
                             * {
                             *      utenteRif=utenteRif.ToUpper();
                             * }*/
                            string utenteRif = "";
                            registro.AppendChild(doc.CreateElement("UT_RIF")).InnerText = utenteRif;
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                logger.Debug("Errore durante l'esportazione delle ragioni di trasmissione", exception);
                result = false;
            }
            return(result);
        }
Пример #22
0
        private void NavigateXmlForUpdate(XmlNode rootNode, string idAmm)
        {
            XmlNodeList nodiRegistro = rootNode.SelectNodes("REGISTRO");

            // Estrazione dati e nodi sottostanti
            foreach (XmlNode node in nodiRegistro)
            {
                XmlAttribute attribute = node.Attributes["MODE"];
                string       mode      = "";
                if (attribute != null)
                {
                    mode = attribute.InnerText.ToUpper();
                }

                string codice      = this.GetXmlField("CODICE", node, false);
                string descrizione = this.GetXmlField("DESCRIZIONE", node, false);
                string automatico  = this.GetXmlField("AUTOMATICO", node, false);                //Celeste
                descrizione = DocsPaUtils.Functions.Functions.ReplaceApexes(descrizione);
                XmlNode email = node.SelectSingleNode("EMAIL");
                codice = codice.ToUpper();
                if (email == null)
                {
                    //logger.DebugAdm (true,"Indirizzo email non valido",null);
                    throw new Exception("Indirizzo email non valido");
                }
                string indirizzo = this.GetXmlField("INDIRIZZO", email, false);
                string utente    = this.GetXmlField("UTENTE", email, false);
                string password  = this.GetXmlField("PASSWORD", email, false);
                string smtp      = this.GetXmlField("SMTP", email, false);
                string pop       = this.GetXmlField("POP", email, false);
                string portaSmtp = this.GetXmlField("PORTASMTP", email, false);
                string portaPop  = this.GetXmlField("PORTAPOP", email, false);
                string usersmtp  = this.GetXmlField("USERSMTP", email, false);
                string pwdsmtp   = this.GetXmlField("PASSWORDSMTP", email, false);
                string ruoloRif  = this.GetXmlField("RUO_RIF", node, false);
                string utenteRif = this.GetXmlField("UT_RIF", node, false);

                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();

                string idRegistro = null;

                if (mode == "CREATED")
                {
                    // Inserisci il registro
                    /* Celeste idRegistro=amministrazioneXml.NewRegistro(codice,descrizione indirizzo,utente, */
                    idRegistro = amministrazioneXml.NewRegistro(codice, descrizione, automatico, indirizzo, utente,
                                                                password,
                                                                smtp,
                                                                pop,
                                                                portaSmtp,
                                                                portaPop,
                                                                usersmtp,
                                                                pwdsmtp,
                                                                idAmm);
                    if (idRegistro == null)
                    {
                        logger.Debug("Errore nella creazione registro");
                        throw new Exception();
                    }
                }

                if (mode == "MODIFIED")
                {
                    // modifica il registro
                    /* Celeste if(!amministrazioneXml.UpdateRegistro(codice,descrizione,indirizzo,utente, */
                    if (!amministrazioneXml.UpdateRegistro(codice, descrizione, automatico, indirizzo, utente,
                                                           password,
                                                           smtp,
                                                           pop,
                                                           portaSmtp,
                                                           portaPop,
                                                           usersmtp,
                                                           pwdsmtp,
                                                           idAmm))
                    {
                        throw new Exception();
                    }
                    idRegistro = amministrazioneXml.GetRegByName(codice);
                }

                /*
                 * if(mode=="MODIFIED" || mode=="CREATED")
                 * {
                 *      if(idRegistro!=null && ruoloRif!=null)
                 *      {
                 *              string idRuolo=amministrazioneXml.GetRuoloUOByName(ruoloRif,idAmm);
                 *              if(idRuolo!=null)
                 *              {
                 *                      if(amministrazioneXml.UpdateRuoloRif(idRuolo,idRegistro)==false)
                 *                      {
                 *                              logger.Debug("Errore nella impostazione ruolo di riferimento registro");
                 *                              throw new Exception();
                 *                      }
                 *              }
                 *              string idGruppo=amministrazioneXml.GetGroupByName(ruoloRif);
                 *              string idUtente=amministrazioneXml.GetUserByName(utenteRif,idAmm);
                 *              if(idUtente!=null && idGruppo!=null)
                 *              {
                 *                      if(amministrazioneXml.UpdateUtenteRif(idUtente,idGruppo,idAmm)==false)
                 *                      {
                 *                              logger.Debug("Errore nella impostazione utente di riferimento registro");
                 *                              throw new Exception();
                 *                      }
                 *              }
                 *      }
                 * }*/

                if (mode == "DELETED")
                {
                    //TO DO
                    //cancellazione registro, da valutare
                }
            }
        }
Пример #23
0
        /// <summary>
        /// Procedura per la lettura dell'XML
        /// </summary>
        /// <param name="rootNode"></param>
        private void NavigateXml(XmlNode rootNode, string idAmm)
        {
            XmlNodeList nodiRegistro = rootNode.SelectNodes("REGISTRO");

            // Estrazione dati e nodi sottostanti
            foreach (XmlNode node in nodiRegistro)
            {
                string codice = this.GetXmlField("CODICE", node, false);
                codice = codice.ToUpper();
                string descrizione = this.GetXmlField("DESCRIZIONE", node, false);
                //Celeste
                string automatico = this.GetXmlField("AUTOMATICO", node, false);
                //fine

                // Leggi email
                XmlNode email = node.SelectSingleNode("EMAIL");

                if (email == null)
                {
                    throw new Exception();
                }

                string indirizzo = this.GetXmlField("INDIRIZZO", email, false);
                string utente    = this.GetXmlField("UTENTE", email, false);
                string password  = this.GetXmlField("PASSWORD", email, false);
                string smtp      = this.GetXmlField("SMTP", email, false);
                string pop       = this.GetXmlField("POP", email, false);
                string portaSmtp = this.GetXmlField("PORTASMTP", email, false);
                string portaPop  = this.GetXmlField("PORTAPOP", email, false);
                string usersmtp  = this.GetXmlField("USERSMTP", email, false);
                string pwdsmtp   = this.GetXmlField("PASSWORDSMTP", email, false);
                string ruoloRif  = this.GetXmlField("RUO_RIF", email, false);
                string utenteRif = this.GetXmlField("UT_RIF", email, false);

                // Inserisci il registro
                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
                string idRegistro = amministrazioneXml.NewRegistro(codice,
                                                                   descrizione,
                                                                   automatico, //Celeste
                                                                   indirizzo,
                                                                   utente,
                                                                   password,
                                                                   smtp,
                                                                   pop,
                                                                   portaSmtp,
                                                                   portaPop,
                                                                   usersmtp,
                                                                   pwdsmtp,
                                                                   idAmm);

                if (idRegistro == null)
                {
                    throw new Exception();
                }

                /*
                 * if(ruoloRif!=null)
                 * {
                 *      string idRuolo=amministrazioneXml.GetRuoloUOByName(ruoloRif,idAmm);
                 *      if(idRuolo!=null)
                 *      {
                 *              if(amministrazioneXml.UpdateRuoloRif(idRuolo,idRegistro)==false)
                 *              {
                 *                      logger.Debug("Errore nella impostazione ruolo di riferimento registro");
                 *                      throw new Exception();
                 *              }
                 *      }
                 *      string idGruppo=amministrazioneXml.GetGroupByName(ruoloRif);
                 *      string idUtente=amministrazioneXml.GetUserByName(utenteRif,idAmm);
                 *      if(idUtente!=null && idGruppo!=null)
                 *      {
                 *              if(amministrazioneXml.UpdateUtenteRif(idUtente,idGruppo,idAmm)==false)
                 *              {
                 *                      logger.Debug("Errore nella impostazione utente di riferimento registro");
                 *                      throw new Exception();
                 *              }
                 *      }
                 * }*/
            }
        }
Пример #24
0
 public bool LogOutAdmin()
 {
     DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazione = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
     return(amministrazione.DeleteUniqueAdmin());
 }
Пример #25
0
        /// <summary>
        /// Procedura per la lettura dell'XML
        /// </summary>
        /// <param name="rootNode"></param>
        private void NavigateXml(XmlNode rootNode, string idAmm)
        {
            XmlNodeList nodiFunzione = rootNode.SelectNodes("TIPO");

            // Estrazione dati e nodi sottostanti
            foreach (XmlNode node in nodiFunzione)
            {
                // Leggi dati
                XmlNode dati = node.SelectSingleNode("DATI");
                if (dati == null)
                {
                    logger.Debug("Errore corpo DATI tipo funzione");
                    throw new Exception();
                }

                string codice      = this.GetXmlField("CODICE", dati, false);
                string descrizione = this.GetXmlField("DESCRIZIONE", dati, false);

                codice = codice.ToUpper();

                DocsPaUtils.LogsManagement.ImportExportLogger.getInstance("import", 0).SetMessage(6, 10, "Import tipo funzione: " + codice);

                // Inserisci il tipo funzione
                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
                string idTipoFunzione = amministrazioneXml.NewTipoFunzione(codice, descrizione);

                if (idTipoFunzione == null)
                {
                    logger.Debug("Errore creazione tipo funzione");
                    throw new Exception();
                }

                // Leggi funzioni
                XmlNode bloccoFunzioni = node.SelectSingleNode("FUNZIONI");
                if (bloccoFunzioni == null)
                {
                    logger.Debug("Errore tag FUNZIONI tipo funzione");
                    throw new Exception();
                }

                XmlNodeList funzioni = bloccoFunzioni.SelectNodes("FUNZIONE");

                foreach (XmlNode functionNode in funzioni)
                {
                    descrizione = this.GetXmlField("DESCRIZIONE", functionNode, false);
                    codice      = this.GetXmlField("CODICE", functionNode, false);
                    string accesso = this.GetXmlField("ACCESSO", functionNode, true);

                    codice = codice.ToUpper();

                    DocsPaUtils.LogsManagement.ImportExportLogger.getInstance("import", 0).SetMessage(6, 10, "Import funzione: " + codice);

                    if (accesso == null)
                    {
                        accesso = "Full";
                    }

                    // Inserisci la funzione
                    string idFunzione = amministrazioneXml.NewFunzione(codice, descrizione, accesso, idTipoFunzione);
                    if (idFunzione == null)
                    {
                        logger.Debug("Errore creazione funzione");
                        throw new Exception();
                    }
                }
            }
        }
Пример #26
0
        private void NavigateXmlForUpdate(XmlNode rootNode)
        {
            DocsPaUtils.LogsManagement.ProgressLogger pl = DocsPaUtils.LogsManagement.ProgressLogger.getInstance(false);

            try
            {
                /*XmlNode servers= rootNode.SelectSingleNode("SERVERS");
                 * if(servers!=null)
                 * {
                 *      int idMessage=pl.NewMessage("Caricamento Servers di Posta");
                 *      ServerXml serverXml = new ServerXml();
                 *
                 *      if(!serverXml.UpdateStructure(servers))
                 *      {
                 *              pl.UpdateMessage(idMessage,null,true,true);
                 *              logger.Debug("Errore aggiornamento servers");
                 *              throw new Exception();
                 *      }
                 *      pl.UpdateMessage(idMessage,null,true,false);
                 * }*/

                // Funzioni
                XmlNode funzioni = rootNode.SelectSingleNode("TIPIFUNZIONE");
                if (funzioni != null)
                {
                    int idMessage = pl.NewMessage("Caricamento Tipi Funzione");
                    logger.Debug("Caricamento Tipi Funzione...");

                    FunzioniXml funzioniXml = new FunzioniXml();

                    if (!funzioniXml.UpdateStructure(funzioni))
                    {
                        pl.UpdateMessage(idMessage, null, true, true);
                        logger.Debug("Errore aggiornamento tipi funzione");
                        throw new Exception();
                    }
                    pl.UpdateMessage(idMessage, null, true, false);
                }


                XmlNodeList nodiAmministrazione = rootNode.SelectNodes("AMMINISTRAZIONE");

                // Estrazione dati e nodi sottostanti
                foreach (XmlNode node in nodiAmministrazione)
                {
                    XmlNode dati = node.SelectSingleNode("DATI");
                    if (dati == null)
                    {
                        logger.Debug("Errore mancanza corpo DATI amministrazione");
                        //logger.DebugAdm(true,"Errore mancanza corpo DATI tag Amministrazione",null);
                        throw new Exception();
                    }

                    DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
                    string       idAmm     = "";
                    string       mode      = "";
                    XmlAttribute attribute = node.Attributes["MODE"];
                    if (attribute != null)
                    {
                        mode = attribute.InnerText.ToUpper();
                    }

                    string codice        = this.GetXmlField("CODICE", dati);
                    string descrizione   = this.GetXmlField("DESCRIZIONE", dati);
                    string libreria      = this.GetXmlField("LIBRERIA", dati);
                    string segnatura     = this.GetXmlField("SEGNATURA", dati);
                    string fascicolatura = this.GetXmlField("FASCICOLATURA", dati);
                    string dominio       = this.GetXmlField("DOMINIO", dati);
                    string serversmtp    = this.GetXmlField("SERVERSMTP", dati);
                    string portasmtp     = this.GetXmlField("PORTASMTP", dati);
                    if (portasmtp == null || portasmtp == "")
                    {
                        portasmtp = "NULL";
                    }
                    string usersmtp      = this.GetXmlField("USERSMTP", dati);
                    string pwdsmtp       = this.GetXmlField("PASSWORDSMTP", dati);
                    string protocolloInt = this.GetXmlField("PROTOCOLLO_INTERNO", dati);
                    if (protocolloInt != null && protocolloInt != "")
                    {
                        protocolloInt = "1";
                    }
                    string ragioneTO = this.GetXmlField("RAGIONE_TO", dati);
                    string ragioneCC = this.GetXmlField("RAGIONE_CC", dati);

                    codice      = codice.ToUpper();
                    descrizione = DocsPaUtils.Functions.Functions.ReplaceApexes(descrizione);

                    int idMessage = pl.NewMessage("Caricamento Amministrazione: " + codice);
                    logger.Debug("Caricamento Amministrazione: " + codice);

                    if (mode == "CREATED")
                    {
                        //aggiunge la nuova amministrazione
                        idAmm = amministrazioneXml.NewAmministrazione(codice, descrizione, libreria, segnatura, fascicolatura, dominio, serversmtp, portasmtp, protocolloInt, ragioneTO, ragioneCC, usersmtp, pwdsmtp);
                        if (idAmm == null)
                        {
                            pl.UpdateMessage(idMessage, null, true, true);
                            logger.Debug("Errore nella creazione nuova amministrazione");
                            throw new Exception();
                        }
                        DocsPaDB.Utils.Personalization.Reset();
                    }
                    else if (mode == "MODIFIED")
                    {
                        //modifica i dati della amministrazione
                        idAmm = amministrazioneXml.GetAdminByName(codice);
                        if (!amministrazioneXml.UpdateAmministrazione(codice, descrizione, libreria, segnatura, fascicolatura, dominio, serversmtp, portasmtp, protocolloInt, ragioneTO, ragioneCC, usersmtp, pwdsmtp))
                        {
                            pl.UpdateMessage(idMessage, null, true, true);
                            logger.Debug("Errore aggiornamento nuova amministrazione");
                            throw new Exception();
                        }
                        DocsPaDB.Utils.Personalization.Reset();
                    }
                    else if (mode == "DELETED")
                    {
                        //TO DO - > cancellazione della amministrazione
                    }
                    else
                    {
                        //in a4ltri casi (mode="") seleziona l'id
                        idAmm = amministrazioneXml.GetAdminByName(codice);
                        if (idAmm == null)
                        {
                            pl.UpdateMessage(idMessage, null, true, true);
                            logger.Debug("Amministrazione: " + codice + " sconosciuta");
                            //logger.DebugAdm(true,"Amministrazione: " + codice + " sconosciuta",null);
                            throw new Exception();
                        }
                    }

                    //si analizza il contenuto della amministrazione solo se non è stata cancellata
                    if (mode != "DELETED")
                    {
                        // Ragioni Trasmissione

                        XmlNode ragioni = node.SelectSingleNode("RAGIONITRASMISSIONE");
                        if (ragioni != null)
                        {
                            int idMessageAmm = pl.NewMessage("Caricamento Ragioni Trasmissione");
                            logger.Debug("Caricamento Ragioni Trasmissione...");

                            RagioniTrasmissioneXml ragioniTrasmissioneXml = new RagioniTrasmissioneXml();

                            if (!ragioniTrasmissioneXml.UpdateStructure(ragioni, idAmm))
                            {
                                pl.UpdateMessage(idMessageAmm, null, true, true);
                                logger.Debug("Errore aggiornamento ragioni trasmissione");
                                throw new Exception();
                            }
                            pl.UpdateMessage(idMessageAmm, null, true, false);
                        }

                        // Registri
                        XmlNode registri = node.SelectSingleNode("REGISTRI");
                        if (registri != null)
                        {
                            int idMessageAmm = pl.NewMessage("Caricamento Registri");
                            logger.Debug("Caricamento Registri...");

                            RegistriXml registriXml = new RegistriXml();

                            if (!registriXml.UpdateStructure(registri, idAmm))
                            {
                                pl.UpdateMessage(idMessageAmm, null, true, true);
                                logger.Debug("Errore aggiornamento registri");
                                throw new Exception();
                            }
                            pl.UpdateMessage(idMessageAmm, null, true, false);
                        }

//						// Funzioni
//						XmlNode funzioni = node.SelectSingleNode("TIPIFUNZIONE");
//						if(funzioni!=null)
//						{
//							FunzioniXml funzioniXml = new FunzioniXml();
//
//							if(!funzioniXml.UpdateStructure(funzioni, idAmm))
//							{
//								logger.Debug("Errore aggiornamento tipi funzione");
//								throw new Exception();
//							}
//						}

                        // Tipi Ruolo
                        XmlNode ruoli = node.SelectSingleNode("RUOLI");
                        if (ruoli != null)
                        {
                            int idMessageAmm = pl.NewMessage("Caricamento Ruoli");
                            logger.Debug("Caricamento Tipo Ruoli...");

                            RuoliXml ruoliXml = new RuoliXml();

                            if (!ruoliXml.UpdateStructure(ruoli, idAmm))
                            {
                                pl.UpdateMessage(idMessageAmm, null, true, true);
                                logger.Debug("Errore aggiornamento ruoli");
                                throw new Exception();
                            }
                            pl.UpdateMessage(idMessageAmm, null, true, false);
                        }

                        // Utenti

//						XmlNode utenti = node.SelectSingleNode("UTENTI");
//						if(utenti!=null)
//						{
//							int idMessageAmm=pl.NewMessage("Caricamento Utenti");
//							UtentiXml utentiXml = new UtentiXml();
//
//							if(!utentiXml.UpdateStructure(utenti, idAmm))
//							{
//								pl.UpdateMessage(idMessageAmm,null,true,true);
//								logger.Debug("Errore aggiornamento utenti");
//								throw new Exception();
//							}
//							pl.UpdateMessage(idMessageAmm,null,true,false);
//						}

                        // Organigramma
//						XmlNode organigramma = node.SelectSingleNode("ORGANIGRAMMA");
//						if(organigramma!=null)
//						{
//							int idMessageAmm=pl.NewMessage("Caricamento Organigramma");
//							OrganigrammaXml organigrammaXml = new OrganigrammaXml();
//
//							if(!organigrammaXml.UpdateStructure(organigramma, idAmm))
//							{
//								pl.UpdateMessage(idMessageAmm,null,true,true);
//								logger.Debug("Errore aggiornamento organigramma");
//								throw new Exception();
//							}
//							pl.UpdateMessage(idMessageAmm,null,true,false);
//						}
                    }
                    pl.UpdateMessage(idMessage, null, true, false);
                }
            }
            catch (Exception e)
            {
                logger.Debug("Errore durante la navigazione ricorsiva per aggiornamento", e);
            }
        }
Пример #27
0
        public bool ExportStructure(XmlDocument doc, XmlNode root)
        {
            bool result = true;           //presume successo

            try
            {
                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
                System.Data.DataSet dataSetTipi;
                //amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
                result = amministrazioneXml.Exp_GetTipiFunzione(out dataSetTipi);
                if (!result)
                {
                    logger.Debug("Errore lettura tipi funzioni");
                    throw new Exception();
                }

                if (dataSetTipi != null)
                {
                    XmlNode tipiFunzione = root.AppendChild(doc.CreateElement("TIPIFUNZIONE"));

                    foreach (System.Data.DataRow rowTipo in dataSetTipi.Tables["TIPIFUNZIONE"].Rows)
                    {
                        string idTipoFunzione = rowTipo["SYSTEM_ID"].ToString();

                        XmlNode tipo     = tipiFunzione.AppendChild(doc.CreateElement("TIPO"));
                        XmlNode datiTipo = tipo.AppendChild(doc.CreateElement("DATI"));
                        datiTipo.AppendChild(doc.CreateElement("CODICE")).InnerText      = rowTipo["VAR_COD_TIPO"].ToString().ToUpper();
                        datiTipo.AppendChild(doc.CreateElement("DESCRIZIONE")).InnerText = rowTipo["VAR_DESC_TIPO_FUN"].ToString();

                        //esportazione funzioni
                        System.Data.DataSet dataSetFunzioni;
                        result = amministrazioneXml.Exp_GetFunzioni(out dataSetFunzioni, idTipoFunzione);
                        if (!result)
                        {
                            logger.Debug("Errore lettura funzioni");
                            throw new Exception();
                        }

                        if (dataSetFunzioni != null)
                        {
                            XmlNode funzioni = tipo.AppendChild(doc.CreateElement("FUNZIONI"));
                            foreach (System.Data.DataRow rowFunzione in dataSetFunzioni.Tables["FUNZIONI"].Rows)
                            {
                                XmlNode funzione = funzioni.AppendChild(doc.CreateElement("FUNZIONE"));
                                funzione.AppendChild(doc.CreateElement("DESCRIZIONE")).InnerText = rowFunzione["VAR_DESC_FUNZIONE"].ToString();
                                funzione.AppendChild(doc.CreateElement("CODICE")).InnerText      = rowFunzione["COD_FUNZIONE"].ToString().ToUpper();
                                string tipoFunz     = rowFunzione["ID_TIPO_FUNZIONE"].ToString();
                                string tipoFunzFull = "Full";
                                if (tipoFunz == "R")
                                {
                                    tipoFunzFull = "Read";
                                }
                                if (tipoFunz == "W")
                                {
                                    tipoFunzFull = "Write";
                                }
                                funzione.AppendChild(doc.CreateElement("ACCESSO")).InnerText = tipoFunzFull;
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                logger.Debug("Errore durante l'esportazione delle funzioni", exception);
                result = false;
            }
            return(result);
        }
Пример #28
0
        private void NavigateXmlForUpdate(XmlNode rootNode)
        {
            XmlNodeList nodiFunzione = rootNode.SelectNodes("TIPO");

            // Estrazione dati e nodi sottostanti
            foreach (XmlNode node in nodiFunzione)
            {
                string       mode      = "";
                XmlAttribute attribute = node.Attributes["MODE"];
                if (attribute != null)
                {
                    mode = attribute.InnerText.ToUpper();
                }

                // Leggi dati
                XmlNode dati = node.SelectSingleNode("DATI");
                if (dati == null)
                {
                    logger.Debug("Errore corpo DATI tipo funzione");
                    //logger.DebugAdm(true,"Errore corpo DATI tipo funzione",null);
                    throw new Exception();
                }

                string codice      = this.GetXmlField("CODICE", dati, false);
                string descrizione = this.GetXmlField("DESCRIZIONE", dati, false);
                descrizione = DocsPaUtils.Functions.Functions.ReplaceApexes(descrizione);
                codice      = codice.ToUpper();

                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();

                if (mode == "MODIFIED" || mode == "CREATED")
                {
                    string idTipoFunzione = null;

                    if (mode == "MODIFIED")
                    {
                        // Modifica il tipo funzione
                        idTipoFunzione = amministrazioneXml.UpdateTipoFunzione(codice, descrizione);
                        if (idTipoFunzione == null)
                        {
                            logger.Debug("Errore aggiornamento tipo funzione");
                            throw new Exception();
                        }

                        //cancellazione delle funzioni associate al tipo
                        if (!amministrazioneXml.DeleteFunzioni(idTipoFunzione))
                        {
                            logger.Debug("Errore cancellazioni funzioni associate al tipo funzione");
                            throw new Exception();
                        }
                    }
                    if (mode == "CREATED")
                    {
                        // Inserisce il tipo funzione
                        idTipoFunzione = amministrazioneXml.NewTipoFunzione(codice, descrizione);
                        if (idTipoFunzione == null)
                        {
                            logger.Debug("Errore creazione tipo funzione");
                            throw new Exception();
                        }
                    }

                    // ricarica le funzioni
                    XmlNode bloccoFunzioni = node.SelectSingleNode("FUNZIONI");

                    if (bloccoFunzioni == null)
                    {
                        logger.Debug("Errore tag FUNZIONI tipo funzione");
                        //logger.DebugAdm(true,"Errore tag FUNZIONI tipo funzione",null);
                        throw new Exception();
                    }

                    XmlNodeList funzioni = bloccoFunzioni.SelectNodes("FUNZIONE");

                    foreach (XmlNode functionNode in funzioni)
                    {
                        descrizione = this.GetXmlField("DESCRIZIONE", functionNode, false);
                        codice      = this.GetXmlField("CODICE", functionNode, false);
                        string accesso = this.GetXmlField("ACCESSO", functionNode, true);

                        codice = codice.ToUpper();

                        if (accesso == null)
                        {
                            accesso = "Full";
                        }

                        // Inserisci la funzione
                        string idFunzione = amministrazioneXml.NewFunzione(codice, codice, accesso, idTipoFunzione);
                        if (idFunzione == null)
                        {
                            logger.Debug("Errore creazione funzione");
                            throw new Exception();
                        }
                    }
                }

                if (mode == "DELETED")
                {
                    //recupera l'id del tipo funzione
                    string idTipoFunzione = amministrazioneXml.GetTipoFunzione(codice);
                    if (idTipoFunzione == null)
                    {
                        logger.Debug("Codice tipo funzione sconosciuto: " + codice);
                        //logger.DebugAdm(true,"Codice tipo funzione sconosciuto: " + codice,null);
                        throw new Exception();
                    }
                    //cancella il tipo funzione
                    if (!amministrazioneXml.DeleteTipoFunzione(codice))
                    {
                        logger.Debug("Errore cancellazione tipo funzione");
                        throw new Exception();
                    }
                    //cancellazione delle funzioni associate al tipo funzione
                    if (!amministrazioneXml.DeleteFunzioni(idTipoFunzione))
                    {
                        logger.Debug("Errore cancellazioni funzioni");
                        throw new Exception();
                    }
                }
            }
        }
Пример #29
0
 /// <summary>
 /// </summary>
 /// <param name="idAmm"></param>
 private void SetSegnaturaFascicolatura(string idAmm)
 {
     DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
     amministrazioneXml.GetSegnaturaFascicolatura(idAmm, out this.segnatura, out this.fascicolatura);
 }
Пример #30
0
        /// <summary>
        /// Procedura per la lettura dell'XML
        /// </summary>
        /// <param name="rootNode"></param>
        private void NavigateXml(XmlNode rootNode)
        {
            // Servers

            /*
             * XmlNode servers= rootNode.SelectSingleNode("SERVERS");
             *
             * DocsPaUtils.LogsManagement.ImportExportLogger.getInstance("import", 0).SetMessage(1, 10, "Import dei server.");
             *
             * if(servers!=null)
             * {
             *      ServerXml serverXml = new ServerXml();
             *
             *      if(!serverXml.CreateStructure(servers))
             *      {
             *              logger.Debug("Errore creazione servers");
             *              throw new Exception();
             *      }
             * }*/

            XmlNodeList nodiAmministrazione = rootNode.SelectNodes("AMMINISTRAZIONE");

            // Estrazione dati e nodi sottostanti
            foreach (XmlNode node in nodiAmministrazione)
            {
                DocsPaUtils.LogsManagement.ImportExportLogger.getInstance("import", 0).SetMessage(2, 10, "Creazione amministrazioni.");

                //legge l'attributo dropAll ed esegue il drop dell'amministrazione se richiesto
                dropChildren = false;
                XmlAttribute attribute = node.Attributes["dropAll"];
                if (attribute != null)
                {
                    bool dropAll = Boolean.Parse(attribute.InnerText);
                    if (dropAll)
                    {
                        this.DropAll();
                        dropChildren = true;
                    }
                }

                XmlNode dati = node.SelectSingleNode("DATI");
                if (dati == null)
                {
                    logger.Debug("Errore mancanza corpo DATI amministrazione");
                    throw new Exception();
                }

                string codice        = this.GetXmlField("CODICE", dati);
                string descrizione   = this.GetXmlField("DESCRIZIONE", dati);
                string libreria      = this.GetXmlField("LIBRERIA", dati);
                string segnatura     = this.GetXmlField("SEGNATURA", dati);
                string fascicolatura = this.GetXmlField("FASCICOLATURA", dati);
                string dominio       = this.GetXmlField("DOMINIO", dati);
                string serversmtp    = this.GetXmlField("SERVERSMTP", dati);
                string portasmtp     = this.GetXmlField("PORTASMTP", dati);
                string usersmtp      = this.GetXmlField("USERSMTP", dati);
                string pwdsmtp       = this.GetXmlField("PASSWORDSMTP", dati);
                if (portasmtp == null || portasmtp == "")
                {
                    portasmtp = "NULL";
                }
                string protocolloInt = this.GetXmlField("PROTOCOLLO_INTERNO", dati);
                if (protocolloInt != null && protocolloInt != "")
                {
                    protocolloInt = "1";
                }
                string ragioneTO = this.GetXmlField("RAGIONE_TO", dati);
                string ragioneCC = this.GetXmlField("RAGIONE_CC", dati);

                codice = codice.ToUpper();

                DocsPaUtils.LogsManagement.ImportExportLogger.getInstance("import", 0).SetMessage(3, 10, "Import amministrazione: " + codice);

                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
                string idAmm = amministrazioneXml.NewAmministrazione(codice, descrizione, libreria, segnatura, fascicolatura, dominio, serversmtp, portasmtp, protocolloInt, ragioneTO, ragioneCC, usersmtp, pwdsmtp);

                if (idAmm == null)
                {
                    logger.Debug("Errore nella creazione nuova amministrazione");
                    throw new Exception();
                }

                // Ragioni Trasmissione
                DocsPaUtils.LogsManagement.ImportExportLogger.getInstance("import", 0).SetMessage(4, 10, "Import ragioni trasmissione dell'amministrazione: " + codice);

                XmlNode ragioni = node.SelectSingleNode("RAGIONITRASMISSIONE");
                RagioniTrasmissioneXml ragioniTrasmissioneXml = new RagioniTrasmissioneXml();

                if (!ragioniTrasmissioneXml.CreateStructure(ragioni, idAmm, dropChildren))
                {
                    logger.Debug("Errore nella creazione delle ragioni trasmissione");
                    throw new Exception();
                }

                // Registri
                DocsPaUtils.LogsManagement.ImportExportLogger.getInstance("import", 0).SetMessage(5, 10, "Import registri dell'amministrazione: " + codice);
                XmlNode     registri    = node.SelectSingleNode("REGISTRI");
                RegistriXml registriXml = new RegistriXml();

                if (!registriXml.CreateStructure(registri, idAmm, dropChildren))
                {
                    logger.Debug("Errore nella creazione dei registri");
                    throw new Exception();
                }

                // Funzioni
                DocsPaUtils.LogsManagement.ImportExportLogger.getInstance("import", 0).SetMessage(6, 10, "Import funzioni dell'amministrazione: " + codice);
                XmlNode     funzioni    = node.SelectSingleNode("TIPIFUNZIONE");
                FunzioniXml funzioniXml = new FunzioniXml();

                if (!funzioniXml.CreateStructure(funzioni, idAmm, dropChildren))
                {
                    logger.Debug("Errore nella creazione dei tipi funzione");
                    throw new Exception();
                }

                // Tipi Ruolo
                DocsPaUtils.LogsManagement.ImportExportLogger.getInstance("import", 0).SetMessage(7, 10, "Import tipi ruolo dell'amministrazione: " + codice);
                XmlNode  ruoli    = node.SelectSingleNode("RUOLI");
                RuoliXml ruoliXml = new RuoliXml();

                if (!ruoliXml.CreateStructure(ruoli, idAmm, dropChildren))
                {
                    logger.Debug("Errore nella creazione dei ruoli");
                    throw new Exception();
                }

//				// Utenti
//				DocsPaUtils.LogsManagement.ImportExportLogger.getInstance("import", 0).SetMessage(8, 10, "Import utenti dell'amministrazione: " + codice);
//				XmlNode utenti = node.SelectSingleNode("UTENTI");
//				UtentiXml utentiXml = new UtentiXml();
//
//				if(!utentiXml.CreateStructure(utenti, idAmm, dropChildren))
//				{
//					logger.Debug("Errore nella creazione degli utenti");
//					throw new Exception();
//				}
//
//				// Organigramma
//				DocsPaUtils.LogsManagement.ImportExportLogger.getInstance("import", 0).SetMessage(9, 10, "Import organigramma dell'amministrazione: " + codice);
//				XmlNode organigramma = node.SelectSingleNode("ORGANIGRAMMA");
//				OrganigrammaXml organigrammaXml = new OrganigrammaXml();
//
//				if(!organigrammaXml.CreateStructure(organigramma, idAmm, dropChildren))
//				{
//					logger.Debug("Errore nella creazione dell'organigramma");
//					throw new Exception();
//				}

                DocsPaUtils.LogsManagement.ImportExportLogger.getInstance("import", 0).SetMessage(10, 10, "Import dell'amministrazione completo");
            }
        }