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) public void DeleteModule(int ModuleId)
{ {
Module Module = db.Module.Find(ModuleId); Module Module = db.Module.Find(ModuleId);
Permissions.UpdatePermissions(Module.SiteId, "Module", ModuleId, ""); Permissions.DeletePermissions(Module.SiteId, "Module", ModuleId);
db.Module.Remove(Module); db.Module.Remove(Module);
db.SaveChanges(); db.SaveChanges();
} }

View File

@ -9,11 +9,15 @@ namespace Oqtane.Repository
{ {
private TenantDBContext db; private TenantDBContext db;
private readonly IPermissionRepository Permissions; 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; db = context;
this.Permissions = Permissions; this.Permissions = Permissions;
this.PageModules = PageModules;
this.ModuleRepository = ModuleRepository;
} }
public IEnumerable<Page> GetPages() public IEnumerable<Page> GetPages()
@ -62,7 +66,12 @@ namespace Oqtane.Repository
public void DeletePage(int PageId) public void DeletePage(int PageId)
{ {
Page Page = db.Page.Find(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.Page.Remove(Page);
db.SaveChanges(); db.SaveChanges();
} }