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)); }
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)); }
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)); }
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)); }
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>()); }
public IQueryable <T> All() { return(_service.All().Where(CastRemoverVisitor <ITenant> .Convert(_filter))); }
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)); }
public T Find(ISpecification <T> criteria) { criteria = ((Specification <T>)criteria).And(CastRemoverVisitor <ITenant> .Convert(_filter)); return(_service.Find(criteria)); }
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)); }
public T Find(Expression <Func <T, bool> > criteria) { criteria = new Specification <T>(CastRemoverVisitor <ITenant> .Convert(_filter)).And(criteria).Predicate; return(_service.Find(criteria)); }
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)); }
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>()); }