public async Task <UseCaseResult <IEnumerable <JobModel> > > Handle(GetJobs request, CancellationToken cancellationToken) { try { return(await Task.Run(() => { var query = _jobRepository.All(); if (!string.IsNullOrEmpty(request.UserId)) { query = query.Where(j => j.UserId == request.UserId); } else if (!string.IsNullOrEmpty(request.BusinessId)) { query = query.Where(b => b.Quotes.Any(q => q.QuotedByBusinessId == Guid.Parse(request.BusinessId))); } if (request.Page.HasValue && request.Size.HasValue) { query = query.Skip(request.Page.Value *request.Size.Value).Take(request.Size.Value); } else { // limit results to 500 query.Take(500); } return UseCaseResult <IEnumerable <JobModel> > .Create(_mapper.Map <IEnumerable <JobModel> >(query.ToList()), resultText: "GetBusinesses"); })); } catch (Exception e) { _logger.LogError(e, ""); return(UseCaseResult <IEnumerable <JobModel> > .CreateError(resultText : e.Message)); } }
public async Task <ICollection <Job> > Fetch() { using (dbContextScopeFactory.CreateReadOnly()) { return(await jobRepository.All()); } }
public async Task <UseCaseResult <JobModel> > Handle(GetJob request, CancellationToken cancellationToken) { try { return(await Task.Run(() => { var job = _jobRepository.All().Where(j => j.Id == request.Id).SingleOrDefault(); if (job != null) { return UseCaseResult <JobModel> .Create(_mapper.Map <JobModel>(job), resultText: "Get Business"); } // else throw new Exception("Record not found."); })); } catch (Exception e) { return(UseCaseResult <JobModel> .CreateError(resultText : e.Message)); } }
public IEnumerable <Job> GetAllJobs() { return(_jobRepository.All().OrderBy(x => x.Name)); }