Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="idPeople"></param>
        /// <param name="idGruppo"></param>
        /// <returns></returns>
        public EsitoOperazione EliminaUtenteDaRuolo(string idPeople, string idGruppo)
        {
            DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione();
            bool result = false;

            using (DocsPaDB.Query_DocsPAWS.Amministrazione dbAmm = new DocsPaDB.Query_DocsPAWS.Amministrazione())
            {
                result = dbAmm.AmmEliminaUtenteInRuolo(idPeople, idGruppo);

                if (!result)
                {
                    esito.Codice      = 1;
                    esito.Descrizione = "si è verificato un errore: disabilitazione associazione utente in ruolo";
                }
                //Se la cancellazione dell'utente dal ruolo è andata a buon fine e è abilitata da chiave di amministrazione
                //la gestione delle qualifiche, procedo ad eliminare tutte le qualifiche per il dato utente nel dato ruolo
                else
                {
                    string chiaveQualifiche = DocsPaUtils.Configuration.InitConfigurationKeys.GetValue("0", "GESTIONE_QUALIFICHE");

                    if (!string.IsNullOrEmpty(chiaveQualifiche) && chiaveQualifiche.Equals("1"))
                    {
                        result = dbAmm.AmmEliminaQualificheUtenteInRuolo(idPeople, idGruppo);

                        if (!result)
                        {
                            esito.Codice      = 1;
                            esito.Descrizione = "si è verificato un errore: disabilitazione qualifiche per utente in ruolo";
                        }
                    }
                }
            }

            return(esito);
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ruolo"></param>
        /// <returns></returns>
        public EsitoOperazione OnlyDisabledRole(OrgRuolo ruolo)
        {
            DocsPaDB.Query_DocsPAWS.Amministrazione  dbAmm = new DocsPaDB.Query_DocsPAWS.Amministrazione();
            DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione();

            string result = dbAmm.AmmOnlyDisabledRole(ruolo);

            // possibili valori di ritorno:
            // 1 - il ruolo presenta record nella dpa_doc_arrivo_par
            // 2 - il ruolo presenta record nella dpa_trasm_singola
            // 9 - il ruolo presenta record nella profile
            // gli altri valori non ci interessano in questo caso, verranno ripresi in EliminaRuolo

            switch (result)
            {
            case "1":
                esito.Codice      = 1;
                esito.Descrizione = "il ruolo non può essere eliminato ma solo disabilitato\\n\\poiché risulta essere MITTENTE o DESTINATARIO di alcuni documenti protocollati.";
                break;

            case "2":
                esito.Codice      = 2;
                esito.Descrizione = "il ruolo non può essere eliminato ma solo disabilitato\\n\\poiché risulta essere DESTINATARIO di trasmissioni.";
                break;

            case "21":
                esito.Codice      = 9;
                esito.Descrizione = "il ruolo non può essere eliminato ma solo disabilitato\\n\\poiché risulta essere proprietario di documenti.";
                break;
            }

            dbAmm = null;
            return(esito);
        }
Пример #3
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);
        }
Пример #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="idPeople"></param>
        /// <param name="idGruppo"></param>
        /// <returns></returns>
        public EsitoOperazione InserisciUtenteInRuolo(string idPeople, string idGruppo)
        {
            DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione();

            using (DocsPaDB.Query_DocsPAWS.Amministrazione dbAmm = new DocsPaDB.Query_DocsPAWS.Amministrazione())
            {
                if (!dbAmm.AmmInsUtenteInRuolo(idPeople, idGruppo))
                {
                    esito.Codice      = 1;
                    esito.Descrizione = "si è verificato un errore: inserimento utente nel ruolo";
                }
            }

            return(esito);
        }
Пример #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="utente"></param>
        /// <returns></returns>
        public EsitoOperazione EliminaUtente(OrgUtente utente)
        {
            DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione();

            using (DocsPaDB.Query_DocsPAWS.Amministrazione dbAmm = new DocsPaDB.Query_DocsPAWS.Amministrazione())
            {
                if (!dbAmm.AmmEliminaUtente(utente))
                {
                    esito.Codice      = 1;
                    esito.Descrizione = "si è verificato un errore: eliminazione utente";
                }
            }

            return(esito);
        }
