示例#1
0
        public async Task <List <JobMessage> > GetJobsAsync(JobSearchRequestMessage requestMessage)
        {
            var query = GenerateJobSearchQuery(requestMessage);

            var result = await query.Include(item => item.City)
                         .Include(item => item.DictionaryEmploymentType)
                         .Include(item => item.DictionaryJobCategory)
                         .ToListAsync();

            return(_mapper.Map <List <JobMessage> >(result));
        }
示例#2
0
        private IQueryable <Job> GenerateJobSearchQuery(JobSearchRequestMessage requestMessage)
        {
            var query = Context.Job.Where(item => item.IsActive && !item.IsDeleted);

            if (requestMessage.CityIds.Any())
            {
                query = query.Where(item => requestMessage.CityIds.Contains(item.CityId));
            }

            if (requestMessage.CategoryIds.Any())
            {
                query = query.Where(item => requestMessage.CategoryIds.Contains(item.DictionaryJobCategoryId));
            }

            if (requestMessage.EmploymentIds.Any())
            {
                query = query.Where(item => requestMessage.EmploymentIds.Contains(item.DictionaryEmploymentTypeId));
            }

            return(query);
        }