// this routine clones the permissions for the various major permission types private void ClonePermissions(MajorObject mo, Role r) { DimensionPermission dimPerm = mo as DimensionPermission; CubePermission cubePerm = mo as CubePermission; DatabasePermission dbPerm = mo as DatabasePermission; DataSourcePermission dsPerm = mo as DataSourcePermission; if (dimPerm != null) { ClonePermissions(dimPerm, r); } else if (cubePerm != null) { ClonePermissions(cubePerm, r); } else if (dbPerm != null) { ClonePermissions(dbPerm, r); } else if (dsPerm != null) { ClonePermissions(dsPerm, r); } else { throw new System.Exception("BIDSHelper: unhandled permission type"); } }
private void ClonePermissions(DatabasePermission dbp, Role r) { DatabasePermission newDp = dbp.Clone(); newDp.ID = NewId(newDp); newDp.Name = newDp.ID; //dbp.Name + " - Copy"; newDp.RoleID = r.ID; dbp.Parent.DatabasePermissions.Add(newDp); }