Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. public class ReportQueryProvider<TCriteria, TModel> : IReportQueryProvider<TCriteria, TModel>
  2. where TModel : class, IReportable<TModel>
  3. where TCriteria : ReportCriteria
  4. {
  5. public Expression<Func<TModel, bool>> Filter(TCriteria criteria)
  6. {
  7. var a = PredicateBuilder.New<TModel>();
  8. if (criteria.StartDateObject!=null)
  9. a = a.And(x => x.date >= criteria.StartDateObject);
  10.  
  11. if (criteria.EndDateObject != null)
  12. a = a.And(x => x.date <= criteria.EndDateObject);
  13.  
  14. var userFilter = QueryExtensions.UserCommonFilter(criteria);
  15. a = a.And(m => userFilter.Invoke(m.FilterUser));
  16. return a;
  17. }
  18. }
  19.  
  20. public partial class Dis_UserTransactions : IReportable<Dis_UserTransactions>
  21. {
  22. private static readonly CompiledExpression<Dis_UserTransactions, User> filterUserExpression
  23. = DefaultTranslationOf<Dis_UserTransactions>.Property(e => e.FilterUser).Is(e => e.User1);
  24.  
  25. static Dis_UserTransactions()
  26. {
  27. }
  28.  
  29. [NotMapped]
  30. public User FilterUser => filterUserExpression.Evaluate(this);
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement