Esempio n. 1
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);
        }