private List <Claim> GetRolesClaims(string userId) { var claims = new List <Claim>(); var rolesId = _userRolesRepository.GetList().Where(x => x.UserId == new Guid(userId)).Select(x => x.RoleId).ToList(); var roles = _rolesRepository.GetList().Where(x => rolesId.Contains(x.Id)).ToList(); foreach (var role in roles) { var roleClaim = role.RoleName; claims.Add(new Claim(ClaimTypes.Role, roleClaim)); } return(claims); }
public object GetAll() { var queryValues = Request.RequestUri.ParseQueryString(); int page = Convert.ToInt32(queryValues["page"]); int start = Convert.ToInt32(queryValues["start"]); int limit = Convert.ToInt32(queryValues["limit"]); int id = Convert.ToInt32(queryValues["id"]); int orden = Convert.ToInt32(queryValues["orden"]); #region Configuramos el orden de la consulta si se obtuvo como parametro string strOrder = !string.IsNullOrWhiteSpace(queryValues["sort"]) ? queryValues["sort"] : ""; strOrder = strOrder.Replace('[', ' '); strOrder = strOrder.Replace(']', ' '); Sort sort; if (!string.IsNullOrWhiteSpace(strOrder)) { sort = JsonConvert.DeserializeObject <Sort>(strOrder); } else { sort = new Sort(); } #endregion string query = !string.IsNullOrWhiteSpace(queryValues["query"]) ? queryValues["query"] : ""; int totalRecords = 0; try { if (id == 0) { object json; string msgError = ""; IList <Roles> lista; lista = repository.GetList(query, sort, orden, page, start, limit, ref totalRecords, ref msgError); json = new { total = totalRecords, data = lista, success = true }; return(json); } else { string msgError = ""; Roles roledata = repository.Get(id, ref msgError); object json = new { data = roledata, success = true, message = msgError }; return(json); } } catch (Exception ex) { LogManager.Write("ERROR:" + Environment.NewLine + "\tMETHOD = " + this.GetType().FullName + "." + MethodBase.GetCurrentMethod().Name + Environment.NewLine + "\tMESSAGE = " + ex.Message); object error = new { message = ex.Message }; object json = new { message = ex.Message, success = false }; return(json); } }