Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/12/11 04:10:13 (14 years ago)
Author:
swagner
Message:

Worked on OKB (#1174)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/ResultBoolValueValueFilter.cs

    r5269 r5286  
    2020#endregion
    2121
     22using System;
    2223using System.Linq;
     24using System.Linq.Expressions;
    2325using HeuristicLab.Services.OKB.DataAccess;
    2426
     
    2830    public DataTransfer.EqualityComparison Comparison { get; set; }
    2931    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    }
    3045
    3146    public ResultBoolValueValueFilter(string name, DataTransfer.EqualityComparison comparison, bool value) {
     
    3954      Value = filter.Value;
    4055    }
    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     }
    5256  }
    5357}
Note: See TracChangeset for help on using the changeset viewer.