Exemplo n.º 1
0
        public async Task <IHttpActionResult> Get([FromUri] DiscountQuery query)
        {
            IHttpActionResult res = BadRequest();
            var serviceRes        = await _discountService.Get(new DiscountListRequest()
            {
                Query        = query ?? new DiscountQuery(),
                RequestOwner = this.User
            });

            if (serviceRes.Access == ResponseAccess.Deny)
            {
                res = Unauthorized(serviceRes.Message);
            }

            if (serviceRes.Access == ResponseAccess.Granted)
            {
                res = Ok(serviceRes);
            }

            return(res);
        }
        public static IQueryable <Discount> FilterByQuery(this IQueryable <Discount> discounts, DiscountQuery query)
        {
            if (!string.IsNullOrEmpty(query.Name))
            {
                discounts = discounts.Where(x => x.Name.Contains(query.Name));
            }
            if (!string.IsNullOrEmpty(query.CouponCode))
            {
                discounts = discounts.Where(x => x.CouponCode.Contains(query.CouponCode));
            }
            if (query.DiscountType.HasValue)
            {
                discounts = discounts.Where(x => x.DiscountType == query.DiscountType);
            }

            return(discounts);
        }