Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ namespace TransactionProcessor.BusinessLogic.Tests.Services
using OperatorInterfaces;
using SecurityService.Client;
using SecurityService.DataTransferObjects.Responses;
using Shared.DomainDrivenDesign.EventStore;
using Shared.EventStore.EventStore;
using Shared.General;
using Shared.Logger;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
<PackageReference Include="Moq" Version="4.14.1" />
<PackageReference Include="Moq" Version="4.14.4" />
<PackageReference Include="Shouldly" Version="3.0.2" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.2">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
using Microsoft.EntityFrameworkCore.Internal;
using Models;
using OperatorInterfaces;
using Shared.DomainDrivenDesign.EventStore;
using Shared.EventStore.EventStore;
using TransactionAggregate;

Expand All @@ -20,21 +19,21 @@ public class TransactionAggregateManager : ITransactionAggregateManager
#region Fields

/// <summary>
/// The aggregate repository manager
/// The transaction aggregate repository
/// </summary>
private readonly IAggregateRepositoryManager AggregateRepositoryManager;
private readonly IAggregateRepository<TransactionAggregate> TransactionAggregateRepository;

#endregion

#region Constructors

/// <summary>
/// Initializes a new instance of the <see cref="TransactionAggregateManager"/> class.
/// Initializes a new instance of the <see cref="TransactionAggregateManager" /> class.
/// </summary>
/// <param name="aggregateRepositoryManager">The aggregate repository manager.</param>
public TransactionAggregateManager(IAggregateRepositoryManager aggregateRepositoryManager)
/// <param name="transactionAggregateRepository">The transaction aggregate repository.</param>
public TransactionAggregateManager(IAggregateRepository<TransactionAggregate> transactionAggregateRepository)
{
this.AggregateRepositoryManager = aggregateRepositoryManager;
this.TransactionAggregateRepository = transactionAggregateRepository;
}

#endregion
Expand All @@ -60,10 +59,7 @@ public async Task AuthoriseTransaction(Guid estateId,
String responseMessage,
CancellationToken cancellationToken)
{
IAggregateRepository<TransactionAggregate> transactionAggregateRepository =
this.AggregateRepositoryManager.GetAggregateRepository<TransactionAggregate>(estateId);

TransactionAggregate transactionAggregate = await transactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);
TransactionAggregate transactionAggregate = await this.TransactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);

transactionAggregate.AuthoriseTransaction(operatorIdentifier,
operatorResponse.AuthorisationCode,
Expand All @@ -73,7 +69,7 @@ public async Task AuthoriseTransaction(Guid estateId,
((Int32)transactionResponseCode).ToString().PadLeft(4, '0'),
responseMessage);

await transactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
await this.TransactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
}

/// <summary>
Expand All @@ -90,16 +86,13 @@ public async Task AuthoriseTransactionLocally(Guid estateId,
(String responseMessage, TransactionResponseCode responseCode) validationResult,
CancellationToken cancellationToken)
{
IAggregateRepository<TransactionAggregate> transactionAggregateRepository =
this.AggregateRepositoryManager.GetAggregateRepository<TransactionAggregate>(estateId);

TransactionAggregate transactionAggregate = await transactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);
TransactionAggregate transactionAggregate = await this.TransactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);

transactionAggregate.AuthoriseTransactionLocally(authorisationCode,
((Int32)validationResult.responseCode).ToString().PadLeft(4, '0'),
validationResult.responseMessage);

await transactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
await this.TransactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
}

/// <summary>
Expand All @@ -112,14 +105,11 @@ public async Task CompleteTransaction(Guid estateId,
Guid transactionId,
CancellationToken cancellationToken)
{
IAggregateRepository<TransactionAggregate> transactionAggregateRepository =
this.AggregateRepositoryManager.GetAggregateRepository<TransactionAggregate>(estateId);

TransactionAggregate transactionAggregate = await transactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);
TransactionAggregate transactionAggregate = await this.TransactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);

transactionAggregate.CompleteTransaction();

await transactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
await this.TransactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
}

/// <summary>
Expand All @@ -139,18 +129,15 @@ public async Task DeclineTransaction(Guid estateId,
String responseMessage,
CancellationToken cancellationToken)
{
IAggregateRepository<TransactionAggregate> transactionAggregateRepository =
this.AggregateRepositoryManager.GetAggregateRepository<TransactionAggregate>(estateId);

TransactionAggregate transactionAggregate = await transactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);
TransactionAggregate transactionAggregate = await this.TransactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);

transactionAggregate.DeclineTransaction(operatorIdentifier,
operatorResponse.ResponseCode,
operatorResponse.ResponseMessage,
((Int32)transactionResponseCode).ToString().PadLeft(4, '0'),
responseMessage);

await transactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
await this.TransactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
}

