Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ReportQueryProvider<TCriteria, TModel> : IReportQueryProvider<TCriteria, TModel>
- where TModel : class, IReportable<TModel>
- where TCriteria : ReportCriteria
- {
- public Expression<Func<TModel, bool>> Filter(TCriteria criteria)
- {
- var a = PredicateBuilder.New<TModel>();
- if (criteria.StartDateObject!=null)
- a = a.And(x => x.date >= criteria.StartDateObject);
- if (criteria.EndDateObject != null)
- a = a.And(x => x.date <= criteria.EndDateObject);
- var userFilter = QueryExtensions.UserCommonFilter(criteria);
- a = a.And(m => userFilter.Invoke(m.FilterUser));
- return a;
- }
- }
- public partial class Dis_UserTransactions : IReportable<Dis_UserTransactions>
- {
- private static readonly CompiledExpression<Dis_UserTransactions, User> filterUserExpression
- = DefaultTranslationOf<Dis_UserTransactions>.Property(e => e.FilterUser).Is(e => e.User1);
- static Dis_UserTransactions()
- {
- }
- [NotMapped]
- public User FilterUser => filterUserExpression.Evaluate(this);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement