/// <summary> /// Servizio per il reperimento del dettaglio di un ruolo dato il codice o l'id /// </summary> /// <param name="request"></param> /// <returns>Response</returns> public Services.Roles.GetRole.GetRoleResponse GetRole(Services.Roles.GetRole.GetRoleRequest request) { logger.Info("BEGIN"); Services.Roles.GetRole.GetRoleResponse response = Manager.RolesManager.GetRole(request); Utils.CheckFaultException(response); logger.Info("END"); return(response); }
public static Services.Roles.GetRole.GetRoleResponse GetRole(Services.Roles.GetRole.GetRoleRequest request) { Services.Roles.GetRole.GetRoleResponse response = new Services.Roles.GetRole.GetRoleResponse(); try { DocsPaVO.utente.Utente utente = null; DocsPaVO.utente.InfoUtente infoUtente = null; //Inizio controllo autenticazione utente infoUtente = Utils.CheckAuthentication(request, "GetRole"); 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.CodeRole) && string.IsNullOrEmpty(request.IdRole)) { throw new PisException("REQUIRED_CODE_OR_ID_ROLE"); } if (!string.IsNullOrEmpty(request.CodeRole) && !string.IsNullOrEmpty(request.IdRole)) { throw new PisException("REQUIRED_ONLY_CODE_OR_ID_ROLE"); } Domain.Role roleResponse = new Domain.Role(); Domain.Register[] registerResponse = null; DocsPaVO.utente.Ruolo ruolo = null; ArrayList registri = new ArrayList(); if (!string.IsNullOrEmpty(request.CodeRole)) { ruolo = BusinessLogic.Utenti.UserManager.getRuoloByCodice(request.CodeRole); } else { if (!string.IsNullOrEmpty(request.IdRole)) { //Id gruppo ruolo = BusinessLogic.Utenti.UserManager.getRuoloByIdGruppo(request.IdRole); } } if (ruolo != null) { registri = BusinessLogic.Utenti.RegistriManager.getListaRegistriRfRuolo(ruolo.systemId, string.Empty, string.Empty); roleResponse.Code = ruolo.codiceRubrica; roleResponse.Description = ruolo.descrizione; roleResponse.Id = ruolo.idGruppo; if (registri != null && registri.Count > 0) { registerResponse = new Domain.Register[registri.Count]; int i = 0; foreach (DocsPaVO.utente.Registro reg in registri) { Domain.Register regTemp = new Domain.Register(); regTemp.Code = reg.codRegistro; regTemp.Description = reg.descrizione; regTemp.Id = reg.systemId; if (!string.IsNullOrEmpty(reg.chaRF) && (reg.chaRF).Equals("1")) { regTemp.IsRF = true; } else { regTemp.IsRF = false; } if (!string.IsNullOrEmpty(reg.stato)) { if (reg.stato.Equals("A")) { regTemp.State = "Open"; } else { regTemp.State = "Closed"; } } registerResponse[i] = regTemp; i++; } } } else { //Ruolo non trovato throw new PisException("ROLE_NO_EXIST"); } response.Role = roleResponse; response.Role.Registers = registerResponse; response.Success = true; } catch (PisException pisEx) { logger.ErrorFormat("PISException: {0}, {1}", pisEx.ErrorCode, pisEx.Description); response.Error = new Services.ResponseError { Code = pisEx.ErrorCode, Description = pisEx.Description }; response.Success = false; } catch (Exception ex) { logger.ErrorFormat("Eccezione Generica: APPLICATION_ERROR, {0}", ex.Message); response.Error = new Services.ResponseError { Code = "APPLICATION_ERROR", Description = ex.Message }; response.Success = false; } return(response); }