/// <summary>
Expand All @@ -165,14 +152,11 @@ public async Task DeclineTransactionLocally(Guid estateId,
(String responseMessage, TransactionResponseCode responseCode) validationResult,
CancellationToken cancellationToken)
{
IAggregateRepository<TransactionAggregate> transactionAggregateRepository =
this.AggregateRepositoryManager.GetAggregateRepository<TransactionAggregate>(estateId);

TransactionAggregate transactionAggregate = await transactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);
TransactionAggregate transactionAggregate = await this.TransactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);

transactionAggregate.DeclineTransactionLocally(((Int32)validationResult.responseCode).ToString().PadLeft(4, '0'), validationResult.responseMessage);

await transactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
await this.TransactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
}

/// <summary>
Expand All @@ -186,10 +170,7 @@ public async Task<TransactionAggregate> GetAggregate(Guid estateId,
Guid transactionId,
CancellationToken cancellationToken)
{
IAggregateRepository<TransactionAggregate> transactionAggregateRepository =
this.AggregateRepositoryManager.GetAggregateRepository<TransactionAggregate>(estateId);

TransactionAggregate transactionAggregate = await transactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);
TransactionAggregate transactionAggregate = await this.TransactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);
return transactionAggregate;
}

Expand All @@ -209,14 +190,11 @@ public async Task RecordAdditionalRequestData(Guid estateId,
{
if (additionalTransactionRequestMetadata != null && additionalTransactionRequestMetadata.Any())
{
IAggregateRepository<TransactionAggregate> transactionAggregateRepository =
this.AggregateRepositoryManager.GetAggregateRepository<TransactionAggregate>(estateId);

TransactionAggregate transactionAggregate = await transactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);
TransactionAggregate transactionAggregate = await this.TransactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);

transactionAggregate.RecordAdditionalRequestData(operatorIdentifier, additionalTransactionRequestMetadata);

await transactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
await this.TransactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
}
}

Expand All @@ -235,14 +213,11 @@ public async Task RecordAdditionalResponseData(Guid estateId,
{
if (additionalTransactionResponseMetadata != null && additionalTransactionResponseMetadata.Any())
{
IAggregateRepository<TransactionAggregate> transactionAggregateRepository =
this.AggregateRepositoryManager.GetAggregateRepository<TransactionAggregate>(estateId);

TransactionAggregate transactionAggregate = await transactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);
TransactionAggregate transactionAggregate = await this.TransactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);

transactionAggregate.RecordAdditionalResponseData(operatorIdentifier, additionalTransactionResponseMetadata);

await transactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
await this.TransactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
}
}

Expand All @@ -254,14 +229,11 @@ public async Task RecordAdditionalResponseData(Guid estateId,
/// <param name="cancellationToken">The cancellation token.</param>
public async Task RequestEmailReceipt(Guid estateId, Guid transactionId, String customerEmailAddress, CancellationToken cancellationToken)
{
IAggregateRepository<TransactionAggregate> transactionAggregateRepository =
this.AggregateRepositoryManager.GetAggregateRepository<TransactionAggregate>(estateId);

TransactionAggregate transactionAggregate = await transactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);
TransactionAggregate transactionAggregate = await this.TransactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);

transactionAggregate.RequestEmailReceipt(customerEmailAddress);

await transactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
await this.TransactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
}

/// <summary>
Expand All @@ -288,14 +260,11 @@ public async Task StartTransaction(Guid transactionId,
Decimal? transactionAmount,
CancellationToken cancellationToken)
{
IAggregateRepository<TransactionAggregate> transactionAggregateRepository =
this.AggregateRepositoryManager.GetAggregateRepository<TransactionAggregate>(estateId);

TransactionAggregate transactionAggregate = await transactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);
TransactionAggregate transactionAggregate = await this.TransactionAggregateRepository.GetLatestVersion(transactionId, cancellationToken);

transactionAggregate.StartTransaction(transactionDateTime, transactionNumber, transactionType, transactionReference, estateId, merchantId, deviceIdentifier, transactionAmount);

await transactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
await this.TransactionAggregateRepository.SaveChanges(transactionAggregate, cancellationToken);
}

#endregion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="EstateManagement.Client" Version="1.0.0.1" />
<PackageReference Include="EstateManagement.Client" Version="1.0.1" />
<PackageReference Include="SecurityService.Client" Version="1.0.0" />
<PackageReference Include="Shared" Version="0.0.14" />
<PackageReference Include="Shared.DomainDrivenDesign" Version="0.0.14" />
<PackageReference Include="Shared.EventStore" Version="0.0.14" />
<PackageReference Include="MediatR" Version="8.0.1" />
<PackageReference Include="Shared" Version="0.0.15.7" />
<PackageReference Include="Shared.DomainDrivenDesign" Version="0.0.15.7" />
<PackageReference Include="Shared.EventStore" Version="0.0.15.7" />
<PackageReference Include="MediatR" Version="8.0.2" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="ClientProxyBase" Version="0.0.14" />
<PackageReference Include="ClientProxyBase" Version="0.0.15.7" />
</ItemGroup>

<ItemGroup>
Expand Down
Loading