Example #1
0
        protected static void InitilizeGlobalFilters <T>(Expression <Func <T, bool> > filterExpression)
            where T : class
        {
            QueryFilterManager.Filter <T>(p => p.Where(filterExpression));

            isAnyFilterInitilized = true;
        }
Example #2
0
        public TestContext() : base(My.Config.ConnectionStrings.TestDatabase)
        {
            Database.SetInitializer(new CreateDatabaseIfNotExists <TestContext>());

            // BE careful, this one also need to clear filter!
            QueryFilterManager.ClearQueryCache(this);
        }
        public TestContext(DbConnection connection) : base(connection, true)
        {
            // BE careful, this one also need to clear filter!
            QueryFilterManager.ClearQueryCache(this);

            QueryDbSetFilterManager.GlobalFilters.Clear();
            QueryDbSetFilterManager.GlobalInitializeFilterActions.Clear();
        }
Example #4
0
 public DBContext()
     : base("name=DBContext")
 {
     QueryFilterManager.Filter <Kitaplar>(c => c.Where(x => x.isActive == true));
     QueryFilterManager.Filter <KullanimDetay>(c => c.Where(x => x.isActive == true));
     QueryFilterManager.Filter <Raflar>(c => c.Where(x => x.isActive == true));
     QueryFilterManager.Filter <Yorumlar>(c => c.Where(x => x.isActive == true));
     QueryFilterManager.InitilizeGlobalFilter(this);
 }
Example #5
0
 public static void ConfigFilters()
 {
     QueryFilterManager.AllowPropertyFilter = false;
     QueryFilterManager.Filter <AppUser>(FilterKeys.ActiveUsers, x => x.Where(t => !t.IsSoftDeleted));
     QueryFilterManager.Filter <UserWallet>(FilterKeys.ActiveWallet, x => x.Where(t => !t.IsSoftDeleted));
     QueryFilterManager.Filter <BusRoute>(FilterKeys.ActiveRoutes, x => x.Where(t => !t.IsSoftDeleted));
     QueryFilterManager.Filter <Bus>(FilterKeys.ActiveBuses, x => x.Where(t => !t.IsSoftDeleted));
     QueryFilterManager.Filter <AppUser>(FilterKeys.RegisteredUsers, x => x.Where(t => t.EmailConfirmed && !t.LockedOut), false);
 }
        public static void ClearGlobalManagerFilter()
        {
#if EF5
            QueryFilterManager.GlobalFilters.Clear();
            QueryFilterManager.GlobalInitializeFilterActions.Clear();
#elif EF6
            QueryFilterManager.ClearGlobalFilter();
#endif
        }
        private void Initialize()
        {
            Configuration.LazyLoadingEnabled   = false;
            Configuration.ProxyCreationEnabled = false;

            if (isAnyFilterInitilized)
            {
                QueryFilterManager.InitilizeGlobalFilter(this);
            }
        }
Example #8
0
        private void NoFilter()
        {
            QueryFilterManager.Filter <Product>(q => q.Where(p => p.IsActive));

            using (var db = new DataContext())
            {
                var count = db.Products.AsNoFilter().Count();

                Console.WriteLine($"Products count: {count}");
            }
        }
        public void WithGlobalManagerFilter_ManyFilter_Include()
        {
            using (var ctx = new TestContext())
            {
                QueryFilterHelper.CreateGlobalManagerFilter(true, enableFilter1: false, enableFilter2: false, enableFilter3: false, enableFilter4: false, includeInterface: true, includeBaseClass: true, includeBaseInterface: true);
                QueryFilterManager.InitilizeGlobalFilter(ctx);

                Assert.AreEqual(36, ctx.Inheritance_Interface_Entities.Sum(x => x.ColumnInt));

                QueryFilterHelper.ClearGlobalManagerFilter();
            }
        }
        public void WithGlobalManagerFilter_ManyFilter_Enabled()
        {
            using (var ctx = new TestContext())
            {
                QueryFilterHelper.CreateGlobalManagerFilter(false, enableFilter1: true, enableFilter2: true, enableFilter3: true, enableFilter4: true);
                QueryFilterManager.InitilizeGlobalFilter(ctx);

                Assert.AreEqual(45, ctx.Inheritance_Interface_Entities.AsNoFilter().Sum(x => x.ColumnInt));

                QueryFilterHelper.ClearGlobalManagerFilter();
            }
        }
