Beispiel #1
0
        /// <summary>
        /// Delete sitemap area group
        /// </summary>
        /// <param name="id"></param>
        /// <param name="transaction"></param>
        public void DeleteAreaGroup(Guid id, NpgsqlTransaction transaction = null)
        {
            Guid?areaId = new SitemapAreaGroupRepository(connectionString).GetAreaIdByGroupId(id, transaction);
            Guid?appId  = new SitemapAreaRepository(connectionString).GetAppIdByAreaId(areaId.Value, transaction);

            new SitemapAreaGroupRepository(connectionString).Delete(id, transaction);

            ClearAppCache(appId.Value);
        }
Beispiel #2
0
        public void DeleteAreaInternal(Guid id, Guid appId, NpgsqlTransaction transaction = null)
        {
            SitemapAreaGroupRepository groupsRep = new SitemapAreaGroupRepository(connectionString);
            DataTable areaGroups = groupsRep.GetAreaGroups(id, transaction);

            foreach (DataRow entRow in areaGroups.Rows)
            {
                groupsRep.Delete((Guid)entRow["id"], transaction);
            }

            SitemapAreaNodeRepository nodesRep = new SitemapAreaNodeRepository(connectionString);
            DataTable areaNodes = nodesRep.GetAreaNodes(id, transaction);

            foreach (DataRow entRow in areaNodes.Rows)
            {
                DeleteAreaNode((Guid)entRow["id"], transaction);
            }

            new PageService(connectionString).UnbindPagesFromSitemapArea(id, transaction);
            new SitemapAreaRepository(connectionString).Delete(id, transaction);

            ClearAppCache(appId);
        }