/// <summary> /// Servizio per il reperimento dei ruoli che hanno configurata una determinata micro funzione /// </summary> /// <param name="request"></param> /// <returns></returns> public Services.Roles.GetRolesForEnabledActions.GetRolesForEnabledActionsResponse GetRolesForEnabledSingleFunction(Services.Roles.GetRolesForEnabledActions.GetRolesForEnabledActionsRequest request) { Services.Roles.GetRolesForEnabledActions.GetRolesForEnabledActionsResponse response = Manager.RolesManager.GetRolesForEnabledSingleFunction(request); Utils.CheckFaultException(response); return(response); }
public static Services.Roles.GetRolesForEnabledActions.GetRolesForEnabledActionsResponse GetRolesForEnabledActions(Services.Roles.GetRolesForEnabledActions.GetRolesForEnabledActionsRequest request) { Services.Roles.GetRolesForEnabledActions.GetRolesForEnabledActionsResponse response = new Services.Roles.GetRolesForEnabledActions.GetRolesForEnabledActionsResponse(); try { DocsPaVO.utente.Utente utente = null; DocsPaVO.utente.InfoUtente infoUtente = null; //Inizio controllo autenticazione utente infoUtente = Utils.CheckAuthentication(request, "GetRolesForEnabledActions"); utente = BusinessLogic.Utenti.UserManager.getUtenteById(infoUtente.idPeople); if (utente == null) { //Utente non trovato throw new PisException("USER_NO_EXIST"); } //Fine controllo autenticazione utente if (string.IsNullOrEmpty(request.CodiceTipoFunzione)) { throw new PisException("REQUIRED_CODTIPOFUNC"); } if (string.IsNullOrEmpty(request.UserID)) { throw new PisException("REQUIRED_USERID"); } Domain.Role[] roleResponse = null; DocsPaVO.utente.Utente utenteDaCercare = null; ArrayList arrayRuoli = new ArrayList(); if (!string.IsNullOrEmpty(request.UserID)) { utenteDaCercare = BusinessLogic.Utenti.UserManager.getUtente(request.UserID, Utils.GetIdAmministrazione(request.UserID)); } else { throw new PisException("REQUIRED_USERID"); } if (utenteDaCercare != null) { DocsPaVO.utente.InfoUtente infoUtenteDaCercare = new DocsPaVO.utente.InfoUtente(utenteDaCercare, Utils.GetRuoloPreferito(utenteDaCercare.idPeople)); arrayRuoli = BusinessLogic.Utenti.UserManager.getRuoliUtenteForEnabledActions(infoUtenteDaCercare.idPeople, request.CodiceTipoFunzione, Utils.GetIdAmministrazione(request.UserID)); if (arrayRuoli != null && arrayRuoli.Count > 0) { roleResponse = new Domain.Role[arrayRuoli.Count]; int i = 0; foreach (DocsPaVO.utente.Ruolo rol in arrayRuoli) { Domain.Role roleTemp = new Domain.Role(); roleTemp.Code = rol.codiceRubrica; roleTemp.Description = rol.descrizione; roleTemp.Id = rol.idGruppo; roleResponse[i] = roleTemp; i++; } } else { throw new PisException("USER_NO_ROLES"); } } else { //Utente non trovato throw new PisException("USER_NO_EXIST"); } response.Roles = roleResponse; response.Success = true; } catch (PisException pisEx) { response.Error = new Services.ResponseError { Code = pisEx.ErrorCode, Description = pisEx.Description }; response.Success = false; } catch (Exception ex) { response.Error = new Services.ResponseError { Code = "APPLICATION_ERROR", Description = ex.Message }; response.Success = false; } return(response); }