diff --git a/Oqtane.Server/Repository/RoleRepository.cs b/Oqtane.Server/Repository/RoleRepository.cs index 05de9047..9239155a 100644 --- a/Oqtane.Server/Repository/RoleRepository.cs +++ b/Oqtane.Server/Repository/RoleRepository.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using Microsoft.EntityFrameworkCore; using Oqtane.Models; +using Oqtane.Shared; namespace Oqtane.Repository { @@ -19,10 +20,12 @@ namespace Oqtane.Repository public class RoleRepository : IRoleRepository { private readonly IDbContextFactory _dbContextFactory; + private readonly ISettingRepository _settings; - public RoleRepository(IDbContextFactory dbContextFactory) + public RoleRepository(IDbContextFactory dbContextFactory, ISettingRepository settings) { _dbContextFactory = dbContextFactory; + _settings = settings; } public IEnumerable GetRoles(int siteId) @@ -95,6 +98,9 @@ namespace Oqtane.Repository db.Permission.Remove(permission); } + //remove settings for role + _settings.DeleteSettings(EntityNames.Role, roleId); + Role role = db.Role.Find(roleId); db.Role.Remove(role); db.SaveChanges();