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());
 }