Skip to content

Commit 71349ea

Browse files
Merge pull request #787 from TransactionProcessing/bug/#783_statement_date_issues
Bug/#783 statement date issues
2 parents 506e69e + e8333f8 commit 71349ea

File tree

5 files changed

+23
-29
lines changed

5 files changed

+23
-29
lines changed

TransactionProcessor.DataTransferObjects/DataTransferObject.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,15 @@ public class DataTransferObject
3131
[JsonProperty("merchant_id")]
3232
public Guid MerchantId { get; set; }
3333

34+
/// <summary>
35+
/// Gets or sets the transaction date time.
36+
/// </summary>
37+
/// <value>
38+
/// The transaction date time.
39+
/// </value>
40+
[JsonProperty("transaction_date_time")]
41+
public DateTime TransactionDateTime { get; set; }
42+
3443
#endregion
3544
}
3645
}

TransactionProcessor.DataTransferObjects/LogonTransactionRequest.cs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,7 @@ public class LogonTransactionRequest : DataTransferObject
2020
/// </value>
2121
[JsonProperty("device_identifier")]
2222
public String DeviceIdentifier { get; set; }
23-
24-
/// <summary>
25-
/// Gets or sets the transaction date time.
26-
/// </summary>
27-
/// <value>
28-
/// The transaction date time.
29-
/// </value>
30-
[JsonProperty("transaction_date_time")]
31-
public DateTime TransactionDateTime { get; set; }
32-
23+
3324
/// <summary>
3425
/// Gets or sets the transaction number.
3526
/// </summary>

TransactionProcessor.DataTransferObjects/ReconciliationRequest.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,6 @@ public class ReconciliationRequest : DataTransferObject
4141
[JsonProperty("transaction_count")]
4242
public Int32 TransactionCount { get; set; }
4343

44-
/// <summary>
45-
/// Gets or sets the transaction date time.
46-
/// </summary>
47-
/// <value>
48-
/// The transaction date time.
49-
/// </value>
50-
[JsonProperty("transaction_date_time")]
51-
public DateTime TransactionDateTime { get; set; }
52-
5344
/// <summary>
5445
/// Gets or sets the transaction value.
5546
/// </summary>

TransactionProcessor.DataTransferObjects/SaleTransactionRequest.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,7 @@ public class SaleTransactionRequest : DataTransferObject
2727

2828
[JsonProperty("product_id")]
2929
public Guid ProductId { get; set; }
30-
31-
[JsonProperty("transaction_date_time")]
32-
public DateTime TransactionDateTime { get; set; }
33-
30+
3431
[JsonProperty("transaction_number")]
3532
public String TransactionNumber { get; set; }
3633

TransactionProcessor/Controllers/TransactionController.cs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,11 @@
44

55
namespace TransactionProcessor.Controllers
66
{
7-
using System;
8-
using System.Collections.Generic;
9-
using System.Diagnostics.CodeAnalysis;
10-
using System.Threading;
11-
using System.Threading.Tasks;
127
using BusinessLogic.Requests;
138
using Common.Examples;
149
using DataTransferObjects;
1510
using Factories;
11+
using Humanizer;
1612
using MediatR;
1713
using Microsoft.AspNetCore.Authorization;
1814
using Microsoft.AspNetCore.Mvc;
@@ -21,6 +17,11 @@ namespace TransactionProcessor.Controllers
2117
using Shared.General;
2218
using Swashbuckle.AspNetCore.Annotations;
2319
using Swashbuckle.AspNetCore.Filters;
20+
using System;
21+
using System.Collections.Generic;
22+
using System.Diagnostics.CodeAnalysis;
23+
using System.Threading;
24+
using System.Threading.Tasks;
2425

2526
/// <summary>
2627
///
@@ -81,8 +82,13 @@ public async Task<IActionResult> PerformTransaction([FromBody] SerialisedMessage
8182
{
8283
TypeNameHandling = TypeNameHandling.Auto
8384
});
85+
8486
dto.MerchantId = merchantId;
8587
dto.EstateId = estateId;
88+
if (dto.TransactionDateTime.Kind == DateTimeKind.Utc)
89+
{
90+
dto.TransactionDateTime = new DateTime(dto.TransactionDateTime.Ticks, DateTimeKind.Unspecified);
91+
}
8692

8793
Result<SerialisedMessage> transactionResult = dto switch {
8894
LogonTransactionRequest ltr => await this.ProcessSpecificMessage(ltr, cancellationToken),
@@ -124,7 +130,7 @@ private async Task<Result<SerialisedMessage>> ProcessSpecificMessage(LogonTransa
124130
CancellationToken cancellationToken)
125131
{
126132
Guid transactionId = Guid.NewGuid();
127-
133+
128134
TransactionCommands.ProcessLogonTransactionCommand command = new(transactionId,
129135
logonTransactionRequest.EstateId,
130136
logonTransactionRequest.MerchantId,

0 commit comments

Comments
 (0)