Пример #1
0
        public override IEnumerable <T> FindAll <T>(ISpecification <T> criteria, int offset = 0, int limit = 0, Expression <Func <T, object> > orderBy = null)
        {
            if (!typeof(ISoftDelete).IsAssignableFrom(typeof(T)))
            {
                return(base.FindAll(criteria, offset, limit, orderBy));
            }

            Expression <Func <T, bool> > filter = e => !((ISoftDelete)e).IsDeleted;
            var spec  = ((Specification <T>)criteria).And(CastRemoverVisitor <ISoftDelete> .Convert(filter));
            var query = base.All <T>().Where(spec.Predicate);

            return(this.Page(query, offset, limit, orderBy));
        }
Пример #2
0
        public override IEnumerable <T> FindAll <T>(Expression <Func <T, bool> > criteria, int offset = 0, int limit = 0, Expression <Func <T, object> > orderBy = null)
        {
            if (!typeof(ITenant).IsAssignableFrom(typeof(T)))
            {
                return(base.FindAll(criteria, offset, limit, orderBy));
            }

            Expression <Func <T, bool> > filter = e => ((ITenant)e).TenantId == _owner.TenantId;
            var spec  = new Specification <T>(CastRemoverVisitor <ITenant> .Convert(filter)).And(criteria);;
            var query = base.All <T>().Where(spec.Predicate);

            return(this.Page(query, offset, limit, orderBy));
        }
Пример #3
0
        public override IList <T> Execute <T>(string command, ParamList parameters)
        {
            Expression <Func <T, bool> > filter = e => ((ITenant)e).TenantId == _owner.TenantId;

            return(typeof(ITenant).IsAssignableFrom(typeof(T)) ? base.Execute <T>(command, parameters).Where(CastRemoverVisitor <ITenant> .Convert(filter).Compile()).ToArray() : base.Execute <T>(command, parameters));
        }
Пример #4
0
        public override T Find <T>(Expression <Func <T, bool> > criteria)
        {
            Expression <Func <T, bool> > filter = e => ((ITenant)e).TenantId == _owner.TenantId;

            return(typeof(ITenant).IsAssignableFrom(typeof(T)) ? base.All <T>().Where(CastRemoverVisitor <ITenant> .Convert(filter)).FirstOrDefault(criteria) : base.Find(criteria));
        }
Пример #5
0
        public override IQueryable <T> All <T>()
        {
            Expression <Func <T, bool> > filter = e => ((ITenant)e).TenantId == _owner.TenantId;

            return(typeof(ITenant).IsAssignableFrom(typeof(T)) ? base.All <T>().Where(CastRemoverVisitor <ITenant> .Convert(filter)) : base.All <T>());
        }
Пример #6
0
 public IQueryable <T> All()
 {
     return(_service.All().Where(CastRemoverVisitor <ITenant> .Convert(_filter)));
 }
Пример #7
0
 public IEnumerable <T> FindAll(ISpecification <T> criteria, int offset = 0, int limit = 0, Sorting <T> orderBy = null)
 {
     criteria = ((Specification <T>)criteria).And(CastRemoverVisitor <ITenant> .Convert(_filter));
     return(_service.FindAll(criteria, offset, limit, orderBy));
 }
Пример #8
0
 public T Find(ISpecification <T> criteria)
 {
     criteria = ((Specification <T>)criteria).And(CastRemoverVisitor <ITenant> .Convert(_filter));
     return(_service.Find(criteria));
 }
Пример #9
0
 public IEnumerable <T> FindAll(Expression <Func <T, bool> > criteria, int offset = 0, int limit = 0, Sorting <T> orderBy = null)
 {
     criteria = new Specification <T>(CastRemoverVisitor <ITenant> .Convert(_filter)).And(criteria).Predicate;
     return(_service.FindAll(criteria, offset, limit, orderBy));
 }
Пример #10
0
 public T Find(Expression <Func <T, bool> > criteria)
 {
     criteria = new Specification <T>(CastRemoverVisitor <ITenant> .Convert(_filter)).And(criteria).Predicate;
     return(_service.Find(criteria));
 }
Пример #11
0
        public override T Find <T>(Expression <Func <T, bool> > criteria)
        {
            Expression <Func <T, bool> > filter = e => !((ISoftDelete)e).IsDeleted;

            return(typeof(ISoftDelete).IsAssignableFrom(typeof(T)) ? base.All <T>().Where(CastRemoverVisitor <ISoftDelete> .Convert(filter)).FirstOrDefault(criteria) : base.Find <T>(criteria));
        }
Пример #12
0
        public override IQueryable <T> All <T>()
        {
            Expression <Func <T, bool> > filter = e => !((ISoftDelete)e).IsDeleted;

            return(typeof(ISoftDelete).IsAssignableFrom(typeof(T)) ? base.All <T>().Where(CastRemoverVisitor <ISoftDelete> .Convert(filter)) : base.All <T>());
        }