public static List <JobDto> JobListByFilters(JobFilters filters) { List <JobDto> JobDtos; filters.sendCV = filters.sendCV ?? new List <bool>(); filters.active = filters.active ?? new List <bool>(); filters.subjects = filters.subjects ?? new List <int>(); DateTime dateMonthAgo = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, DateTime.Now.Day); using (placementDepartmentDBEntities placementDepartmentDB = new placementDepartmentDBEntities()) { JobDtos = placementDepartmentDB.Job .Where(j => (!filters.sendCV.Any() || filters.sendCV.Contains(j.didSendCV)) && (!filters.active.Any() || filters.active.Contains(j.isActive)) && (filters.period == 0 || filters.period == 1 && j.dateReceived >= dateMonthAgo || filters.period == 2 && j.dateReceived >= filters.startDate && j.dateReceived <= filters.endDate) && (!filters.subjects.Any() || filters.subjects.Contains(j.subjectId)) ) .ProjectTo <JobDto>(AutoMapperConfiguration.config) .ToList(); return(JobDtos); } }
public List <JobDto> Get([FromUri] JobFilters filters) { if (filters == null) { return(Get()); } return(JobDtoManager.JobDtoListByFilters(filters)); }
public static ApiRes <JobDto> JobLazyList(JobFilters filters, string sort, int page, int size) { ApiRes <JobDto> res = new ApiRes <JobDto>(); sort = sort == " ," || sort == " , " ? "" : sort; filters.sendCV = filters.sendCV ?? new List <bool>(); filters.active = filters.active ?? new List <bool>(); filters.ReasonClosing = filters.ReasonClosing ?? new List <int>(); filters.subjects = filters.subjects ?? new List <int>(); filters.user = filters.user ?? new List <int>(); DateTime dateMonthAgo = DateTime.Now.AddMonths(-1); using (placementDepartmentDBEntities placementDepartmentDB = new placementDepartmentDBEntities()) { User cuser = placementDepartmentDB.User.Find(filters.curUserId); if (cuser.permissionId == 2) { filters.user = new List <int>(1) { cuser.Id } } ; res.items = placementDepartmentDB.Job .Where(j => ((cuser.permissionId == 1 && !filters.user.Any()) || filters.user.Contains(j.handlesId)) && (!filters.sendCV.Any() || filters.sendCV.Contains(j.didSendCV)) && (!filters.active.Any() || filters.active.Contains(j.isActive)) && (filters.period == 0 || filters.period == 1 && j.dateReceived >= dateMonthAgo || filters.period == 2 && j.dateReceived >= filters.startDate && j.dateReceived <= filters.endDate) && (!filters.ReasonClosing.Any() || filters.ReasonClosing.Contains(j.reasonForClosing.Value)) && (!filters.subjects.Any() || filters.subjects.Contains(j.subjectId)) ) .OrderBy(sort + "dateReceived desc") .Skip(page * size) .Take(size) .ProjectTo <JobDto>(AutoMapperConfiguration.config) .ToList(); res.totalCount = placementDepartmentDB.Job.Where(j => ((cuser.permissionId == 1 && !filters.user.Any()) || filters.user.Contains(j.handlesId)) && (!filters.sendCV.Any() || filters.sendCV.Contains(j.didSendCV)) && (!filters.active.Any() || filters.active.Contains(j.isActive)) && (filters.period == 0 || filters.period == 1 && j.dateReceived >= dateMonthAgo || filters.period == 2 && j.dateReceived >= filters.startDate && j.dateReceived <= filters.endDate) && (!filters.subjects.Any() || filters.subjects.Contains(j.subjectId)) ).Count(); return(res); } }
/// <summary> /// index页面展示 /// </summary> /// <param name="filters"></param> /// <returns></returns> public async Task <PagedResult <JobDto> > SearchJobsAsync(JobFilters filters) { if (filters == null) { return(new PagedResult <JobDto>()); } var query = _context.Jobs .WhereIf(filters.keywords.IsNotBlank(), x => (x.ReviceAccount.Contains(filters.keywords) || x.MessageContext.Contains(filters.keywords))); return(await query.OrderByDescending(x => x.CreateDateTime) .Select(item => new JobDto { Id = item.Id, ReviceAccount = item.ReviceAccount, JobReciveType = item.JobReciveType, MessageContext = item.MessageContext }).PagingAsync(filters.page, filters.rows)); }
public ApiRes <JobDto> Get(int page, int size, string sort, [FromUri] JobFilters filters) { filters.curUserId = Int32.Parse(HttpContext.Current.User.Identity.Name); return(JobDtoManager.JobDtoLazyList(filters, sort, page, size)); }
/// <summary> /// /// </summary> /// <param name="filters"></param> /// <returns></returns> public async Task <IActionResult> JobList(JobFilters filters) { var result = await _jobService.SearchJobsAsync(filters); return(Json(result)); }