Пример #6
0
        public virtual EsitoOperazione ImportOrganigramma(DocsPaVO.amministrazione.InfoUtenteAmministratore infoUtenteAmm, DataSet dataSet)
        {
            DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione();
            try
            {
                esito = BusinessLogic.Amministrazione.ImportOrganigrammaManager.ImportOrganigramma(infoUtenteAmm, dataSet);
            }
            catch (Exception e)
            {
                logger.Debug("ERROR - DocsPaWSImportOrganigramma.asmx  - Metodo: ImportOrganigramma - ", e);
                esito.Codice      = 1;
                esito.Descrizione = "Si è verificato un errore controllare i files di log";
            }

            return(esito);
        }
Пример #7
0
        /// <summary>
        /// Task di sincronizzazione degli utenti in docspa con gli utenti in ldap per l'amministrazione richiesta
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="password"></param>
        /// <param name="adminCode"></param>
        /// <returns></returns>
        public static LdapSyncronizationResponse SyncronizeLdapUsers(string userId, string password, string adminCode)
        {
            LdapSyncronizationResponse response = null;

            DocsPaVO.utente.UserLogin userLogin = new DocsPaVO.utente.UserLogin();
            userLogin.UserName = userId;
            userLogin.Password = password;

            DocsPaVO.amministrazione.InfoUtenteAmministratore infoUtente;
            DocsPaVO.amministrazione.EsitoOperazione          result = BusinessLogic.Amministrazione.AmministraManager.LoginAmministratoreProfilato(userLogin, true, out infoUtente);

            if (result.Codice == 0)
            {
                string idAdmin = string.Empty;
                using (DocsPaDB.Query_DocsPAWS.Amministrazione adminDbServices = new DocsPaDB.Query_DocsPAWS.Amministrazione())
                    idAdmin = adminDbServices.GetIDAmm(adminCode);

                if (string.IsNullOrEmpty(idAdmin))
                {
                    response              = new LdapSyncronizationResponse();
                    response.User         = userId;
                    response.ErrorDetails = string.Format("Nessuna amministrazione identificata con il codice '{0}'", adminCode);
                }
                else
                {
                    LdapSyncronizationRequest request = new LdapSyncronizationRequest
                    {
                        InfoUtente        = infoUtente,
                        IdAmministrazione = idAdmin
                    };

                    response = SyncronizeLdapUsers(request);
                }
            }
            else
            {
                response = new LdapSyncronizationResponse(userId, adminCode);
                response.ErrorDetails = result.Descrizione;
            }

            return(response);
        }
Пример #8
0
        /// <summary>
        /// Modifica dei metadati di un ruolo
        /// </summary>
        /// <param name="ruolo"></param>
        /// <returns>Ruolo creato a seguito della modifica</returns>
        public EsitoOperazione ModificaRuolo(OrgRuolo ruolo)
        {
            DocsPaDB.Query_DocsPAWS.Amministrazione  dbAmm = new DocsPaDB.Query_DocsPAWS.Amministrazione();
            DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione();

            if (!dbAmm.AmmModRuolo(ruolo))
            {
                esito.Codice      = 1;
                esito.Descrizione = "Si è verificato un errore durante l'aggiornamento 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      = 1;
                esito.Descrizione = "Impossibile disabilitare alla ricezione delle trasmissioni un ruolo di riferimento";
            }

            return(esito);
        }
Пример #9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="utente"></param>
        /// <returns></returns>
        public EsitoOperazione InserisciUtente(OrgUtente utente)
        {
            DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione();
            string result = string.Empty;

            using (DocsPaDB.Query_DocsPAWS.Amministrazione dbAmm = new DocsPaDB.Query_DocsPAWS.Amministrazione())
                result = dbAmm.AmmInsNuovoUtente(utente);

            // possibili valori di ritorno:
            // 1 - userid già presente
            // 2 - codice rubrica già presente
            // 9 - errore generico
            // 0 - tutto ok!

            switch (result)
            {
            case "0":
                // Modifica dei dati della password
                this.UpdatePasswordData(esito, utente);
                break;

            case "1":
                esito.Codice      = 1;
                esito.Descrizione = "la USERID è già utilizzata da altro utente";
                break;

            case "2":
                esito.Codice      = 2;
                esito.Descrizione = "il CODICE RUBRICA è già utilizzato da altro utente";
                break;

            case "9":
                esito.Codice      = 9;
                esito.Descrizione = "si è verificato un errore: inserimento nuovo utente";
                break;
            }

            return(esito);
        }
Пример #10
0
 public EsitoOperazione OnlyDisabledRole(OrgRuolo ruolo)
 {
     DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione();
     esito.Codice = 0;
     return(esito);
 }
