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()); }
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); } }