コード例 #1
0
        public PagedResponse <JobvacanciesDto> Execute(JobvacanciesSearch search)
        {
            var query = _context.JobUsers
                        .Include(ju => ju.Job)
                        .Where(ju => ju.UserId == _actor.Id).AsQueryable();

            if (!string.IsNullOrEmpty(search.JobName) || !string.IsNullOrWhiteSpace(search.JobName))
            {
                query = query.Where(ju => ju.Job.JobName.ToLower().Contains(search.JobName.ToLower()));
            }

            var currentPage = search.Page;
            var perPage     = search.PerPage;

            var skip = perPage * (currentPage - 1);


            return(new PagedResponse <JobvacanciesDto>
            {
                CurrentPage = currentPage,
                ItemsPerPage = perPage,
                TotalCount = query.Count(),
                Items = query.Skip(skip).Take(perPage).Select(x => new JobvacanciesDto
                {
                    Id = x.Id,
                    JobId = x.JobId,
                    JobName = x.JobName,
                    JobDescription = x.JobDescription,
                    JobEndDate = x.Job.EndDate,
                    Status = (int)x.Status
                })
            });
        }
コード例 #2
0
 public IActionResult Get([FromServices] IGetUserJobvacancies query, [FromQuery] JobvacanciesSearch search)
 {
     return(Ok(_executor.ExecuteQuery(query, search)));
 }