public async Task AddSelectedRole()
        {
            await _userEndPoint.AddUserToRole(SelectedUser.Id, SelectedRoleToAdd);

            SelectedUserRoles.Add(SelectedRoleToAdd);
            AvailableRoles.Remove(SelectedRoleToAdd);
        }
        public async Task RemoveSelectedRole()
        {
            await _userEndPoint.RemoveUserFromRole(SelectedUser.Id, SelectedRoleToRemove);

            SelectedUserRoles.Remove(SelectedRoleToRemove);
            AvailableRoles.Add(SelectedRoleToRemove);
        }
예제 #3
0
        public async void RemoveSelectedRole()
        {
            await _userEndpoint.RemoveUserFromRole(SelectedUser.Id, SelectedRoleToRemove);

            AvailableRoles.Add(SelectedRoleToRemove);
            SelectedUserRoles.Remove(SelectedRoleToRemove);
            NotifyOfPropertyChange(() => Users);
        }
예제 #4
0
        private async Task LoadRoles()
        {
            var roles = await _userEndpoint.GetAllRoles();

            foreach (var role in roles)
            {
                if (SelectedUserRoles.IndexOf(role.Value) < 0)
                {
                    AvailableRoles.Add(role.Value);
                }
            }
        }
        private async Task LoadRoles()
        {
            var roles = await _userEndPoint.GetAllRoles();

            foreach (var role in roles)
            {
                if (SelectedUserRoles.Contains(role.Value))
                {
                    AvailableRoles.Add(role.Value);
                }
            }
        }
예제 #6
0
        public async void AddSelectedRole()
        {
            try
            {
                await _userEndpoint.AddUserToRole(SelectedUser.Id, SelectedRoleToAdd);

                SelectedUserRoles.Add(SelectedRoleToAdd);
                AvailableRoles.Remove(SelectedRoleToAdd);

                NotifyOfPropertyChange(() => Users);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #7
0
        public async Task <IActionResult> OnPostAsync(string id, UserPostModel model, IFormCollection collection)
        {
            await Init(id);

            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var unselectedRoles = SelectedUserRoles.Where(r => !model.SelectedRoles?.Contains(r) ?? false).ToList();
            var newRoles        = model.SelectedRoles?.Where(r => !SelectedUserRoles.Contains(r)).ToList();
            var rolesUpdated    = false;

            if (unselectedRoles.Any())
            {
                await _userManager.RemoveFromRolesAsync(SelectedUser, unselectedRoles);

                rolesUpdated = true;
            }

            if (!newRoles.IsNullOrEmpty())
            {
                await _userManager.AddToRolesAsync(SelectedUser, newRoles);

                rolesUpdated = true;
            }

            if (rolesUpdated)
            {
                EZmsInMemoryCache.Remove($"EZms:principal:userroles:{id}");
            }

            SelectedUser.Email       = model.Email;
            SelectedUser.PhoneNumber = model.PhoneNumber;

            await _userManager.UpdateAsync(SelectedUser);

            if (unselectedRoles.Any() || newRoles.Any())
            {
                SelectedUserRoles = await GetUserRoles(SelectedUser);
            }

            return(Page());
        }
        // Manage Roles and Permissions

        private void RoleChecked(SelectedUserRoleViewModel o)
        {
            if (!o.IsSelected)
            {
                if (o.IsChanged)
                {
                    o.Restore();
                }
                else
                {
                    o.MakeFull();
                }
            }
            else
            {
                o.MakeEmpty();
            }

            IsChangedRoles = SelectedUserRoles.Any(x => x.IsChanged);
        }