Пример #1
0
        /// <summary>
        /// Verifica se l'utente dispone dei diritti necessari per utilizzare le funzioni di consolidamento
        /// </summary>
        /// <param name="userInfo"></param>
        /// <returns></returns>
        public static bool HasDocumentConsolidationRights(DocsPaVO.utente.InfoUtente userInfo)
        {
            if (IsConfigEnabled())
            {
                DocsPaVO.utente.Ruolo currentRole = BusinessLogic.Utenti.UserManager.getRuolo(userInfo.idCorrGlobali);

                if (currentRole != null)
                {
                    DocsPaVO.utente.Funzione[] funzioni = (DocsPaVO.utente.Funzione[])
                                                          currentRole.funzioni.ToArray(typeof(DocsPaVO.utente.Funzione));

                    DocsPaVO.utente.Funzione function = funzioni.Where(e => (e.codice == DO_CONSOLIDAMENTO || e.codice == DO_CONSOLIDAMENTO_METADATI)).FirstOrDefault();

                    return(function != null);
                }
                else
                {
                    throw new ApplicationException(string.Format("Ruolo corrente con id {0} per l'utente {1} non trovato", userInfo.idCorrGlobali, userInfo.userId));
                }
            }
            else
            {
                return(false);
            }
        }
Пример #2
0
        /// <summary>
        /// Reperimento del primo ruolo di appartenenza dell'utente per cui risulta abilitata la microfunzione GEST_SERVIZI_SBC
        /// </summary>
        /// <param name="idPeople"></param>
        /// <returns></returns>
        public static DocsPaVO.utente.Ruolo GetRuoloPreferito(string idPeople)
        {
            DocsPaVO.utente.Ruolo ruoloPreferito = null;

            DocsPaVO.utente.Ruolo[] ruoli = (DocsPaVO.utente.Ruolo[])BusinessLogic.Utenti.UserManager.getRuoliUtente(idPeople).ToArray(typeof(DocsPaVO.utente.Ruolo));

            if (ruoli != null && ruoli.Length > 0)
            {
                foreach (DocsPaVO.utente.Ruolo ruolo in ruoli)
                {
                    DocsPaVO.utente.Funzione[] funzioni = (DocsPaVO.utente.Funzione[])ruolo.funzioni.ToArray(typeof(DocsPaVO.utente.Funzione));

                    DocsPaVO.utente.Funzione funzione = funzioni.Where(e => e.codice == FUNZIONE_ABILITAZIONE_SERVIZI).FirstOrDefault();

                    if (funzione != null)
                    {
                        ruoloPreferito = ruolo;
                        break;
                    }
                }

                if (ruoloPreferito == null)
                {
                    throw new ApplicationException("L'utente non dispone dei privilegi per l'utilizzo dei servizi SBC");
                }
            }
            else
            {
                throw new ApplicationException("L'utente non non risulta associato ad alcun ruolo");
            }

            return(ruoloPreferito);

            //if (ruoli != null && ruoli.Length > 0)
            //{
            //    //// Reperimento id ruolo di riferimento
            //    //string idRuoloRiferimento = GetIdRuoloPreferito(idPeople);

            //    //if (string.IsNullOrEmpty(idRuoloRiferimento))
            //    //    throw new ApplicationException("Per l'utente non risulta definito alcun ruolo preferito in amministrazione");

            //    //DocsPaVO.utente.Ruolo ruoloRif = ruoli.Where(e => e.idGruppo == idRuoloRiferimento).FirstOrDefault();

            //    //if (ruoloRif == null)
            //    //    throw new ApplicationException("Non è stato possibile reperire il ruolo preferito per l'utente");
            //    //else
            //    //    return ruoloRif;
            //}
            //else
            //    throw new ApplicationException("L'utente non non risulta associato ad alcun ruolo");
        }