Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }