private IEnumerable <JobPost> GetFilteredPosts(JobAdFilterVM vm) { var placeId = JobCategoryUnitOfWork.GetPrimaryKeyValueByName <Place>(JobCategoryUnitOfWork.Places, m => m.Name == vm.Place, vm.Place); var contractId = JobCategoryUnitOfWork.GetPrimaryKeyValueByName <ContractType>(JobCategoryUnitOfWork.ContractTypes, m => m.Name == vm.ContractType, vm.ContractType); var salaryType = JobCategoryUnitOfWork.GetPrimaryKeyValueByName <SalaryType>(JobCategoryUnitOfWork.SalaryTypes, m => m.Name == vm.SalaryType, vm.SalaryType); var jobTypeId = JobCategoryUnitOfWork.GetPrimaryKeyValueByName <JobType>(JobCategoryUnitOfWork.JobTypes, m => m.Name == vm.JobType, vm.JobType); //default values for pageindex, and salarytypeId var salaryTypeId = salaryType == null ? 2 : salaryType.Value; var filteredPosts = JobPostUnitOfWork.JobPosts.GetFilteredPosts(placeId, contractId, vm.Salary, salaryTypeId, vm.Day, jobTypeId, vm.Keyword); return(filteredPosts); }
public GetJobAdVM GetAds(JobAdFilterVM vm, int pageIndex, GetJobAdVM getJobAdVM, string selectedPostId) { var filteredPosts = GetFilteredPosts(vm); var totalPostsCount = JobPostUnitOfWork.JobPosts.GetCountForJobPosts(filteredPosts); var pagedPosts = JobPostUnitOfWork.JobPosts.GetPagedPosts(pageIndex, PAGESIZE, filteredPosts); //postId starts from 1 so if this fails, it will return 0 then no match int decryptedSelectedPostId; base.ConvertToDecryptedPostId(selectedPostId, out decryptedSelectedPostId); getJobAdVM.PagedPosts = Mapper.JobPostsToJobAdPostVMs(pagedPosts, new List <JobAdPostVM>(), DESCRIPTIONSIZE, decryptedSelectedPostId); getJobAdVM.Pager = new Pager(totalPostsCount, pageIndex, PAGESIZE); return(getJobAdVM); }
public ActionResult GetJobAd(JobAdFilterVM filterVM, int pageIndex, string selectedPostId) { var getJobAdVM = JobAdService.GetAds(filterVM, pageIndex, new GetJobAdVM(), selectedPostId); return(Json(getJobAdVM, JsonRequestBehavior.AllowGet)); }