コード例 #1
0
ファイル: JobData.cs プロジェクト: agfogle/TechJobsOO
        /**
         * Returns results of search the jobs data by key/value, using
         * inclusion of the search term.
         */
        public List <Job> FindByColumnAndValue(JobFieldType column, string value)
        {
            var results = from j in Jobs
                          where GetFieldByType(j, column).Contains(value)
                          select j;

            return(results.ToList());
        }
コード例 #2
0
        // Lists Jobs with a given field matching a given value
        public IActionResult Jobs(JobFieldType column, string value)
        {
            SearchJobsViewModel jobsViewModel = new SearchJobsViewModel();

            jobsViewModel.Jobs  = jobData.FindByColumnAndValue(column, value);
            jobsViewModel.Title = "Jobs with " + column + ": " + value;

            return(View(jobsViewModel));
        }
コード例 #3
0
ファイル: JobData.cs プロジェクト: Synchronik/TechJobsOO
        /**
         * Returns results of search the jobs data by key/value, using
         * inclusion of the search term.
         */
        public List <Job> FindByColumnAndValue(JobFieldType column, string value)
        {
            if (String.IsNullOrEmpty(value))
            {
                var results = Jobs;
                return(results.ToList());
            }
            else
            {
                var results = from j in Jobs
                              where GetFieldByType(j, column).Contains(value)
                              select j;

                return(results.ToList());
            }
        }
コード例 #4
0
        // Lists the values of a given column, or all jobs if selected
        public IActionResult Values(JobFieldType column)
        {
            if (column.Equals(JobFieldType.All))
            {
                SearchJobsViewModel jobsViewModel = new SearchJobsViewModel();
                jobsViewModel.Jobs  = jobData.Jobs;
                jobsViewModel.Title = "All Jobs";
                return(View("Jobs", jobsViewModel));
            }
            else
            {
                JobFieldsViewModel jobFieldsViewModel = new JobFieldsViewModel();

                IEnumerable <JobField> fields; //this is an instance of a list called fields, its data type is JobField
                //it will hold the jobs found from the search

                switch (column)
                {
                //switch cases that take a column type and adds all jobs in jobdata that match to a list
                //while converting it to a jobfield object

                case JobFieldType.Employer:
                    fields = jobData.Employers.ToList().Cast <JobField>();
                    break;

                case JobFieldType.Location:
                    fields = jobData.Locations.ToList().Cast <JobField>();
                    break;

                case JobFieldType.CoreCompetency:
                    fields = jobData.CoreCompetencies.ToList().Cast <JobField>();
                    break;

                case JobFieldType.PositionType:
                default:
                    fields = jobData.PositionTypes.ToList().Cast <JobField>();
                    break;
                }

                jobFieldsViewModel.Fields = fields; //view model that will take all the jobs found and pass it to view
                jobFieldsViewModel.Title  = "All " + column + " Values";
                jobFieldsViewModel.Column = column;

                return(View(jobFieldsViewModel));
            }
        }
コード例 #5
0
ファイル: ListController.cs プロジェクト: asjoseph/TechJobsOO
        // Lists the values of a given column, or all jobs if selected
        public IActionResult Values(JobFieldType column)
        {
            if (column.Equals(JobFieldType.All))
            {
                SearchJobsViewModel jobsViewModel = new SearchJobsViewModel
                {
                    Jobs  = jobData.Jobs,
                    Title = "All Jobs"
                };
                return(View("Jobs", jobsViewModel));
            }
            else
            {
                JobFieldsViewModel jobFieldsViewModel = new JobFieldsViewModel();

                IEnumerable <JobField> fields;

                switch (column)
                {
                case JobFieldType.Employer:
                    fields = jobData.Employers.ToList().Cast <JobField>();
                    break;

                case JobFieldType.Location:
                    fields = jobData.Locations.ToList().Cast <JobField>();
                    break;

                case JobFieldType.CoreCompetency:
                    fields = jobData.CoreCompetencies.ToList().Cast <JobField>();
                    break;

                case JobFieldType.PositionType:
                default:
                    fields = jobData.PositionTypes.ToList().Cast <JobField>();
                    break;
                }

                jobFieldsViewModel.Fields = fields;
                jobFieldsViewModel.Title  = "All " + column + " Values";
                jobFieldsViewModel.Column = column;

                return(View(jobFieldsViewModel));
            }
        }
コード例 #6
0
ファイル: JobData.cs プロジェクト: agfogle/TechJobsOO
        /**
         * Returns the JobField of the given type from the Job object,
         * for all types other than JobFieldType.All. In this case,
         * null is returned.
         */
        public static JobField GetFieldByType(Job job, JobFieldType type)
        {
            switch (type)
            {
            case JobFieldType.Employer:
                return(job.Employer);

            case JobFieldType.Location:
                return(job.Location);

            case JobFieldType.CoreCompetency:
                return(job.CoreCompetency);

            case JobFieldType.PositionType:
                return(job.PositionType);
            }

            throw new ArgumentException("Cannot get field of type: " + type);
        }
コード例 #7
0
 //constructor to assign default value to Column
 public SearchJobsViewModel(JobFieldType column = JobFieldType.All)
 {
     Column = column;
 }
コード例 #8
0
 public FacetableAttribute(string displayName, JobFieldType fieldDataType)
 {
     this.DisplayName   = displayName;
     this.FieldDataType = fieldDataType;
 }