private void SetRoleItems(URM.RoleItemCollection<URM.Role, URM.RoleItem> urmRoleItems, List<RoleItem> roleItems) { foreach (RoleItem roleItem in roleItems) { if (roleItem is UserRoleItem) { UserRoleItem userRoleItem = (UserRoleItem)roleItem; URM.UserItem urmUserItem = new URM.UserItem(); urmUserItem.ExtraData = userRoleItem.ExtraData; urmUserItem.Name = userRoleItem.Name; urmRoleItems.Add(urmUserItem); } else if (roleItem is GroupRoleItem) { GroupRoleItem groupRoleItem = (GroupRoleItem)roleItem; URM.GroupItem urmGroupItem = new URM.GroupItem(); urmGroupItem.ExtraData = groupRoleItem.ExtraData; urmGroupItem.Name = groupRoleItem.Name; urmRoleItems.Add(urmGroupItem); } else { throw new NotSupportedException("SmartObject RoleItems aren't supported."); } } }
private List<RoleItem> CopyRoleItems(URM.RoleItemCollection<URM.Role, URM.RoleItem> urmRoles) { List<RoleItem> roles = new List<RoleItem>(); foreach (URM.RoleItem urmRoleItem in urmRoles) { //TODO: check if this can be refactored to something simpler since UserItem and GroupItem have the same properties. if (urmRoleItem is URM.UserItem) { URM.UserItem urmUserItem = (URM.UserItem)urmRoleItem; UserRoleItem uri = new UserRoleItem(); uri.ExtraData = urmUserItem.ExtraData; uri.Name = urmUserItem.Name; roles.Add(uri); } else if (urmRoleItem is URM.GroupItem) { URM.GroupItem urmGroupItem = (URM.GroupItem)urmRoleItem; GroupRoleItem gri = new GroupRoleItem(); gri.ExtraData = urmGroupItem.ExtraData; gri.Name = urmGroupItem.Name; roles.Add(gri); } else { throw new NotSupportedException("SmartObject RoleItems aren't supported."); } } return roles; }