コード例 #1
0
        /// <summary>
        /// 列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public Task <List <TbkProductInfo> > CouponList(CouponListRequest request)
        {
            return(Task.Factory.StartNew(() =>
            {
                ProductCouponListResponse response = new HttpUtils().DoGet <ProductCouponListResponse>(ConstantsUtils.TAOBAO_API_COUPONLIST, new Dictionary <string, string>()
                {
                    { "queryCount", "500" },
                    { "pid", ConstantsUtils.TAOBAO_API_PID },
                    { "category", request.CategoryId.ToString() },
                    { "_", DateTime.Now.Ticks.ToString() }
                });

                if (null != response && response.Result != null && response.Result.CouponList != null)
                {
                    return response.Result.CouponList
                    .Select(coupon => new TbkProductInfo()
                    {
                        SPID = coupon.Item.ItemId,
                        CP = coupon.Amount.ToString(),
                        FP = (coupon.Item.DiscountPrice - coupon.Amount).NoZeroString(),
                        PTLX = coupon.Item.Tmall,
                        SPJG = coupon.Item.DiscountPrice.ToString(),
                        SPMC = coupon.Item.Title,
                        SPYHQTGLJ = ToolUtils.GetHttpsUrl(coupon.Item.ShareUrl),
                        SPYXL = coupon.Item.Biz30Day,
                        SPZT = ToolUtils.GetThumbnail(coupon.Item.PicUrl),
                    }).ToList();
                }
                return new List <TbkProductInfo>();
            }));
        }
コード例 #2
0
        private async Task LoadMoreCoupons()
        {
            if (HasMoreCoupons)
            {
                await Task.Delay(200);

                PageIndex += 1;
                var couponListRequest = new CouponListRequest
                {
                    Page     = PageIndex,
                    PageSize = GlobalSettings.AppConst.PageSize
                };

                await WebRequestExecuter.Execute(async() => await _wooCommerceService.GetCoupons(couponListRequest), myCoupons =>
                {
                    if (myCoupons != null && myCoupons.Any())
                    {
                        foreach (var coupon in myCoupons)
                        {
                            MyCoupons.Add(coupon);
                        }

                        HasMoreCoupons = myCoupons.Count >= couponListRequest.PageSize ? true : false;
                    }
                    else
                    {
                        PageIndex     -= 1;
                        HasMoreCoupons = false;
                    }
                    return(Task.CompletedTask);
                });
            }
        }
コード例 #3
0
        /// <summary>
        /// 优惠券
        /// </summary>
        /// <param name="request">条件实体</param>
        /// <returns></returns>
        public CouponListResponse List(CouponListRequest request)
        {
            string             postData = JsonHelper.GetJson(request);
            CouponListResponse response = client.Execute(request, list, postData);

            return(response);
        }
コード例 #4
0
        public async Task <List <CouponModel> > GetCoupons(CouponListRequest couponListRequest)
        {
            var builder     = new UriBuilder(GlobalSettings.WooCommerceCouponEndpoint);
            var queryParams = couponListRequest.GetQueryString();

            builder.Query = queryParams;
            var uri = builder.ToString();

            return(await _requestService.GetAsync <List <CouponModel> >(uri, forcedRefresh : true));
        }
コード例 #5
0
        private async Task FetchCouponsAsync()
        {
            var couponListRequest = new CouponListRequest();

            couponListRequest.Page     = PageIndex;
            couponListRequest.PageSize = GlobalSettings.AppConst.PageSize;
            await WebRequestExecuter.Execute(async() => await _wooCommerceService.GetCoupons(couponListRequest), myCoupons =>
            {
                if (myCoupons != null && myCoupons.Any())
                {
                    MyCoupons      = new ObservableCollection <CouponModel>(myCoupons);
                    HasMoreCoupons = myCoupons.Count >= couponListRequest.PageSize ? true : false;
                }
                else
                {
                    HasMoreCoupons = false;
                }
                return(Task.CompletedTask);
            });
        }