internal override void DeleteLinkedObjects(bool isChildOfDeleted) { // Remove any relationships this column participates in: UsedInRelationships.ToList().ForEach(r => r.Delete()); if (!isChildOfDeleted) { if (Handler.CompatibilityLevel >= 1400) { ObjectLevelSecurity.Clear(); } // Remove any hierarchy levels this column is used in: UsedInLevels.ToList().ForEach(l => l.Delete()); // Make sure the column is no longer used as a Sort By column: UsedInSortBy.ToList().ForEach(c => c.SortByColumn = null); // Make sure the column is no longer used in any Calculated Tables: foreach (var ctc in OriginForCalculatedTableColumns.ToList()) { ctc.InternalDelete(); } } // Make sure the column is no longer used in any Variations: if (Handler.CompatibilityLevel >= 1400) { UsedInVariations.ToList().ForEach(v => v.Delete()); } base.DeleteLinkedObjects(isChildOfDeleted); }
internal override void DeleteLinkedObjects(bool isChildOfDeleted) { // Clear folder cache: Handler.Tree.FolderCache.Clear(); // Remove row-level-security for this table: RowLevelSecurity.Clear(); if (Handler.CompatibilityLevel >= 1400) { ObjectLevelSecurity.Clear(); } base.DeleteLinkedObjects(isChildOfDeleted); }
internal override void DeleteLinkedObjects(bool isChildOfDeleted) { // Clear folder cache: FolderCache.Clear(); // Remove row-level-security for this table: RowLevelSecurity.Clear(); if (Handler.CompatibilityLevel >= 1400) { ObjectLevelSecurity.Clear(); } foreach (var r in Model.Roles) { if (r.TablePermissions.Contains(Name)) { r.TablePermissions[this].Delete(); } } base.DeleteLinkedObjects(isChildOfDeleted); }