Exemple #1
0
        /// <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);
        }
Exemple #2
0
        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);
        }