private static bool AssetsFilter(ScenarioModel scenario, ScenarioFilterModel filter) { // The filters always are set to true, so we select the item if nothing is set, once a filter has a non-default value, it must cause a match, else it fails. if (scenario == null || filter == null) { return(false); } var output = Converters.EvaluateLocationFilter(filter.IsPackedFilter, filter.IsNotValidFilter, scenario.IsPacked, scenario.IsNotValid); if (output) { output = Converters.EvaluateTextFilter(filter.ScenarioTitleFilter, scenario.ScenarioTitle); } else { return(false); } if (output) { output = Converters.EvaluateTextFilter(filter.PackFilter, scenario.Pack); } else { return(false); } if (output) { output = Converters.EvaluateTextFilter(filter.ScenarioClassFilter, scenario.ScenarioClass); } else { return(false); } return(output); }
public static List <ScenarioModel> ApplyAssetsFilter(List <ScenarioModel> scenarioList, ScenarioFilterModel filter) { return(scenarioList.Where(p => AssetsFilter(p, filter)).ToList()); }