- Timestamp:
- 01/12/11 04:10:13 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/ResultBoolValueValueFilter.cs
r5269 r5286 20 20 #endregion 21 21 22 using System; 22 23 using System.Linq; 24 using System.Linq.Expressions; 23 25 using HeuristicLab.Services.OKB.DataAccess; 24 26 … … 28 30 public DataTransfer.EqualityComparison Comparison { get; set; } 29 31 public bool Value { get; set; } 32 33 public Expression<Func<Run, bool>> Expression { 34 get { 35 switch (Comparison) { 36 case DataTransfer.EqualityComparison.Equal: 37 return x => x.ResultBoolValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && (y.Value == Value)); 38 case DataTransfer.EqualityComparison.NotEqual: 39 return x => x.ResultBoolValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && (y.Value != Value)); 40 default: 41 return x => true; 42 } 43 } 44 } 30 45 31 46 public ResultBoolValueValueFilter(string name, DataTransfer.EqualityComparison comparison, bool value) { … … 39 54 Value = filter.Value; 40 55 } 41 42 public IQueryable<Run> Apply(IQueryable<Run> source) {43 switch (Comparison) {44 case DataTransfer.EqualityComparison.Equal:45 return source.Where(x => x.ResultBoolValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && (y.Value == Value)));46 case DataTransfer.EqualityComparison.NotEqual:47 return source.Where(x => x.ResultBoolValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && (y.Value != Value)));48 default:49 return source;50 }51 }52 56 } 53 57 }
Note: See TracChangeset
for help on using the changeset viewer.