Example #1
0
        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());
     }
 }
Example #3
0
        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));
 }