public async Task<IActionResult> GetUsersByRole(Guid? id, string role) { if (id == null) { return NotFound(); } var mgroup = await _context.Groups .Include(m => m.GroupUsers) .FirstOrDefaultAsync(m => m.GroupId == id); if (mgroup == null) { return NotFound(); } List<string> usersList = new List<string>(); if (role == "ALL") usersList = UserHelper.GetAllUsers(Configuration["JWT:Admin-Token-Url"], Configuration["JWT:Admin-Url"], Configuration["JWT:Admin-Key"], Configuration["JWT:Admin-User"], Configuration["JWT:Admin-Password"]); else usersList = UserHelper.GetAllUsersByRole(role, Configuration["JWT:Admin-Url"], Configuration["JWT:ClientId"], Configuration["JWT:Admin-Token-Url"], Configuration["JWT:Admin-Key"], Configuration["JWT:Admin-User"], Configuration["JWT:Admin-Password"]); List<SelectedUserPoco> returnList = new List<SelectedUserPoco>(); foreach (string userid in usersList) { DB.Models.Domain.User u = await _context.Users.FindAsync(userid); SelectedUserPoco sup = new SelectedUserPoco() { myUser = u, myGroup = mgroup }; if (u != null) returnList.Add(sup); } string json = JsonConvert.SerializeObject(returnList); return Content(json, "application/json"); }
public async Task<IActionResult> GetReadonlyUsersByProject(Guid? id) { if (id == null) { return NotFound(); } List<ProjectGroup> readOnlyGroups = await _context.ProjectsGroups .Include(m => m.Group).ThenInclude(u => u.GroupUsers).ThenInclude(g => g.User) .Where(m => m.ReadOnly == true && m.ProjectId == id).ToListAsync(); List<string> usersList = UserHelper.GetAllUsers(Configuration["JWT:Admin-Token-Url"], Configuration["JWT:Admin-Url"], Configuration["JWT:Admin-Key"], Configuration["JWT:Admin-User"], Configuration["JWT:Admin-Password"]); List<SelectedUserPoco> returnList = new List<SelectedUserPoco>(); foreach (string userid in usersList) { DB.Models.Domain.User u = await _context.Users.FindAsync(userid); if (u != null) { SelectedUserPoco sup = new SelectedUserPoco() { myUser = u }; if (readOnlyGroups.Any(m => m.Group.GroupUsers.Any(z => z.UserId == u.UserId))) { sup.selected = true; } returnList.Add(sup); } } string json = JsonConvert.SerializeObject(returnList); return Content(json, "application/json"); }