public DataPrivilegeManager(IDataPriviegeRepository <TRule, TRuleRole, TRuleUser> dataPriviegeRepository, TDbContext dbContext, IDataPrivilegeFieldProvider dataPrivilegeFieldProvider, IUserSessionInfo userSessionInfo, DataPrivilegeVisitor <TDbContext, TEntity> dataPrivilegeVisitor) { DbContext = dbContext; DataPrivilegeFieldProvider = dataPrivilegeFieldProvider; UserSessionInfo = userSessionInfo; DataPrivilegeVisitor = dataPrivilegeVisitor; DataPriviegeRepository = dataPriviegeRepository; }
public DataPrivilegeContext(List <TRule> rules, TDbContext dbContext, IDataPrivilegeFieldProvider dataPrivilegeFieldProvider, DataPrivilegeVisitor <TDbContext, TEntity> dataPrivilegeVisitor) { Rules = rules; var comparer = new CommonComparer <TRule>((x, y) => { int left = x.ConditionExpression.GetHashCode(); int right = y.ConditionExpression.GetHashCode(); return(left.CompareTo(right)); }); Rules.Sort(comparer); DbContext = dbContext; DataPrivilegeFieldProvider = dataPrivilegeFieldProvider; DataPrivilegeVisitor = dataPrivilegeVisitor; }