Пример #11
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="utente"></param>
        /// <returns></returns>
        public EsitoOperazione ModificaUtente(OrgUtente utente)
        {
            DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione();

            string result = string.Empty;

            using (DocsPaDB.Query_DocsPAWS.Amministrazione dbAmm = new DocsPaDB.Query_DocsPAWS.Amministrazione())
                result = dbAmm.AmmModUtente(utente);

            // possibili valori di ritorno:
            // 1 - utente al momento connesso a DocsPA
            // 2 - userid già presente
            // 3 - codice rubrica già presente
            // 9 - errore generico
            // 0 - tutto ok!
            switch (result)
            {
            case "0":
                // Modifica dei dati della password
                this.UpdatePasswordData(esito, utente);
                if (!string.IsNullOrEmpty(utente.Password) && esito.Codice == 0)
                {
                    esito.Codice = 4;
                }
                break;

            case "1":
                esito.Codice      = 1;
                esito.Descrizione = "utente connesso a DocsPA. Impossibile modificare i dati!";
                break;

            case "2":
                esito.Codice      = 1;
                esito.Descrizione = "la USERID è già utilizzata da altro utente";
                break;

            case "3":
                esito.Codice      = 2;
                esito.Descrizione = "il CODICE RUBRICA è già utilizzato da altro utente";
                break;

            case "4":
                this.UpdatePasswordData(esito, utente);
                if (!string.IsNullOrEmpty(utente.Password))
                {
                    if (esito.Codice == 0)
                    {
                        esito.Codice = 6;
                    }
                }
                else
                {
                    esito.Codice = 5;
                }
                break;

            case "9":
                esito.Codice      = 9;
                esito.Descrizione = "si è verificato un errore: modifica dati utente";
                break;
            }

            return(esito);
        }
Пример #12
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ruolo"></param>
        /// <returns></returns>
        public EsitoOperazione EliminaRuolo(OrgRuolo ruolo)
        {
            DocsPaDB.Query_DocsPAWS.Amministrazione  dbAmm = new DocsPaDB.Query_DocsPAWS.Amministrazione();
            DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione();

            string result = dbAmm.AmmEliminaRuolo(ruolo);

            // possibili valori di ritorno:
            // 1 - il ruolo presenta record nella dpa_doc_arrivo_par
            // 2 - il ruolo presenta record nella dpa_trasm_singola
            // 21 - il ruolo presenta record nella profile
            // 3 - errore nella cancellazione nella groups
            // 4 - errore nella cancellazione nella dpa_corr_globali
            // 5 - errore nella cancellazione dei registri associati
            // 6 - errore nella cancellazione delle funzioni associati
            // 7 - errore nell'aggiornamento della dta_fine nella dpa_corr_globali
            // 8 - errore nell'aggiornamento della disabilitazione del gruppo
            // 0 - tutto ok!

            switch (result)
            {
            case "1":
                esito.Codice      = 1;
                esito.Descrizione = "il ruolo non è stato eliminato ma disabilitato\\n\\poiché risulta essere MITTENTE o DESTINATARIO di alcuni documenti protocollati.";
                break;

            case "2":
                esito.Codice      = 2;
                esito.Descrizione = "il ruolo non è stato eliminato ma disabilitato\\n\\poiché risulta essere DESTINATARIO di trasmissioni.";
                break;

            case "3":
                esito.Codice      = 3;
                esito.Descrizione = "si è verificato un errore: eliminazione del ruolo (come GRUPPO)";
                break;

            case "4":
                esito.Codice      = 4;
                esito.Descrizione = "si è verificato un errore: eliminazione del ruolo (come CORRISPONDENTE)";
                break;

            case "5":
                esito.Codice      = 5;
                esito.Descrizione = "si è verificato un errore: cancellazione dei registri associati al ruolo";
                break;

            case "6":
                esito.Codice      = 6;
                esito.Descrizione = "si è verificato un errore: cancellazione delle funzioni associate al ruolo";
                break;

            case "7":
                esito.Codice      = 7;
                esito.Descrizione = "si è verificato un errore: disabilitazione del ruolo";
                break;

            case "8":
                esito.Codice      = 8;
                esito.Descrizione = "si è verificato un errore: disabilitazione del gruppo";
                break;

            case "21":
                esito.Codice      = 9;
                esito.Descrizione = "il ruolo non è stato eliminato ma disabilitato\\n\\poiché risulta essere proprietario di documenti.";
                break;
            }

            // Se il codice di ritorno è minore di 3, si procede con il calcolo di atipicità
            //if (esito.Codice < 3)
            this.CalcolaAtipicitaEliminaRuolo(ruolo);

            dbAmm = null;

            return(esito);
        }