public RoleAddedToMemberEvent(GroupId groupId, UserId userId, MemberId memberId, RoleId roleId, RoleName roleName, RolePriority rolePriority) { GroupId = groupId; UserId = userId; MemberId = memberId; RoleId = roleId; RoleName = roleName; RolePriority = rolePriority; }
public async Task <bool> UpdateRole(string id, string role) { var user = await _userManager.FindByIdAsync(id); var higherRoles = RolePriority.HigherRoles(role); var lowerRoles = RolePriority.LowerRoles(role); await _userManager.AddToRolesAsync(user, lowerRoles); await _userManager.RemoveFromRolesAsync(user, higherRoles); await _context.SaveChangesAsync(); return(true); }
protected async Task Save(User user, string role) { var succeeded = await MegaService.HttpClient.PostJsonAsync <bool>("/api/Identity/UpdateRole", JsonConvert.SerializeObject(new { user.Id, Role = role })); if (succeeded) { MegaService.Toastr.Success("Successfully updated."); var lowerRoles = RolePriority.LowerRoles(role); user.Roles = lowerRoles; } else { MegaService.Toastr.Warning("Update failed. Please try again"); } StateHasChanged(); }
public async Task <ICollection <User> > SearchUsers(string phrase, string role, int sortType, int page, int pageSize) { var helper = new IdentitySearchHelper(_context, _userManager); var col = await helper .Like(phrase) .SortBy((Consts.SortType)sortType) .Get(); if (!string.IsNullOrWhiteSpace(role)) { ICollection <User> newCol = new List <User>(); col.ForEach(async u => { if (await _userManager.IsInRoleAsync(u, role)) { newCol.Add(u); } }); col = newCol; } foreach (var u in col) { u.Roles = await _userManager.GetRolesAsync(u); } if (sortType == (int)Consts.SortType.Role) { col = col.OrderBy(u => RolePriority.Priority(u.MainRole)).ToList(); } if (page > -1 && pageSize > -1) { col = col.Skip((page - 1) * pageSize).Take(pageSize).ToList(); } return(col); }
public Role(RoleId id, RoleName name, RolePriority priority, Permissions permissions) : base(id) { Name = name; Priority = priority; Permissions = permissions; }
internal static dynamic MakeJsonRole(EntityAbs<Role> rabs, RolePriority admMax) { return new { id = rabs.DataBehind.ID, name = rabs.DataBehind.RoleName, path = Utils.GetHtmlRolePath(rabs.DataBehind.DistinctString), priority = rabs.DataBehind.RolePriority, hasParents = rabs.ParentExists, hasChilds = rabs.ChildExists, childsLoaded = rabs.IsChildsLoaded, pid = rabs.DataBehind.ParentID == null ? new Nullable<int>() : rabs.DataBehind.ParentID, op = admMax.Major >= rabs.DataBehind.RolePriority }; }