public ActionResult JobSeekerSearch(JobSeekerSearchExampleViewModel model)
        {
            if (model != null && model.JobseekerSearch != null)
            {
                var list = JobseekerSearchService.SearchJobSeeker(ExampleMapper.MapToJobSeekerSearchModel(model.JobseekerSearch));
                if (list != null && list.Any())
                {
                    model.JobSeekerResults = new List <JobSeekerModelList>();

                    foreach (var record in list)
                    {
                        model.JobSeekerResults.Add(ExampleMapper.MapToJobSeekerModelList(record));
                    }
                }
                else
                {
                    AddInformationMessage("No records found.");
                }
            }
            return(View(model));
        }
        public ActionResult JobseekerSearch(string text, int page)
        {
            var model = JobseekerSearchService.SearchJobSeeker(text);
            var data  = model.ToAjaxJobseekerSearchViewModelList(); // map to AjaxJobseekerSearchViewModel.

            // Return empty result if no data matches were found
            if (data == null || !data.Any(m => !string.IsNullOrWhiteSpace(m.FirstName)))
            {
                return(new JsonResult {
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new { result = Enumerable.Empty <AjaxJobseekerSearchViewModel>(), more = false }
                });
            }

            var ajaxSelectionPageSize = 10;
            var total = data.Count();
            var more  = total > 0 && (page * ajaxSelectionPageSize) < total;

            // page value starts at 1. so if page = 1, then we need to return first 10 records.
            data = data.Skip((page - 1) * ajaxSelectionPageSize).Take(ajaxSelectionPageSize);

            return(new JsonResult {
                JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new { result = data, more }
            });
        }