public IActionResult Search([FromBody] SearchRewardPackageOptions options) { var rewardPackages = rewardPackageService .SearchRewardPackage(options) .ToList(); if (!rewardPackages.Any()) { return(NotFound()); } if (rewardPackages == null) { return(BadRequest()); } return(Json(rewardPackages)); }
public IQueryable <RewardPackage> SearchRewardPackage(SearchRewardPackageOptions options) { if (options == null) { return(null); } var query = context_ .Set <RewardPackage>() .AsQueryable(); if (options.RewardPackageId != null) { query = query.Where(rp => rp.RewardPackageId == options.RewardPackageId.Value); } if (options.Amount != null) { query = query.Where(rp => rp.Amount == options.Amount.Value); } if (!string.IsNullOrWhiteSpace(options.Description)) { query = query.Where(rp => rp.Description == options.Description); } if (!string.IsNullOrWhiteSpace(options.Name)) { query = query.Where(rp => rp.Name == options.Name); } query = query .Include(x => x.Rewards) .Take(500); return(query); }