/// <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); } }
/// <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"); }