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));
        }
예제 #2
0
        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);
        }