private async void getRestrauntCoupons()
        {
            await GetCouponsRequest.SendGetCouponsRequest();

            for (int i = 0; i < RealmManager.All <CouponsList>().First().Coupons.Count(); i++)
            {
                if (RealmManager.All <CouponsList>().First().Coupons[i].couponType == "Restaurant")
                {
                    coupons.Add(new Coupon(RealmManager.All <CouponsList>().First().Coupons[i]));
                }
            }
        }
Beispiel #2
0
        public async Task <GetCouponsResponse> GetCouponsAsync(string condition, ColumnValue[] columnValues, CancellationToken cancellationToken = default)
        {
            try
            {
                var request     = new GetCouponsRequest(_options.CustomerRelationshipManagementOperations.RequestSourceName, condition, columnValues);
                var requestXml  = request.BuildRequestDocument();
                var responseXml = await _executor.ExecuteAsync(requestXml, cancellationToken);

                return(new GetCouponsResponse(requestXml, responseXml));
            }
            catch (OracleHospitalityClientException)
            {
                throw;
            }
            catch (Exception e)
            {
                throw new OracleHospitalityClientException($"{RequestCode.Kind.GetCoupons} operation failed", e);
            }
        }
Beispiel #3
0
        public void request_generation()
        {
            const string expected = @"
                <CRMMessage language=""en_US"" currency=""DKK"">
                  <RequestSource name=""acme.com"" version=""1"" />
                  <RequestCode>GetCoupons</RequestCode>
                  <QueryCriteria conditions=""accountposref = ?"">
                    <Condition name=""accountposref"" value=""123"" />
                  </QueryCriteria>
                </CRMMessage>";

            var request = new GetCouponsRequest(
                "acme.com",
                "accountposref = ?",
                new[]
            {
                new ColumnValue("accountposref", "123")
            });
            var requestXml = request.BuildRequestDocument();

            Assert.Equal(XE.Parse(expected).ToString(), requestXml.ToString());
        }
Beispiel #4
0
        public override void Process(ServicePipelineArgs args)
        {
            // Below in lieu of PipelineUtility.ValidateArguments, which is used by Sitecore's Commerce.Engine.Connect processors, but is internal.
            GetCouponsRequest request = args.Request as GetCouponsRequest;
            GetCouponsResult  result  = args.Result as GetCouponsResult;

            Assert.IsNotNull(request, $"args.Request is null or not of type {nameof(GetCouponsRequest)}.");
            Assert.IsNotNull(result, $"args.Result is null or not of type {nameof(GetCouponsResult)}.");

            Container container = this.GetContainer(request.Shop.Name, string.Empty, request.CustomerId, "", args.Request.CurrencyCode, new DateTime?());


            EntityView entityView = this.GetEntityView(container, request.CustomerId, string.Empty, "LoyaltyCoupons", string.Empty, result);

            if (result == null || result.Success == false)
            {
                return;
            }

            var couponList = entityView.ChildViews.OfType <EntityView>().Where(v => v.Name == "Coupon").Select(ConvertEntityToCoupon).ToList();


            result.Coupons = couponList;
        }
Beispiel #5
0
        public async Task RefreshCouponList()
        {
            var validGetCouponRequest = await GetCouponsRequest.SendGetCouponsRequest();

            uxPromotionListView.ItemsSource = RealmManager.All <CouponList>().FirstOrDefault().coupons.ToList();
        }