private static FolderPermissionCollection FillFolderPermissionCollection(IDataReader dr) { FolderPermissionCollection arr = new FolderPermissionCollection(); try { while (dr.Read()) { // fill business object FolderPermissionInfo obj = FillFolderPermissionInfo(dr, false); // add to collection arr.Add(obj); } } catch (Exception exc) { Exceptions.LogException(exc); } finally { // close datareader if (dr != null) { dr.Close(); } } return arr; }
private static FolderPermissionCollection FillFolderPermissionCollection(IDataReader dr) { FolderPermissionCollection arr = new FolderPermissionCollection(); try { while (dr.Read()) { // fill business object FolderPermissionInfo obj = FillFolderPermissionInfo(dr, false); // add to collection arr.Add(obj); } } catch (Exception exc) { Exceptions.LogException(exc); } finally { // close datareader if (dr != null) { dr.Close(); } } return(arr); }
public FolderPermissionCollection GetFolderPermissionsByFolder(ArrayList arrFolderPermissions, string FolderPath) { FolderPermissionCollection p = new FolderPermissionCollection(); for (int i = 0; i < arrFolderPermissions.Count; i++) { FolderPermissionInfo objFolderPermission = (FolderPermissionInfo)arrFolderPermissions[i]; if (objFolderPermission.FolderPath == FolderPath) { p.Add(objFolderPermission); } } return(p); }
/// ----------------------------------------------------------------------------- /// <summary> /// SaveFolderPermissions updates a Folder's permissions /// </summary> /// <param name="folder">The Folder to update</param> /// <history> /// [cnurse] 04/15/2009 Created /// </history> /// ----------------------------------------------------------------------------- public virtual void SaveFolderPermissions(IFolderInfo folder) { if ((folder.FolderPermissions != null)) { //Ensure that if role/user has been given a permission that is not Read/Browse then they also need Read/Browse var permController = new PermissionController(); ArrayList permArray = permController.GetPermissionByCodeAndKey("SYSTEM_FOLDER", "READ"); PermissionInfo readPerm = null; if (permArray.Count == 1) { readPerm = permArray[0] as PermissionInfo; } PermissionInfo browsePerm = null; permArray = permController.GetPermissionByCodeAndKey("SYSTEM_FOLDER", "BROWSE"); if (permArray.Count == 1) { browsePerm = permArray[0] as PermissionInfo; } var additionalPermissions = new FolderPermissionCollection(); foreach (FolderPermissionInfo folderPermission in folder.FolderPermissions) { if (folderPermission.PermissionKey != "BROWSE" && folderPermission.PermissionKey != "READ" && folderPermission.AllowAccess) { //Try to add Read permission var newFolderPerm = new FolderPermissionInfo(readPerm) { FolderID = folderPermission.FolderID, RoleID = folderPermission.RoleID, UserID = folderPermission.UserID, AllowAccess = true }; additionalPermissions.Add(newFolderPerm); //Try to add Browse permission newFolderPerm = new FolderPermissionInfo(browsePerm) { FolderID = folderPermission.FolderID, RoleID = folderPermission.RoleID, UserID = folderPermission.UserID, AllowAccess = true }; additionalPermissions.Add(newFolderPerm); } } foreach (FolderPermissionInfo folderPermission in additionalPermissions) { folder.FolderPermissions.Add(folderPermission, true); } dataProvider.DeleteFolderPermissionsByFolderPath(folder.PortalID, folder.FolderPath); foreach (FolderPermissionInfo folderPermission in folder.FolderPermissions) { dataProvider.AddFolderPermission(folder.FolderID, folderPermission.PermissionID, folderPermission.RoleID, folderPermission.AllowAccess, folderPermission.UserID, UserController.Instance.GetCurrentUserInfo().UserID); } } }
public FolderPermissionCollection GetFolderPermissionsByFolder(ArrayList arrFolderPermissions, string FolderPath) { FolderPermissionCollection p = new FolderPermissionCollection(); for (int i = 0; i < arrFolderPermissions.Count; i++) { FolderPermissionInfo objFolderPermission = (FolderPermissionInfo)arrFolderPermissions[i]; if (objFolderPermission.FolderPath == FolderPath) { p.Add(objFolderPermission); } } return p; }
/// ----------------------------------------------------------------------------- /// <summary> /// SaveFolderPermissions updates a Folder's permissions /// </summary> /// <param name="folder">The Folder to update</param> /// <history> /// [cnurse] 04/15/2009 Created /// </history> /// ----------------------------------------------------------------------------- public virtual void SaveFolderPermissions(IFolderInfo folder) { if ((folder.FolderPermissions != null)) { FolderPermissionCollection folderPermissions = GetFolderPermissionsCollectionByFolder(folder.PortalID, folder.FolderPath); //Ensure that if role/user has been given a permission that is not Read/Browse then they also need Read/Browse var permController = new PermissionController(); ArrayList permArray = permController.GetPermissionByCodeAndKey("SYSTEM_FOLDER", "READ"); PermissionInfo readPerm = null; if (permArray.Count == 1) { readPerm = permArray[0] as PermissionInfo; } PermissionInfo browsePerm = null; permArray = permController.GetPermissionByCodeAndKey("SYSTEM_FOLDER", "BROWSE"); if (permArray.Count == 1) { browsePerm = permArray[0] as PermissionInfo; } var additionalPermissions = new FolderPermissionCollection(); foreach (FolderPermissionInfo folderPermission in folder.FolderPermissions) { if (folderPermission.PermissionKey != "BROWSE" && folderPermission.PermissionKey != "READ") { //Try to add Read permission var newFolderPerm = new FolderPermissionInfo(readPerm) { FolderID = folderPermission.FolderID, RoleID = folderPermission.RoleID, UserID = folderPermission.UserID, AllowAccess = folderPermission.AllowAccess }; additionalPermissions.Add(newFolderPerm); //Try to add Browse permission newFolderPerm = new FolderPermissionInfo(browsePerm) { FolderID = folderPermission.FolderID, RoleID = folderPermission.RoleID, UserID = folderPermission.UserID, AllowAccess = folderPermission.AllowAccess }; additionalPermissions.Add(newFolderPerm); } } foreach (FolderPermissionInfo folderPermission in additionalPermissions) { folder.FolderPermissions.Add(folderPermission, true); } if (!folderPermissions.CompareTo(folder.FolderPermissions)) { dataProvider.DeleteFolderPermissionsByFolderPath(folder.PortalID, folder.FolderPath); foreach (FolderPermissionInfo folderPermission in folder.FolderPermissions) { dataProvider.AddFolderPermission(folder.FolderID, folderPermission.PermissionID, folderPermission.RoleID, folderPermission.AllowAccess, folderPermission.UserID, UserController.GetCurrentUserInfo().UserID); } } } }