示例#1
0
            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)>;
            }
示例#2
0
            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));
            }
示例#3
0
 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;
 }
示例#4
0
        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;
        }
示例#5
0
 public DataPrivilegeContext(List <DataPrivilegeRule> rules, TestDbContext dbContext, IDataPrivilegeFieldProvider dataPrivilegeFieldProvider, DataPrivilegeVisitor <TestDbContext, TestEntity> dataPrivilegeVisitor) : base(rules, dbContext, dataPrivilegeFieldProvider, dataPrivilegeVisitor)
 {
 }