Example #11
0
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            base.OnConfiguring(optionsBuilder);

            optionsBuilder.UseLazyLoadingProxies(false);
            if (isAnyFilterInitilized)
            {
                QueryFilterManager.InitilizeGlobalFilter(this);
            }

            optionsBuilder.UseLoggerFactory(ImsLogging.LoggerFactory);
        }
        public ApplicationDbContext(AppTenant tenant)
        {
            if (tenant != null)
            {
                this.tenant = tenant;
                this.Seed(this.tenant);
                var tenantId = this.tenant.AppTenantId;

                QueryFilterManager.Filter <Page>(q => q.Where(x => x.AppTenantId == tenantId));

                QueryFilterManager.InitilizeGlobalFilter(this);
            }
        }
Example #13
0
        public TestContext()
#endif
        {
#if EF5 || EF6
            Database.SetInitializer(new TestContextInitializer());
#elif EFCORE
            Database.EnsureCreated();
#endif

#if EF6
            // BE careful, this one also need to clear filter!
            QueryFilterManager.ClearQueryCache(this);
#endif
        }
Example #14
0
        public void WithGlobalManagerFilter_ManyFilter_Exclude()
        {
            TestContext.DeleteAll(x => x.Inheritance_Interface_Entities);
            TestContext.Insert(x => x.Inheritance_Interface_Entities, 10);

            using (var ctx = new TestContext())
            {
                QueryFilterHelper.CreateGlobalManagerFilter(false, enableFilter1: true, enableFilter2: true, enableFilter3: true, enableFilter4: true, excludeInterface: true, excludeBaseClass: true, excludeBaseInterface: true);
                QueryFilterManager.InitilizeGlobalFilter(ctx);

                Assert.AreEqual(44, ctx.SetFiltered <Inheritance_Interface_Entity>().Sum(x => x.ColumnInt));

                QueryFilterHelper.ClearGlobalManagerFilter();
            }
        }
        public void WithGlobalManagerFilter_SingleFilter_Include()
        {
            TestContext.DeleteAll(x => x.Inheritance_Interface_Entities);
            TestContext.Insert(x => x.Inheritance_Interface_Entities, 10);

            using (var ctx = new TestContext())
            {
                QueryFilterHelper.CreateGlobalManagerFilter(true, enableFilter1: false, includeClass: true);
                QueryFilterManager.InitilizeGlobalFilter(ctx);

                Assert.AreEqual(44, ctx.Inheritance_Interface_Entities.Sum(x => x.ColumnInt));

                QueryFilterHelper.ClearGlobalManagerFilter();
            }
        }
Example #16
0
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            DbInterception.Add(new NLogCommandInterceptor(Log.App));

            // TODO: IoC Configurable
            QueryFilterManager.Filter <ISoftDeletable>(q => q.Where(x => x.IsDeleted == false));

            // TODO: Move mappings
            modelBuilder.Entity <Product>().HasMany(x => x.Stocks);

            modelBuilder.Entity <Stock>().HasKey(x => new { x.Id, x.ProductId });

            modelBuilder.Properties()
            .Where(p => p.Name.EndsWith("Buddy"))
            .Configure(p => p.HasColumnName(p.ClrPropertyInfo.Name.Replace("Buddy", string.Empty)));
        }
Example #17
0
        public void WithGlobalManagerFilter_ManyFilter_Disabled()
        {
            TestContext.DeleteAll(x => x.Inheritance_Interface_Entities);
            TestContext.Insert(x => x.Inheritance_Interface_Entities, 10);

            using (var ctx = new TestContext())
            {
                QueryFilterHelper.CreateGlobalManagerFilter(true, enableFilter1: false, enableFilter2: false, enableFilter3: false, enableFilter4: false);
                QueryFilterManager.InitilizeGlobalFilter(ctx);

                Assert.AreEqual(35, ctx.Inheritance_Interface_Entities.Filter(
                                    QueryFilterHelper.Filter.Filter1,
                                    QueryFilterHelper.Filter.Filter2,
                                    QueryFilterHelper.Filter.Filter3,
                                    QueryFilterHelper.Filter.Filter4).Sum(x => x.ColumnInt));

                QueryFilterHelper.ClearGlobalManagerFilter();
            }
        }
        private static void RunQueriesWithGlobalFilter()
        {
            Console.WriteLine("\n ** Test 2: Queries with global filter");
            QueryFilterManager.Filter <Contact>(q => q.Where(x => x.IsDeleted == true));

            using (var dbContext = new TestDbContext())
            {
                Console.WriteLine("\t First time query execution");
                QueryFilterManager.InitilizeGlobalFilter(dbContext);
                dbContext.Contacts.ToList();
            }

            using (var dbContext = new TestDbContext())
            {
                Console.WriteLine("\t Second time query execution");
                QueryFilterManager.InitilizeGlobalFilter(dbContext);
                dbContext.Contacts.ToList();
            }
        }
