public void valid_transaction_element() { const string expected = @" <Transaction> <Type>5</Type> <CustFriendlyDesc>Updated by service</CustFriendlyDesc> <ProgramCode>EMPDISC</ProgramCode> <AccountPOSRef>2200005</AccountPOSRef> <TransDateTime>2019-10-07 13:38:20.1</TransDateTime> <BusinessDate>2019-10-07</BusinessDate> <CardPresent>0</CardPresent> <LocalCurrencyISOCode>DKK</LocalCurrencyISOCode> <TraceID>39WKty782jxDpEVg8glTuH</TraceID> </Transaction>"; var now = DateTime.Parse("2019-10-07T13:38:20.1"); using (new TimeProviderTestScope(() => now)) { var transaction = new CloseReopenTransactionBuilder() .WithType(Transaction.Type.Kind.CloseAccount) .WithCustomerFriendlyDescription("Updated by service") .WithProgramCode("EMPDISC") .WithAccountPosRef("2200005") .WithTransactionDateTime(now) .WithBusinessDate(now) .WithCardPresent(false) .WithCurrency(Currency.Kind.DKK) .WithTraceId(new Guid("8802d123-fb71-4e3b-a940-0abc769fd767")) .Build(); Assert.Equal(XElement.Parse(expected).ToString(), transaction.ToString()); } }
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 RunAsync(PostAccountTransactionOptions o) { var transaction = new CloseReopenTransactionBuilder() .WithType(o.Type) .WithCustomerFriendlyDescription($"Updated by {Assembly.GetExecutingAssembly().GetName().Name}") .WithProgramCode(o.ProgramCode) .WithAccountPosRef(o.AccountPosRef); await _crmClient.PostAccountTransactionAsync(transaction); }
public PostAccountTransactionTests() { _options = Options.Create(A.OracleHospitalityClientOptions.Build()); _executorLogger = new Mock <ILogger <OracleHospitalityExecutor> >().Object; _transaction = new CloseReopenTransactionBuilder() .WithType(Type.Kind.ReopenAccount) .WithCustomerFriendlyDescription("Updated by test") .WithProgramCode("EMPDISC") .WithAccountPosRef("2200005") .WithTraceId("Ark70tecHQrIBCXrS81XW"); }
private async Task <PostAccountTransactionResponse> FlipAccountState(CrmClient client, GetCustomerResponse customer, GetProgramResponse program) { var accountNumber = (string)customer.Rows[0].Columns["PRIMARYPOSREF"]; var accountState = (bool)customer.Rows[0].Columns["ACTIVE"]; var programCode = (string)program.Rows[0].Columns["PROGRAMCODE"]; var kind = accountState ? Type.Kind.CloseAccount : Type.Kind.ReopenAccount; var transaction = new CloseReopenTransactionBuilder() .WithType(kind) .WithCustomerFriendlyDescription("Updated by test") .WithProgramCode(programCode) .WithAccountPosRef(accountNumber); return(await client.PostAccountTransactionAsync(transaction)); }