public void CopyPermissionsToChildren(ArrayList tabs, TabPermissionCollection newPermissions) { TabPermissionController objTabPermissionController = new TabPermissionController(); foreach (TabInfo objTab in tabs) { TabPermissionCollection objCurrentTabPermissions = objTabPermissionController.GetTabPermissionsCollectionByTabID(objTab.TabID, objTab.PortalID); if (!(objCurrentTabPermissions.CompareTo(newPermissions))) { objTabPermissionController.DeleteTabPermissionsByTabID(objTab.TabID); foreach (TabPermissionInfo objTabPermission in newPermissions) { if (objTabPermission.AllowAccess) { objTabPermission.TabID = objTab.TabID; objTabPermissionController.AddTabPermission(objTabPermission); } } } } if (tabs.Count > 0) { DataCache.ClearTabsCache(((TabInfo)(tabs[0])).PortalID); } }
public void UpdateTab(TabInfo objTab) { bool updateChildren = false; TabInfo objTmpTab = GetTab(objTab.TabID, objTab.PortalID, false); if (objTmpTab.TabName != objTab.TabName | objTmpTab.ParentId != objTab.ParentId) { updateChildren = true; } UpdatePortalTabOrder(objTab.PortalID, objTab.TabID, objTab.ParentId, 0, 0, objTab.IsVisible); DataProvider.Instance().UpdateTab(objTab.TabID, objTab.TabName, objTab.IsVisible, objTab.DisableLink, objTab.ParentId, objTab.IconFile, objTab.Title, objTab.Description, objTab.KeyWords, objTab.IsDeleted, objTab.Url, objTab.SkinSrc, objTab.ContainerSrc, objTab.TabPath, objTab.StartDate, objTab.EndDate, objTab.RefreshInterval, objTab.PageHeadText); TabPermissionController objTabPermissionController = new TabPermissionController(); TabPermissionCollection objTabPermissions = objTab.TabPermissions; TabPermissionCollection objCurrentTabPermissions = objTabPermissionController.GetTabPermissionsCollectionByTabID(objTab.TabID, objTab.PortalID); if (!(objCurrentTabPermissions.CompareTo(objTab.TabPermissions))) { objTabPermissionController.DeleteTabPermissionsByTabID(objTab.TabID); foreach (TabPermissionInfo objTabPermission in objTabPermissions) { if (objTabPermission.AllowAccess) { objTabPermissionController.AddTabPermission(objTabPermission); } } } if (updateChildren) { UpdateChildTabPath(objTab.TabID, objTab.PortalID); } ClearCache(objTab.PortalID); }