Example #19
0
        private void GlobalFilter()
        {
            QueryFilterManager.Filter <Product>(q => q.Where(p => p.IsActive));

            using (var db = new DataContext())
            {
                var count = db.Products.Count();

                Console.WriteLine($"Products count: {count}");
            }

            using (var db = new DataContext())
            {
                var category = db.Categories.FirstOrDefault();

                var count = category.Products.Count;

                Console.WriteLine($"Products count in category {category.Name}: {count}");
            }
        }
Example #20
0
        public static void Run_Filter()
        {
            // CREATE global filter
            QueryFilterManager.Filter <Flight>(x => x.Where(c => c.Departure == "Rome"));

            var ctx = new DA.WWWingsContext();

            ctx.Log();


            // TIP: Add this line in EntitiesContext constructor instead
            QueryFilterManager.InitilizeGlobalFilter(ctx);

            // SELECT * FROM Customer WHERE IsActive = true
            var customer = ctx.FlightSet.ToList();

            foreach (var f in customer)
            {
                Console.WriteLine(f);
            }
        }
Example #21
0
        public TestContext(bool isEnabled, string fixResharper = null, bool?enableFilter1 = null, bool?enableFilter2 = null, bool?enableFilter3 = null, bool?enableFilter4 = null, bool?excludeClass = null, bool?excludeInterface = null, bool?excludeBaseClass = null, bool?excludeBaseInterface = null, bool?includeClass = null, bool?includeInterface = null, bool?includeBaseClass = null, bool?includeBaseInterface = null)
#endif
        {
#if EF5 || EF6
            Database.SetInitializer(new CreateDatabaseIfNotExists <TestContext>());
#elif EFCORE
            Database.EnsureCreated();
#endif
#if EFCORE
            // TODO: Remove this when cast issue will be fixed
            QueryFilterManager.GlobalFilters.Clear();
            QueryFilterManager.GlobalInitializeFilterActions.Clear();
#endif

#if EF6
            // Clear query cache
            QueryFilterManager.ClearQueryCache(this);
#endif


            if (enableFilter1 != null)
            {
                this.Filter <Inheritance_Interface_Entity>(QueryFilterHelper.Filter.Filter1, entities => entities.Where(x => x.ColumnInt != 1), isEnabled);
                if (!isEnabled && enableFilter1.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter1).Enable();
                }
                else if (isEnabled && !enableFilter1.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter1).Disable();
                }
            }
            if (enableFilter2 != null)
            {
                this.Filter <Inheritance_Interface_IEntity>(QueryFilterHelper.Filter.Filter2, entities => entities.Where(x => x.ColumnInt != 2), isEnabled);
                if (!isEnabled && enableFilter2.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter2).Enable();
                }
                else if (isEnabled && !enableFilter2.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter2).Disable();
                }
            }
            if (enableFilter3 != null)
            {
                this.Filter <Inheritance_Interface_Base>(QueryFilterHelper.Filter.Filter3, entities => entities.Where(x => x.ColumnInt != 3), isEnabled);
                if (!isEnabled && enableFilter3.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter3).Enable();
                }
                else if (isEnabled && !enableFilter3.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter3).Disable();
                }
            }
            if (enableFilter4 != null)
            {
                this.Filter <Inheritance_Interface_IBase>(QueryFilterHelper.Filter.Filter4, entities => entities.Where(x => x.ColumnInt != 4), isEnabled);
                if (!isEnabled && enableFilter4.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter4).Enable();
                }
                else if (isEnabled && !enableFilter4.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter4).Disable();
                }
            }

            if (excludeClass != null && excludeClass.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter1).Disable(typeof(Inheritance_Interface_Entity));
            }

            if (excludeInterface != null && excludeInterface.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter2).Disable(typeof(Inheritance_Interface_IEntity));
            }

            if (excludeBaseClass != null && excludeBaseClass.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter3).Disable(typeof(Inheritance_Interface_Base));
            }

            if (excludeBaseInterface != null && excludeBaseInterface.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter4).Disable(typeof(Inheritance_Interface_IBase));
            }

            if (includeClass != null && includeClass.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter1).Enable(typeof(Inheritance_Interface_IEntity));
            }

            if (includeInterface != null && includeInterface.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter2).Enable(typeof(Inheritance_Interface_IEntity));
            }

            if (includeBaseClass != null && includeBaseClass.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter3).Enable(typeof(Inheritance_Interface_Base));
            }

            if (includeBaseInterface != null && includeBaseInterface.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter4).Enable(typeof(Inheritance_Interface_IBase));
            }
        }
