コード例 #1
0
ファイル: JobManager.cs プロジェクト: modulexcite/pash-1
        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);
        }
コード例 #2
0
        /// <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);
        }