Beispiel #1
0
        public IQueryable <Reward> SearchReward(
            SearchRewardOptions options)
        {
            if (options == null)
            {
                return(null);
            }

            var query = context_
                        .Set <Reward>()
                        .AsQueryable();

            if (!string.IsNullOrWhiteSpace(options.Name))
            {
                query = query.Where(r => r.Name == options.Name);
            }

            if (options.RewardId != null)
            {
                query = query.Where(r => r.RewardId == options.RewardId.Value);
            }

            query = query.Take(500);

            return(query);
        }
        public IQueryable <Reward> SearchRewards(SearchRewardOptions options)
        {
            //if(options == null || !context_.Set<Reward>().Any()) an skasei pote apo adeia db
            var query = context_
                        .Set <Reward>()
                        .AsQueryable();

            if (options == null)
            {
                return(null);
            }


            if (options.ProjectId != null)
            {
                var project = projectService_.GetProjectById(options.ProjectId.Value).Data;

                query = query.Where(c => project.AvailableRewards.Contains(c)); // ferno ola ta available rewards
            }


            if (options.RewardId != null)
            {
                query = query.Where(r => r.RewardId == options.RewardId);  // filtraro analoga me to RewardId
            }

            query = query.Take(500);
            return(query);
        }
        public IActionResult Search([FromBody] SearchRewardOptions options)
        {
            var rewards = rewardService
                          .SearchReward(options)
                          .ToList();

            if (!rewards.Any())
            {
                return(NotFound());
            }

            if (rewards == null)
            {
                return(BadRequest());
            }

            return(Json(rewards));
        }