Example #22
0
 public RPCSContext(DbContextOptions <RPCSContext> options) : base(options)
 {
     QueryFilterManager.Filter <BaseModel>("IsVersion", m => m.Where(x => !x.IsVersion), true);
     QueryFilterManager.Filter <BaseModel>("IsDeleted", m => m.Where(x => !x.IsDeleted), true);
     QueryFilterManager.InitilizeGlobalFilter(this);
 }
Example #23
0
 // Your context has been configured to use a 'BookingContext' connection string from your application's
 // configuration file (App.config or Web.config). By default, this connection string targets the
 // 'BookingSystem.API.Models.BookingContext' database on your LocalDb instance.
 //
 // If you wish to target a different database and/or database provider, modify the 'BookingContext'
 // connection string in the application configuration file.
 public BookingContext()
     : base("name=BookingContext")
 {
     QueryFilterManager.InitilizeGlobalFilter(this);
 }
Example #24
0
        public TestContext(bool isEnabled, string fixResharper = null, bool?enableFilter1 = null, bool?enableFilter2 = null, bool?enableFilter3 = null, bool?enableFilter4 = null, bool?excludeClass = null, bool?excludeInterface = null, bool?excludeBaseClass = null, bool?excludeBaseInterface = null, bool?includeClass = null, bool?includeInterface = null, bool?includeBaseClass = null, bool?includeBaseInterface = null) : base(My.Config.ConnectionStrings.TestDatabase)
        {
            Database.SetInitializer(new CreateDatabaseIfNotExists <TestContext>());

            // Clear query cache
            QueryFilterManager.ClearQueryCache(this);

            if (enableFilter1 != null)
            {
                this.Filter <Inheritance_Interface_Entity>(QueryFilterHelper.Filter.Filter1, entities => entities.Where(x => x.ColumnInt != 1), isEnabled);
                if (!isEnabled && enableFilter1.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter1).Enable();
                }
                else if (isEnabled && !enableFilter1.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter1).Disable();
                }
            }
            if (enableFilter2 != null)
            {
                this.Filter <Inheritance_Interface_IEntity>(QueryFilterHelper.Filter.Filter2, entities => entities.Where(x => x.ColumnInt != 2), isEnabled);
                if (!isEnabled && enableFilter2.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter2).Enable();
                }
                else if (isEnabled && !enableFilter2.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter2).Disable();
                }
            }
            if (enableFilter3 != null)
            {
                this.Filter <Inheritance_Interface_Base>(QueryFilterHelper.Filter.Filter3, entities => entities.Where(x => x.ColumnInt != 3), isEnabled);
                if (!isEnabled && enableFilter3.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter3).Enable();
                }
                else if (isEnabled && !enableFilter3.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter3).Disable();
                }
            }
            if (enableFilter4 != null)
            {
                this.Filter <Inheritance_Interface_IBase>(QueryFilterHelper.Filter.Filter4, entities => entities.Where(x => x.ColumnInt != 4), isEnabled);
                if (!isEnabled && enableFilter4.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter4).Enable();
                }
                else if (isEnabled && !enableFilter4.Value)
                {
                    this.Filter(QueryFilterHelper.Filter.Filter4).Disable();
                }
            }

            if (excludeClass != null && excludeClass.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter1).Disable(typeof(Inheritance_Interface_Entity));
            }

            if (excludeInterface != null && excludeInterface.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter2).Disable(typeof(Inheritance_Interface_IEntity));
            }

            if (excludeBaseClass != null && excludeBaseClass.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter3).Disable(typeof(Inheritance_Interface_Base));
            }

            if (excludeBaseInterface != null && excludeBaseInterface.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter4).Disable(typeof(Inheritance_Interface_IBase));
            }

            if (includeClass != null && includeClass.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter1).Enable(typeof(Inheritance_Interface_IEntity));
            }

            if (includeInterface != null && includeInterface.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter2).Enable(typeof(Inheritance_Interface_IEntity));
            }

            if (includeBaseClass != null && includeBaseClass.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter3).Enable(typeof(Inheritance_Interface_Base));
            }

            if (includeBaseInterface != null && includeBaseInterface.Value)
            {
                this.Filter(QueryFilterHelper.Filter.Filter4).Enable(typeof(Inheritance_Interface_IBase));
            }
        }
