public ICollection <Application> GetAllApplications(GetObjectsByIdDTO request, string type, string userId = null) { var predicate = PredicateBuilder.New <Application>(true); if (!string.IsNullOrEmpty(request.Search)) { predicate.And(c => c.Email.Contains(request.Search, StringComparison.InvariantCultureIgnoreCase) || c.FirstName.Contains(request.Search, StringComparison.InvariantCultureIgnoreCase) || c.LastName.Contains(request.Search, StringComparison.InvariantCultureIgnoreCase) || c.Phone.Contains(request.Search, StringComparison.InvariantCultureIgnoreCase)); } if (!string.IsNullOrEmpty(userId)) { predicate.And(c => c.PostedBy == userId); } if (request.Id != null) { predicate.And(c => c.JobId == request.Id); } if (type == "new") { predicate.And(c => (int)c.Status <= 2); } else if (type == "selected") { predicate.And(c => (int)c.Status > 2); } predicate.And(c => !c.IsWithdrawn); return(_dbContext.Applications.Where(predicate.Compile()).Skip(request.Skip).Take(request.Take).ToList()); }
public ICollection <Application> Get([FromQuery] GetObjectsByIdDTO request, string type) { return(_applicationsService.GetAllApplications(request, type, null)); }