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/ProblemDataDataTypeNameFilter.cs

    r5269 r5286  
    2020#endregion
    2121
    22 using System.Linq;
     22using System;
     23using System.Linq.Expressions;
    2324using HeuristicLab.Services.OKB.DataAccess;
    2425
     
    2728    public DataTransfer.SetComparison Comparison { get; set; }
    2829    public string Value { get; set; }
     30
     31    public Expression<Func<Run, bool>> Expression {
     32      get {
     33        switch (Comparison) {
     34          case DataTransfer.SetComparison.Equal:
     35            return x => x.Experiment.Problem.ProblemData.DataType.Name == Value;
     36          case DataTransfer.SetComparison.NotEqual:
     37            return x => x.Experiment.Problem.ProblemData.DataType.Name != Value;
     38          case DataTransfer.SetComparison.Contains:
     39            return x => x.Experiment.Problem.ProblemData.DataType.Name.Contains(Value);
     40          case DataTransfer.SetComparison.NotContains:
     41            return x => !x.Experiment.Problem.ProblemData.DataType.Name.Contains(Value);
     42          default:
     43            return x => true;
     44        }
     45      }
     46    }
    2947
    3048    public ProblemDataDataTypeNameFilter(DataTransfer.SetComparison comparison, string value) {
     
    3654      Value = filter.Value;
    3755    }
    38 
    39     public IQueryable<Run> Apply(IQueryable<Run> source) {
    40       switch (Comparison) {
    41         case DataTransfer.SetComparison.Equal:
    42           return source.Where(x => x.Experiment.Problem.ProblemData.DataType.Name == Value);
    43         case DataTransfer.SetComparison.NotEqual:
    44           return source.Where(x => x.Experiment.Problem.ProblemData.DataType.Name != Value);
    45         case DataTransfer.SetComparison.Contains:
    46           return source.Where(x => x.Experiment.Problem.ProblemData.DataType.Name.Contains(Value));
    47         case DataTransfer.SetComparison.NotContains:
    48           return source.Where(x => !x.Experiment.Problem.ProblemData.DataType.Name.Contains(Value));
    49         default:
    50           return source;
    51       }
    52     }
    5356  }
    5457}
Note: See TracChangeset for help on using the changeset viewer.