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());
        }
示例#2
0
 public ICollection <Application> Get([FromQuery] GetObjectsByIdDTO request, string type)
 {
     return(_applicationsService.GetAllApplications(request, type, null));
 }