static void MergeFilters(JobAlertEditFilterItem filterItem, List <string> values) { if (filterItem != null) { if (values != null && values.Count > 0) { if (values.Contains(filterItem.ID)) { filterItem.Selected = true; values.Remove(filterItem.ID); } else { return; } if (filterItem.Filters != null && filterItem.Filters.Count > 0) { foreach (var item in filterItem.Filters) { MergeFilters(item, values); } } } } }
static dynamic MapJobAlertFilterToClassification(JobAlertEditFilterItem filterItem) { if (filterItem != null && filterItem.Selected) { dynamic obj = new ExpandoObject(); obj.TargetValue = filterItem.ID; if (filterItem.Filters != null && filterItem.Filters.Count > 0) { obj.SubTargets = new List <dynamic>(); foreach (var item in filterItem.Filters) { dynamic temp = new ExpandoObject(); var subTargets = MapJobAlertFilterToClassification(item); if (subTargets != null) { obj.SubTargets.Add(subTargets); } } } return(obj); } else { return(null); } }