public void AddRange(ModulePermissionCollection modulePermissions) { foreach (ModulePermissionInfo permission in modulePermissions) { Add(permission); } }
private object GetModulePermissionsCallBack(CacheItemArgs cacheItemArgs) { int tabID = (int)cacheItemArgs.ParamList[0]; IDataReader dr = dataProvider.GetModulePermissionsByTabID(tabID); Dictionary <int, ModulePermissionCollection> dic = new Dictionary <int, ModulePermissionCollection>(); try { ModulePermissionInfo obj; while (dr.Read()) { obj = CBO.FillObject <ModulePermissionInfo>(dr, false); if (dic.ContainsKey(obj.ModuleID)) { dic[obj.ModuleID].Add(obj); } else { ModulePermissionCollection collection = new ModulePermissionCollection(); collection.Add(obj); dic.Add(obj.ModuleID, collection); } } } catch (Exception exc) { Exceptions.LogException(exc); } finally { CBO.CloseDataReader(dr, true); } return(dic); }
public virtual ModulePermissionCollection GetModulePermissions(int moduleID, int tabID) { bool bFound = false; Dictionary <int, ModulePermissionCollection> dicModulePermissions = GetModulePermissions(tabID); ModulePermissionCollection modulePermissions = null; bFound = dicModulePermissions.TryGetValue(moduleID, out modulePermissions); if (!bFound) { modulePermissions = new ModulePermissionCollection(CBO.FillCollection(dataProvider.GetModulePermissionsByModuleID(moduleID, -1), typeof(ModulePermissionInfo)), moduleID); } return(modulePermissions); }
public bool CompareTo(ModulePermissionCollection objModulePermissionCollection) { if (objModulePermissionCollection.Count != this.Count) { return(false); } InnerList.Sort(new CompareModulePermissions()); objModulePermissionCollection.InnerList.Sort(new CompareModulePermissions()); for (int i = 0; i <= this.Count - 1; i++) { if (objModulePermissionCollection[i].ModulePermissionID != this[i].ModulePermissionID || objModulePermissionCollection[i].AllowAccess != this[i].AllowAccess) { return(false); } } return(true); }
public static bool HasModulePermission(ModulePermissionCollection objModulePermissions, string permissionKey) { bool hasPermission = Null.NullBoolean; if (permissionKey.Contains(",")) { foreach (string permission in permissionKey.Split(',')) { if (provider.HasModulePermission(objModulePermissions, permission)) { hasPermission = true; break; } } } else { hasPermission = provider.HasModulePermission(objModulePermissions, permissionKey); } return hasPermission; }
public virtual void SaveModulePermissions(ModuleInfo objModule) { if (objModule.ModulePermissions != null) { ModulePermissionCollection modulePermissions = ModulePermissionController.GetModulePermissions(objModule.ModuleID, objModule.TabID); if (!modulePermissions.CompareTo(objModule.ModulePermissions)) { dataProvider.DeleteModulePermissionsByModuleID(objModule.ModuleID); foreach (ModulePermissionInfo objModulePermission in objModule.ModulePermissions) { if (objModule.InheritViewPermissions && objModulePermission.PermissionKey == "VIEW") { dataProvider.DeleteModulePermission(objModulePermission.ModulePermissionID); } else { dataProvider.AddModulePermission(objModule.ModuleID, objModulePermission.PermissionID, objModulePermission.RoleID, objModulePermission.AllowAccess, objModulePermission.UserID, UserController.GetCurrentUserInfo().UserID); } } } } }
public bool CompareTo(ModulePermissionCollection objModulePermissionCollection) { if (objModulePermissionCollection.Count != this.Count) { return false; } InnerList.Sort(new CompareModulePermissions()); objModulePermissionCollection.InnerList.Sort(new CompareModulePermissions()); for (int i = 0; i <= this.Count - 1; i++) { if (objModulePermissionCollection[i].ModulePermissionID != this[i].ModulePermissionID || objModulePermissionCollection[i].AllowAccess != this[i].AllowAccess) { return false; } } return true; }
public ModulePermissionCollection(ModulePermissionCollection modulePermissions) { AddRange(modulePermissions); }
public virtual bool HasModulePermission(ModulePermissionCollection objModulePermissions, string permissionKey) { return(PortalSecurity.IsInRoles(objModulePermissions.ToString(permissionKey))); }