private static List <Job2> CallJobFilter(JobSourceAdapter sourceAdapter, object filter, FilterType filterType, bool recurse) { IList <Job2> jobsByCommand; List <Job2> list = new List <Job2>(); switch (filterType) { case FilterType.Command: jobsByCommand = sourceAdapter.GetJobsByCommand((string)filter, recurse); break; case FilterType.Filter: jobsByCommand = sourceAdapter.GetJobsByFilter((Dictionary <string, object>)filter, recurse); break; case FilterType.Name: jobsByCommand = sourceAdapter.GetJobsByName((string)filter, recurse); break; case FilterType.State: jobsByCommand = sourceAdapter.GetJobsByState((JobState)filter, recurse); break; default: jobsByCommand = sourceAdapter.GetJobs(); break; } if (jobsByCommand != null) { list.AddRange(jobsByCommand); } return(list); }
/// <summary> /// Gets a filtered list of jobs from the given JobSourceAdapter. /// </summary> /// <param name="sourceAdapter">JobSourceAdapter to query.</param> /// <param name="filter">Filter object.</param> /// <param name="filterType">Filter type.</param> /// <param name="recurse"></param> /// <returns>List of jobs from sourceAdapter filtered on filterType.</returns> /// <exception cref="Exception">Throws exception on error from JobSourceAdapter /// implementation.</exception> private static List <Job2> CallJobFilter(JobSourceAdapter sourceAdapter, object filter, FilterType filterType, bool recurse) { List <Job2> jobs = new List <Job2>(); IList <Job2> matches; switch (filterType) { case FilterType.Command: matches = sourceAdapter.GetJobsByCommand((string)filter, recurse); break; case FilterType.Filter: matches = sourceAdapter.GetJobsByFilter((Dictionary <string, object>)filter, recurse); break; case FilterType.Name: matches = sourceAdapter.GetJobsByName((string)filter, recurse); break; case FilterType.State: matches = sourceAdapter.GetJobsByState((JobState)filter, recurse); break; case FilterType.None: default: matches = sourceAdapter.GetJobs(); break; } if (matches != null) { jobs.AddRange(matches); } return(jobs); }