public async void AddSelectedRole() { try { var role = SelectedRoleToAdd; await _userEndpoint.AddUserToRole(SelectedUser.Id, SelectedRoleToAdd); SelectedUserRole.Add(SelectedRoleToAdd); AvailableRoles.Remove(SelectedRoleToAdd); } catch (Exception exc) { throw exc; } }
private async Task LoadAvailableRoles() { // call api to get all roles var roles = await _userEndpoint.GetAllRoles(); foreach (var role in roles) { // check selected user role for existing roles, -1 is returned if the role is not asigned to current user if (SelectedUserRole.IndexOf(role.Value) < 0) { // add those unasigned roles to the list of available roles AvailableRoles.Add(role.Value); } } }
public async void RemoveSelectedRole() { try { await _userEndpoint.RemoveUserFromRole(SelectedUser.Id, SelectedRoleToRemove); SelectedUserRole.Remove(SelectedRoleToRemove); AvailableRoles.Add(SelectedRoleToRemove); await LoadAvailableRoles(); NotifyOfPropertyChange(() => AvailableRoles); } catch (Exception exc) { throw exc; } }