public async Task <Guid> CreateACoupon(CreateCouponRequest request)
        {
            var json    = JsonConvert.SerializeObject(request);
            var content = new StringContent(json, Encoding.UTF8, "application/json");

            var response = await client.PostAsync(new Uri("/coupon", UriKind.Relative), content);

            var  body = JsonConvert.DeserializeObject <dynamic>(await response.Content.ReadAsStringAsync());
            Guid id   = body.id;

            return(id);
        }
Exemplo n.º 2
0
        /// <summary>
        /// This Async service For Creating a Discount Coupon.
        /// </summary>
        /// <exception cref="GameballException">Thrown if the request fails..</exception>
        public async Task <CreateCouponResponse> CreateDiscountCouponAsync(CreateCouponRequest coupon)
        {
            coupon.Validate();
            coupon.TransactionTime = DateTime.UtcNow;
            string hash = GameballUtils.GetSHA1(coupon.PlayerUniqueId, TransactionKey);

            coupon.Hash = hash;
            var response = await this.Client.PostAsync(ApiBase + GameballConstants.Coupon, new StringContent(coupon.Serialize(), Encoding.UTF8, "application/json"));

            if (!response.IsSuccessStatusCode)
            {
                throw (BuildGameballException(response));
            }
            else
            {
                return(JsonConvert.DeserializeObject <CreateCouponResponse>(await response.Content.ReadAsStringAsync()));
            }
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Create([FromBody] CreateCouponRequest CouponRequst)
        {
            var coupon = new Coupon
            {
                Code       = CouponRequst.Code,
                Status     = CouponRequst.Status,
                Quantity   = CouponRequst.Quantity,
                Type       = CouponRequst.Type,
                Amount     = CouponRequst.Amount,
                Percentage = CouponRequst.Percentage,
                CreateAt   = DateTime.Now,
                CreateBy   = CouponRequst.CreateBy
            };

            var status = await _couponService.CreateCouponAsync(coupon);

            if (status == -1)
            {
                return(Conflict(new ErrorResponse
                {
                    message = "Dublicate Entry",
                    status = Conflict().StatusCode
                }));
            }

            if (status == 1)
            {
                var response = new  {
                    status  = Ok().StatusCode,
                    message = "Successfully Add"
                };
                return(Ok(response));
            }
            return(NotFound(new ErrorResponse
            {
                message = "Not Found",
                status = NotFound().StatusCode
            }));
        }