Merge pull request #122 from fileman/FixPageDelete

Fix and Improve DeletePage
This commit is contained in:
Shaun Walker 2019-10-16 14:32:11 -04:00 committed by GitHub
commit c2bd4f1775
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 3 deletions

View File

@ -64,7 +64,7 @@ namespace Oqtane.Repository
public void DeleteModule(int ModuleId)
{
Module Module = db.Module.Find(ModuleId);
Permissions.UpdatePermissions(Module.SiteId, "Module", ModuleId, "");
Permissions.DeletePermissions(Module.SiteId, "Module", ModuleId);
db.Module.Remove(Module);
db.SaveChanges();
}

View File

@ -9,11 +9,15 @@ namespace Oqtane.Repository
{
private TenantDBContext db;
private readonly IPermissionRepository Permissions;
private readonly IPageModuleRepository PageModules;
private readonly IModuleRepository ModuleRepository;
public PageRepository(TenantDBContext context, IPermissionRepository Permissions)
public PageRepository(TenantDBContext context, IPermissionRepository Permissions, IPageModuleRepository PageModules, IModuleRepository ModuleRepository)
{
db = context;
this.Permissions = Permissions;
this.PageModules = PageModules;
this.ModuleRepository = ModuleRepository;
}
public IEnumerable<Page> GetPages()
@ -62,7 +66,12 @@ namespace Oqtane.Repository
public void DeletePage(int PageId)
{
Page Page = db.Page.Find(PageId);
Permissions.UpdatePermissions(Page.SiteId, "Page", PageId, "");
Permissions.DeletePermissions(Page.SiteId, "Page", PageId);
IEnumerable<PageModule> pageModules = db.PageModule.Where(item => item.PageId == PageId).ToList();
foreach (var pageModule in pageModules)
{
PageModules.DeletePageModule(pageModule.PageModuleId);
}
db.Page.Remove(Page);
db.SaveChanges();
}