public static IQueryable <User> Filter(this IQueryable <User> query, UserQuerySearch criterias) { if (criterias.Email != null) { query = query.Where(user => user.Email == criterias.Email); } if (criterias.Id != null) { query = query.Where(user => user.Id == criterias.Id); } if (criterias.Name != null) { query = query.Where(user => user.Name == criterias.Name); } if (criterias.StartDate != null) { query = query.Where(user => user.StartDate >= criterias.StartDate); } if (criterias.EndDate != null) { query = query.Where(user => user.EndDate <= criterias.EndDate); } return(query); }
public IEnumerable <UserResponseDto> GetUser(UserQuerySearch criterias) { return(_context.User.AsQueryable() .Filter(criterias) .Select(u => new UserResponseDto { Email = u.Email, Id = u.Id, Name = u.Name, StartDate = u.StartDate.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture) }).ToList()); }