public async Task <QueryResultDto <JobApplicationDto, JobApplicationFilterDto> > GetApplicationsForFilter(JobApplicationFilterDto filter) { using (UnitOfWorkProvider.Create()) { return(await jobApplicationService.GetByFilter(filter)); } }
protected override IQuery <JobApplication> ApplyWhereClause(IQuery <JobApplication> query, JobApplicationFilterDto filter) { var definedPredicates = new List <IPredicate>(); if (filter.JobOfferId != null) { definedPredicates.Add(new SimplePredicate(nameof(JobApplication.JobOfferId), ValueComparingOperator.Equal, filter.JobOfferId)); } if (filter.ApplicantId != null) { definedPredicates.Add(new SimplePredicate(nameof(JobApplication.ApplicantId), ValueComparingOperator.Equal, filter.ApplicantId)); } if (filter.JobApplicationStatus != null) { definedPredicates.Add(new SimplePredicate(nameof(JobApplication.JobApplicationStatus), ValueComparingOperator.Equal, filter.JobApplicationStatus)); } return(MergePredicates(definedPredicates)); }