public DataPrivilegeVisitor(ExpressionConverter converter, IDataPrivilegeFieldProvider dataPrivilegeFieldProvider, TestDbContext dbContext) : base(converter, dataPrivilegeFieldProvider, dbContext) { InitTableContainer(); FieldInfo field = typeof(DataPrivilegeVisitor <TestDbContext, TestEntity>).GetField("_tableContainer", BindingFlags.NonPublic | BindingFlags.Instance); TableContainer = field.GetValue(this) as List <(string AliasName, string TableName, ParameterExpression Parameter)>; }
public static DataPrivilegeVisitor CreateVisitor(IDataPrivilegeFieldProvider dataPrivilegeFieldProvider) { IEnumerable <IExpressionConvert> expressionConverts = new List <IExpressionConvert>() { new DateTimeExpressionConverter(), new NumericExpressionConverter(), new BooleanExpressionConverter() }; ExpressionConverter converter = new ExpressionConverter(expressionConverts); TestDbContext dbContext = CreateDbContext(); return(new DataPrivilegeVisitor(converter, dataPrivilegeFieldProvider, dbContext)); }
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; }
public DataPrivilegeContext(List <DataPrivilegeRule> rules, TestDbContext dbContext, IDataPrivilegeFieldProvider dataPrivilegeFieldProvider, DataPrivilegeVisitor <TestDbContext, TestEntity> dataPrivilegeVisitor) : base(rules, dbContext, dataPrivilegeFieldProvider, dataPrivilegeVisitor) { }