public Task <ListJobs> Handle(Query request, CancellationToken cancellationToken) { var descriptor = new SearchDescriptor <JobModel>().Take(10000); var queryBuilder = new QueryBuilder(); queryBuilder.JobTitle(request.Request.JobTitle); queryBuilder.LocationName(request.Request.LocationName); queryBuilder.MinimumSalary(request.Request.MinimumSalary); queryBuilder.MaximumSalary(request.Request.MaximumSalary); queryBuilder.Date(request.Request.Date); queryBuilder.PartTime(request.Request.PartTime); queryBuilder.FullTime(request.Request.FullTime); queryBuilder.ContractType(request.Request.ContractType); queryBuilder.EmployerName(request.Request.EmployerName); var boolQuery = queryBuilder.Build(); var queryResult = _config.ElClient().Search <JobModel>(descriptor.Query(q => boolQuery)); var result = queryResult.Documents.ToList(); var counters = _config.GetGeneral(result); return(Task.FromResult(new ListJobs { Lists = result, Count = result.Count(), Counters = counters })); }
public Task <JobModel> Handle(Query request, CancellationToken cancellationToken) { var descriptor = new SearchDescriptor <JobModel>().Take(20); var queryBuilder = new QueryBuilder(); queryBuilder.MatchId(request.Id); var boolQuery = queryBuilder.Build(); var queryResult = _config.ElClient().Search <JobModel>(descriptor.Query(q => boolQuery)); var result = queryResult.Documents.Take(1).ToList(); var job = new JobModel(); foreach (var x in result) { job = x; } return(Task.FromResult(job)); }