コード例 #1
0
        public void request_generation()
        {
            const string expected = @"
                <CRMMessage language=""en_US"" currency=""DKK"">
                  <RequestSource name=""acme.com"" version=""1"" />
                  <RequestCode>PostAccountTransaction</RequestCode>
                  <Transaction>
                    <Type>6</Type>
                    <CustFriendlyDesc>Updated by test</CustFriendlyDesc>
                    <ProgramCode>EMPDISC</ProgramCode>
                    <AccountPOSRef>2200005</AccountPOSRef>
                    <TransDateTime>2019-10-08 11:11:01.8</TransDateTime>
                    <BusinessDate>2019-10-08</BusinessDate>
                    <CardPresent>0</CardPresent>
                    <LocalCurrencyISOCode>DKK</LocalCurrencyISOCode>
                    <TraceID>Ark70tecHQrIBCXrS81XW</TraceID>
                  </Transaction>
                </CRMMessage>";

            _transaction = _transaction
                           .WithTransactionDateTime(new DateTime(2019, 10, 8, 11, 11, 1, 800))
                           .WithBusinessDate(new DateTime(2019, 10, 08));

            var request    = new PostAccountTransactionRequest("acme.com", _transaction);
            var requestXml = request.BuildRequestDocument();

            Assert.Equal(XE.Parse(expected).ToString(), requestXml.ToString());
        }
コード例 #2
0
        public async Task <PostAccountTransactionResponse> PostAccountTransactionAsync(TransactionBuilder builder, CancellationToken cancellationToken = default)
        {
            try
            {
                var request     = new PostAccountTransactionRequest(_options.CustomerRelationshipManagementOperations.RequestSourceName, builder);
                var requestXml  = request.BuildRequestDocument();
                var responseXml = await _executor.ExecuteAsync(requestXml, cancellationToken);

                return(new PostAccountTransactionResponse(requestXml, responseXml));
            }
            catch (OracleHospitalityClientException)
            {
                throw;
            }
            catch (Exception e)
            {
                throw new OracleHospitalityClientException($"{RequestCode.Kind.PostAccountTransaction} operation failed", e);
            }
        }