예제 #1
0
        public void WithGlobalFilter_WithInstanceFilter_SingleFilter_GlobalFilterDisabled_InstanceFilterEnabled()
        {
            TestContext.DeleteAll(x => x.Inheritance_Interface_Entities);
            TestContext.Insert(x => x.Inheritance_Interface_Entities, 10);

            using (var ctx = new TestContext(true, true, enableFilter1: false))
            {
                ctx.DbSetFilter <Inheritance_Interface_Entity>(QueryFilterHelper.Filter.Filter5, entities => entities.Where(x => x.ColumnInt != 5), false);
                ctx.DbSetFilter(QueryFilterHelper.Filter.Filter5).Enable();

                Assert.AreEqual(45, ctx.Inheritance_Interface_Entities.AsNoDbSetFilter().Sum(x => x.ColumnInt));
            }
        }
        public void WithInstanceFilter_SingleFilter_Disable()
        {
            TestContext.DeleteAll(x => x.Inheritance_Interface_Entities);
            TestContext.Insert(x => x.Inheritance_Interface_Entities, 10);

            using (var ctx = new TestContext())
            {
                ctx.DbSetFilter <Inheritance_Interface_Entity>(QueryFilterHelper.Filter.Filter1, entities => entities.Where(x => x.ColumnInt != 1));
                ctx.DbSetFilter(QueryFilterHelper.Filter.Filter1).Disable();

                Assert.AreEqual(45, ctx.Inheritance_Interface_Entities.Sum(x => x.ColumnInt));
            }
        }
        public void WithGlobalFilter_WithInstanceFilter_ManyFilter_GlobalFilterDisabled_InstanceFilterDisabled()
        {
            TestContext.DeleteAll(x => x.Inheritance_Interface_Entities);
            TestContext.Insert(x => x.Inheritance_Interface_Entities, 10);

            using (var ctx = new TestContext(true, true, enableFilter1: false, enableFilter2: false, enableFilter3: false, enableFilter4: false))
            {
                ctx.DbSetFilter <Inheritance_Interface_Entity>(QueryFilterHelper.Filter.Filter5, entities => entities.Where(x => x.ColumnInt != 5));
                ctx.DbSetFilter <Inheritance_Interface_IEntity>(QueryFilterHelper.Filter.Filter6, entities => entities.Where(x => x.ColumnInt != 6));
                ctx.DbSetFilter <Inheritance_Interface_Base>(QueryFilterHelper.Filter.Filter7, entities => entities.Where(x => x.ColumnInt != 7));
                ctx.DbSetFilter <Inheritance_Interface_IBase>(QueryFilterHelper.Filter.Filter8, entities => entities.Where(x => x.ColumnInt != 8));

                ctx.DbSetFilter(QueryFilterHelper.Filter.Filter5).Disable();
                ctx.DbSetFilter(QueryFilterHelper.Filter.Filter6).Disable();
                ctx.DbSetFilter(QueryFilterHelper.Filter.Filter7).Disable();
                ctx.DbSetFilter(QueryFilterHelper.Filter.Filter8).Disable();

                Assert.AreEqual(9, ctx.Inheritance_Interface_Entities.DbSetFilter(
                                    QueryFilterHelper.Filter.Filter1,
                                    QueryFilterHelper.Filter.Filter2,
                                    QueryFilterHelper.Filter.Filter3,
                                    QueryFilterHelper.Filter.Filter4,
                                    QueryFilterHelper.Filter.Filter5,
                                    QueryFilterHelper.Filter.Filter6,
                                    QueryFilterHelper.Filter.Filter7,
                                    QueryFilterHelper.Filter.Filter8).Sum(x => x.ColumnInt));
            }
        }
예제 #4
0
        public void WithInstanceFilter_ManyFilter()
        {
            TestContext.DeleteAll(x => x.Inheritance_Interface_Entities);
            TestContext.Insert(x => x.Inheritance_Interface_Entities, 10);

            using (var ctx = new TestContext())
            {
                ctx.DbSetFilter <Inheritance_Interface_Entity>(QueryFilterHelper.Filter.Filter1, entities => entities.Where(x => x.ColumnInt != 1));
                ctx.DbSetFilter <Inheritance_Interface_IEntity>(QueryFilterHelper.Filter.Filter2, entities => entities.Where(x => x.ColumnInt != 2));
                ctx.DbSetFilter <Inheritance_Interface_Base>(QueryFilterHelper.Filter.Filter3, entities => entities.Where(x => x.ColumnInt != 3));
                ctx.DbSetFilter <Inheritance_Interface_IBase>(QueryFilterHelper.Filter.Filter4, entities => entities.Where(x => x.ColumnInt != 4));

                Assert.AreEqual(35, ctx.Inheritance_Interface_Entities.Sum(x => x.ColumnInt));
            }
        }
예제 #5
0
        public void WithInstanceFilter_ManyFilter_Exclude()
        {
            TestContext.DeleteAll(x => x.Inheritance_Interface_Entities);
            TestContext.Insert(x => x.Inheritance_Interface_Entities, 10);

            using (var ctx = new TestContext())
            {
                ctx.DbSetFilter <Inheritance_Interface_Entity>(QueryFilterHelper.Filter.Filter1, entities => entities.Where(x => x.ColumnInt != 1), false);
                ctx.DbSetFilter <Inheritance_Interface_IEntity>(QueryFilterHelper.Filter.Filter2, entities => entities.Where(x => x.ColumnInt != 2), false);
                ctx.DbSetFilter <Inheritance_Interface_Base>(QueryFilterHelper.Filter.Filter3, entities => entities.Where(x => x.ColumnInt != 3), false);
                ctx.DbSetFilter <Inheritance_Interface_IBase>(QueryFilterHelper.Filter.Filter4, entities => entities.Where(x => x.ColumnInt != 4), false);

                ctx.DbSetFilter(QueryFilterHelper.Filter.Filter1).Enable();
                ctx.DbSetFilter(QueryFilterHelper.Filter.Filter2).Enable();
                ctx.DbSetFilter(QueryFilterHelper.Filter.Filter3).Enable();
                ctx.DbSetFilter(QueryFilterHelper.Filter.Filter4).Enable();

                ctx.DbSetFilter(QueryFilterHelper.Filter.Filter2).Disable(typeof(Inheritance_Interface_IEntity));
                ctx.DbSetFilter(QueryFilterHelper.Filter.Filter3).Disable(typeof(Inheritance_Interface_Base));
                ctx.DbSetFilter(QueryFilterHelper.Filter.Filter4).Disable(typeof(Inheritance_Interface_IBase));

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