Example #25
0
 public MiruDbContext(IMiruApp app) : base(app.Get <DbContextOptions>())
 {
     QueryFilterManager.InitilizeGlobalFilter(this);
 }
        public static void CreateGlobalManagerFilter(bool isEnabled, string fixResharper = null, bool?enableFilter1 = null, bool?enableFilter2 = null, bool?enableFilter3 = null, bool?enableFilter4 = null, bool?excludeClass = null, bool?excludeInterface = null, bool?excludeBaseClass = null, bool?excludeBaseInterface = null, bool?includeClass = null, bool?includeInterface = null, bool?includeBaseClass = null, bool?includeBaseInterface = null)
        {
            if (enableFilter1 != null)
            {
                QueryFilterManager.Filter <Inheritance_Interface_Entity>(Filter.Filter1, entities => entities.Where(x => x.ColumnInt != 1), isEnabled);
                if (!isEnabled && enableFilter1.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter1).IsDefaultEnabled = true;
                }
                else if (isEnabled && !enableFilter1.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter1).IsDefaultEnabled = false;
                }
            }
            if (enableFilter2 != null)
            {
                QueryFilterManager.Filter <Inheritance_Interface_IEntity>(Filter.Filter2, entities => entities.Where(x => x.ColumnInt != 2), isEnabled);
                if (!isEnabled && enableFilter2.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter2).IsDefaultEnabled = true;
                }
                else if (isEnabled && !enableFilter2.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter2).IsDefaultEnabled = false;
                }
            }
            if (enableFilter3 != null)
            {
                QueryFilterManager.Filter <Inheritance_Interface_Base>(Filter.Filter3, entities => entities.Where(x => x.ColumnInt != 3), isEnabled);
                if (!isEnabled && enableFilter3.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter3).IsDefaultEnabled = true;
                }
                else if (isEnabled && !enableFilter3.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter3).IsDefaultEnabled = false;
                }
            }
            if (enableFilter4 != null)
            {
                QueryFilterManager.Filter <Inheritance_Interface_IBase>(Filter.Filter4, entities => entities.Where(x => x.ColumnInt != 4), isEnabled);
                if (!isEnabled && enableFilter4.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter4).IsDefaultEnabled = true;
                }
                else if (isEnabled && !enableFilter4.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter4).IsDefaultEnabled = false;
                }
            }

            if (excludeClass != null && excludeClass.Value)
            {
                QueryFilterManager.Filter(Filter.Filter1).Disable(typeof(Inheritance_Interface_Entity));
            }

            if (excludeInterface != null && excludeInterface.Value)
            {
                QueryFilterManager.Filter(Filter.Filter2).Disable(typeof(Inheritance_Interface_IEntity));
            }

            if (excludeBaseClass != null && excludeBaseClass.Value)
            {
                QueryFilterManager.Filter(Filter.Filter3).Disable(typeof(Inheritance_Interface_Base));
            }

            if (excludeBaseInterface != null && excludeBaseInterface.Value)
            {
                QueryFilterManager.Filter(Filter.Filter4).Disable(typeof(Inheritance_Interface_IBase));
            }

            if (includeClass != null && includeClass.Value)
            {
                QueryFilterManager.Filter(Filter.Filter1).Enable(typeof(Inheritance_Interface_IEntity));
            }

            if (includeInterface != null && includeInterface.Value)
            {
                QueryFilterManager.Filter(Filter.Filter2).Enable(typeof(Inheritance_Interface_IEntity));
            }

            if (includeBaseClass != null && includeBaseClass.Value)
            {
                QueryFilterManager.Filter(Filter.Filter3).Enable(typeof(Inheritance_Interface_Base));
            }

            if (includeBaseInterface != null && includeBaseInterface.Value)
            {
                QueryFilterManager.Filter(Filter.Filter4).Enable(typeof(Inheritance_Interface_IBase));
            }
        }
