示例#1
0
        public async Task UpdatePaymentByKeyChangeAmountPlanned()
        {
            await WithUpdateablePayment(client, async payment =>
            {
                var newAmountPlanned = Money.FromDecimal("EUR", TestingUtility.RandomInt(100, 10000));
                var action           = new ChangeAmountPlannedUpdateAction {
                    Amount = newAmountPlanned
                };

                var updatedPayment = await client
                                     .ExecuteAsync(payment.UpdateByKey(actions => actions.AddUpdate(action)));

                Assert.Equal(newAmountPlanned, updatedPayment.AmountPlanned);
                return(updatedPayment);
            });
        }
        public void UpdatePaymentByKeyChangeAmountPlanned()
        {
            IClient commerceToolsClient = this.paymentsFixture.GetService <IClient>();
            Payment payment             = this.paymentsFixture.CreatePayment();
            var     newAmountPlanned    = Money.FromDecimal("EUR", TestingUtility.RandomInt(100, 10000));

            var updateActions = new List <UpdateAction <Payment> >();
            ChangeAmountPlannedUpdateAction changeAmountPlannedUpdateAction = new ChangeAmountPlannedUpdateAction()
            {
                Amount = newAmountPlanned
            };

            updateActions.Add(changeAmountPlannedUpdateAction);

            Payment retrievedPayment = commerceToolsClient
                                       .ExecuteAsync(new UpdateByKeyCommand <Payment>(payment.Key, payment.Version, updateActions))
                                       .Result;

            this.paymentsFixture.PaymentsToDelete.Add(retrievedPayment);
            Assert.Equal(newAmountPlanned, retrievedPayment.AmountPlanned);
        }