Example #27
0
        public static IServiceCollection AddInactivable(this IServiceCollection services)
        {
            QueryFilterManager.Filter <IInactivable>(q => q.Where(x => x.IsInactive == false));

            return(services);
        }
        public static void CreateGlobalManagerFilter(bool isEnabled, string fixResharper = null, bool?enableFilter1 = null, bool?enableFilter2 = null, bool?enableFilter3 = null, bool?enableFilter4 = null, bool?excludeClass = null, bool?excludeInterface = null, bool?excludeBaseClass = null, bool?excludeBaseInterface = null, bool?includeClass = null, bool?includeInterface = null, bool?includeBaseClass = null, bool?includeBaseInterface = null)
        {
#if EFCORE
            // TODO: Remove this when cast issue will be fixed
            QueryFilterManager.GlobalFilters.Clear();
            QueryFilterManager.GlobalInitializeFilterActions.Clear();
#endif
            if (enableFilter1 != null)
            {
                QueryFilterManager.Filter <Inheritance_Interface_Entity>(Filter.Filter1, entities => entities.Where(x => x.ColumnInt != 1), isEnabled);
                if (!isEnabled && enableFilter1.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter1).IsDefaultEnabled = true;
                }
                else if (isEnabled && !enableFilter1.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter1).IsDefaultEnabled = false;
                }
            }
            if (enableFilter2 != null)
            {
                QueryFilterManager.Filter <Inheritance_Interface_IEntity>(Filter.Filter2, entities => entities.Where(x => x.ColumnInt != 2), isEnabled);
                if (!isEnabled && enableFilter2.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter2).IsDefaultEnabled = true;
                }
                else if (isEnabled && !enableFilter2.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter2).IsDefaultEnabled = false;
                }
            }
            if (enableFilter3 != null)
            {
                QueryFilterManager.Filter <Inheritance_Interface_Base>(Filter.Filter3, entities => entities.Where(x => x.ColumnInt != 3), isEnabled);
                if (!isEnabled && enableFilter3.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter3).IsDefaultEnabled = true;
                }
                else if (isEnabled && !enableFilter3.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter3).IsDefaultEnabled = false;
                }
            }
            if (enableFilter4 != null)
            {
                QueryFilterManager.Filter <Inheritance_Interface_IBase>(Filter.Filter4, entities => entities.Where(x => x.ColumnInt != 4), isEnabled);
                if (!isEnabled && enableFilter4.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter4).IsDefaultEnabled = true;
                }
                else if (isEnabled && !enableFilter4.Value)
                {
                    QueryFilterManager.Filter(Filter.Filter4).IsDefaultEnabled = false;
                }
            }

            if (excludeClass != null && excludeClass.Value)
            {
                QueryFilterManager.Filter(Filter.Filter1).Disable(typeof(Inheritance_Interface_Entity));
            }

            if (excludeInterface != null && excludeInterface.Value)
            {
                QueryFilterManager.Filter(Filter.Filter2).Disable(typeof(Inheritance_Interface_IEntity));
            }

            if (excludeBaseClass != null && excludeBaseClass.Value)
            {
                QueryFilterManager.Filter(Filter.Filter3).Disable(typeof(Inheritance_Interface_Base));
            }

            if (excludeBaseInterface != null && excludeBaseInterface.Value)
            {
                QueryFilterManager.Filter(Filter.Filter4).Disable(typeof(Inheritance_Interface_IBase));
            }

            if (includeClass != null && includeClass.Value)
            {
                QueryFilterManager.Filter(Filter.Filter1).Enable(typeof(Inheritance_Interface_IEntity));
            }

            if (includeInterface != null && includeInterface.Value)
            {
                QueryFilterManager.Filter(Filter.Filter2).Enable(typeof(Inheritance_Interface_IEntity));
            }

            if (includeBaseClass != null && includeBaseClass.Value)
            {
                QueryFilterManager.Filter(Filter.Filter3).Enable(typeof(Inheritance_Interface_Base));
            }

            if (includeBaseInterface != null && includeBaseInterface.Value)
            {
                QueryFilterManager.Filter(Filter.Filter4).Enable(typeof(Inheritance_Interface_IBase));
            }
        }