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
4 changes: 3 additions & 1 deletion EstateManagementUI.BusinessLogic/Clients/ApiClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public async Task<Result> AssignDeviceToMerchant(String accessToken,
async Task<Result> ClientMethod()
{
AddMerchantDeviceRequest apiRequest = ModelFactory.ConvertFrom(assignDeviceToMerchantModel);

return await this.TransactionProcessorClient.AddDeviceToMerchant(accessToken, estateId, merchantId, apiRequest, cancellationToken);
}

Expand Down Expand Up @@ -131,6 +131,8 @@ public async Task<Result<EstateModel>> GetEstate(String accessToken,
Guid actionId,
Guid estateId,
CancellationToken cancellationToken) {
Logger.LogWarning("in GetEstate");

async Task<Result<EstateModel>> ClientMethod() {
Result<EstateResponse>? result = await this.TransactionProcessorClient.GetEstate(accessToken, estateId, cancellationToken);
if (result.IsFailed)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="FileProcessor.Client" Version="2025.3.2-build79" />
<PackageReference Include="FileProcessor.Client" Version="2025.7.2-build82" />
<PackageReference Include="MediatR" Version="12.5.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.5">
<PrivateAssets>all</PrivateAssets>
Expand All @@ -18,11 +18,11 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Shared" Version="2025.6.2" />
<PackageReference Include="Shared" Version="2025.7.10" />
<PackageReference Include="SimpleResults" Version="4.0.0" />
<PackageReference Include="sqlite-net-pcl" Version="1.9.172" />
<PackageReference Include="EstateReportingAPI.Client" Version="2025.3.2-build66" />
<PackageReference Include="TransactionProcessor.Client" Version="2025.5.2-build186" />
<PackageReference Include="EstateReportingAPI.Client" Version="2025.7.2-build69" />
<PackageReference Include="TransactionProcessor.Client" Version="2025.7.2-build189" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public EstateRequestHandler(IApiClient apiClient) {

public async Task<Result<EstateModel>> Handle(Queries.GetEstateQuery request,
CancellationToken cancellationToken) {
Result<EstateModel> model = await this.ApiClient.GetEstate(request.AccessToken, Guid.Empty, request.EstateId, cancellationToken);
Result<EstateModel> model = await this.ApiClient.GetEstate(request.AccessToken, request.CorrelationId.Value, request.EstateId, cancellationToken);
return model;
}
}
Expand Down
30 changes: 15 additions & 15 deletions EstateManagementUI.BusinessLogic/Requests/Commands.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,51 +7,51 @@ namespace EstateManagmentUI.BusinessLogic.Requests;

[ExcludeFromCodeCoverage]
public record Commands {
public record AddNewOperatorCommand(String AccessToken, Guid EstateId, Guid OperatorId, String OperatorName, Boolean RequireCustomMerchantNumber, Boolean RequireCustomTerminalNumber) : IRequest<Result>;
public record UpdateOperatorCommand(String AccessToken, Guid EstateId, Guid OperatorId, String OperatorName, Boolean RequireCustomMerchantNumber, Boolean RequireCustomTerminalNumber) : IRequest<Result>;
public record AddNewOperatorCommand(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Guid OperatorId, String OperatorName, Boolean RequireCustomMerchantNumber, Boolean RequireCustomTerminalNumber) : IRequest<Result>;
public record UpdateOperatorCommand(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Guid OperatorId, String OperatorName, Boolean RequireCustomMerchantNumber, Boolean RequireCustomTerminalNumber) : IRequest<Result>;

public record AddMerchantCommand(String AccessToken, Guid EstateId, CreateMerchantModel CreateMerchantModel) : IRequest<Result>;
public record AddMerchantCommand(CorrelationId CorrelationId, String AccessToken, Guid EstateId, CreateMerchantModel CreateMerchantModel) : IRequest<Result>;

public record UpdateMerchantCommand(String AccessToken, Guid EstateId,Guid MerchantId, UpdateMerchantModel UpdateMerchantModel) : IRequest<Result>;
public record UpdateMerchantCommand(CorrelationId CorrelationId, String AccessToken, Guid EstateId,Guid MerchantId, UpdateMerchantModel UpdateMerchantModel) : IRequest<Result>;

public record UpdateMerchantAddressCommand(String AccessToken, Guid EstateId, Guid MerchantId, AddressModel UpdatedAddressModel) : IRequest<Result>;
public record UpdateMerchantAddressCommand(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Guid MerchantId, AddressModel UpdatedAddressModel) : IRequest<Result>;

public record UpdateMerchantContactCommand(String AccessToken, Guid EstateId, Guid MerchantId, ContactModel UpdatedContactModel) : IRequest<Result>;
public record UpdateMerchantContactCommand(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Guid MerchantId, ContactModel UpdatedContactModel) : IRequest<Result>;

public record AssignOperatorToMerchantCommand(String AccessToken,
public record AssignOperatorToMerchantCommand(CorrelationId CorrelationId, String AccessToken,
Guid EstateId,
Guid MerchantId,
AssignOperatorToMerchantModel AssignOperatorRequestModel) : IRequest<Result>;

public record RemoveOperatorFromMerchantCommand(String AccessToken,
public record RemoveOperatorFromMerchantCommand(CorrelationId CorrelationId, String AccessToken,
Guid EstateId,
Guid MerchantId,
Guid OperatorId) : IRequest<Result>;

public record AssignContractToMerchantCommand(String AccessToken,
public record AssignContractToMerchantCommand(CorrelationId CorrelationId, String AccessToken,
Guid EstateId,
Guid MerchantId,
AssignContractToMerchantModel AssignContractToMerchantModel) : IRequest<Result>;

public record RemoveContractFromMerchantCommand(String AccessToken,
public record RemoveContractFromMerchantCommand(CorrelationId CorrelationId, String AccessToken,
Guid EstateId,
Guid MerchantId,
Guid ContractId) : IRequest<Result>;

public record CreateContractCommand(String AccessToken,
public record CreateContractCommand(CorrelationId CorrelationId, String AccessToken,
Guid EstateId,
CreateContractModel CreateContractModel) : IRequest<Result>;

public record MakeDepositCommand(String AccessToken,
public record MakeDepositCommand(CorrelationId CorrelationId, String AccessToken,
Guid EstateId,
Guid MerchantId,
MakeDepositModel MakeDepositModel) : IRequest<Result>;

public record CreateContractProductCommand(String AccessToken, Guid EstateId, Guid ContractId, CreateContractProductModel CreateContractProductModel) : IRequest<Result>;
public record CreateContractProductCommand(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Guid ContractId, CreateContractProductModel CreateContractProductModel) : IRequest<Result>;

public record CreateContractProductTransactionFeeCommand(String AccessToken, Guid EstateId, Guid ContractId, Guid ProductId, CreateContractProductTransactionFeeModel CreateContractProductTransactionFeeModel) : IRequest<Result>;
public record CreateContractProductTransactionFeeCommand(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Guid ContractId, Guid ProductId, CreateContractProductTransactionFeeModel CreateContractProductTransactionFeeModel) : IRequest<Result>;

public record AssignDeviceToMerchantCommand(String AccessToken,
public record AssignDeviceToMerchantCommand(CorrelationId CorrelationId, String AccessToken,
Guid EstateId,
Guid MerchantId,
AssignDeviceToMerchantModel AssignDeviceToMerchantModel) : IRequest<Result>;
Expand Down
65 changes: 41 additions & 24 deletions EstateManagementUI.BusinessLogic/Requests/Queries.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,52 +4,69 @@
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using EstateManagementUI.BusinessLogic.Models;
using Microsoft.AspNetCore.Http;
using SimpleResults;
using SQLitePCL;
using Shared.Logger.TennantContext;

namespace EstateManagmentUI.BusinessLogic.Requests {
public record CorrelationId(Guid Value);

public static class CorrelationIdHelper {
public static CorrelationId New(HttpContext context = null) {

Check warning on line 20 in EstateManagementUI.BusinessLogic/Requests/Queries.cs

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

EstateManagementUI.BusinessLogic/Requests/Queries.cs#L20

Use the overloading mechanism instead of the optional parameters.
CorrelationId c = new(Guid.NewGuid());
if (TenantContext.CurrentTenant != null) {
TenantContext.CurrentTenant.SetCorrelationId(c.Value);
if (context != null)
context.Items["correlationId"] = c.Value;
}
return new CorrelationId(Guid.NewGuid());
}
}

[ExcludeFromCodeCoverage]
public record Queries {
public record GetEstateQuery(String AccessToken, Guid EstateId) : IRequest<Result<EstateModel>>;
public record GetMerchantsQuery(String AccessToken, Guid EstateId) : IRequest<Result<List<MerchantModel>>>;
public record GetOperatorsQuery(String AccessToken, Guid EstateId) : IRequest<Result<List<OperatorModel>>>;
public record GetContractsQuery(String AccessToken, Guid EstateId) : IRequest<Result<List<ContractModel>>>;
public record GetOperatorQuery(String AccessToken, Guid EstateId, Guid OperatorId) : IRequest<Result<OperatorModel>>;
public record GetContractQuery(String AccessToken, Guid EstateId, Guid ContractId) : IRequest<Result<ContractModel>>;
public record GetFileImportLogsListQuery(String AccessToken, Guid EstateId, Guid MerchantId, DateTime StartDate, DateTime EndDate)
public record GetEstateQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId) : IRequest<Result<EstateModel>>;
public record GetMerchantsQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId) : IRequest<Result<List<MerchantModel>>>;
public record GetOperatorsQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId) : IRequest<Result<List<OperatorModel>>>;
public record GetContractsQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId) : IRequest<Result<List<ContractModel>>>;
public record GetOperatorQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Guid OperatorId) : IRequest<Result<OperatorModel>>;
public record GetContractQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Guid ContractId) : IRequest<Result<ContractModel>>;
public record GetFileImportLogsListQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Guid MerchantId, DateTime StartDate, DateTime EndDate)
: IRequest<Result<List<FileImportLogModel>>>;

public record GetFileImportLogQuery(String AccessToken, Guid EstateId, Guid MerchantId, Guid FileImportLogId)
public record GetFileImportLogQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Guid MerchantId, Guid FileImportLogId)
: IRequest<Result<FileImportLogModel>>;

public record GetFileDetailsQuery(String AccessToken, Guid EstateId, Guid FileId) : IRequest<Result<FileDetailsModel>>;
public record GetFileDetailsQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Guid FileId) : IRequest<Result<FileDetailsModel>>;

public record GetComparisonDatesQuery(String AccessToken, Guid EstateId) : IRequest<Result<List<ComparisonDateModel>>>;
public record GetComparisonDatesQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId) : IRequest<Result<List<ComparisonDateModel>>>;

public record GetTodaysSalesQuery(String AccessToken, Guid EstateId, DateTime ComparisonDate) : IRequest<Result<TodaysSalesModel>>;
public record GetTodaysSettlementQuery(String AccessToken, Guid EstateId, DateTime ComparisonDate) : IRequest<Result<TodaysSettlementModel>>;
public record GetTodaysSalesQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, DateTime ComparisonDate) : IRequest<Result<TodaysSalesModel>>;
public record GetTodaysSettlementQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, DateTime ComparisonDate) : IRequest<Result<TodaysSettlementModel>>;

public record GetTodaysSalesCountByHourQuery(String AccessToken, Guid EstateId, DateTime ComparisonDate) : IRequest<Result<List<TodaysSalesCountByHourModel>>>;
public record GetTodaysSalesValueByHourQuery(String AccessToken, Guid EstateId, DateTime ComparisonDate) : IRequest<Result<List<TodaysSalesValueByHourModel>>>;
public record GetTodaysSalesCountByHourQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, DateTime ComparisonDate) : IRequest<Result<List<TodaysSalesCountByHourModel>>>;
public record GetTodaysSalesValueByHourQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, DateTime ComparisonDate) : IRequest<Result<List<TodaysSalesValueByHourModel>>>;

public record GetMerchantKpiQuery(String AccessToken, Guid EstateId) : IRequest<Result<MerchantKpiModel>>;
public record GetMerchantKpiQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId) : IRequest<Result<MerchantKpiModel>>;

public record GetTodaysFailedSalesQuery(String AccessToken, Guid EstateId, String ResponseCode, DateTime ComparisonDate) : IRequest<Result<TodaysSalesModel>>;
public record GetTodaysFailedSalesQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, String ResponseCode, DateTime ComparisonDate) : IRequest<Result<TodaysSalesModel>>;

public record GetTopProductDataQuery(String AccessToken, Guid EstateId, Int32 ResultCount) : IRequest<Result<List<TopBottomProductDataModel>>>;
public record GetBottomProductDataQuery(String AccessToken, Guid EstateId, Int32 ResultCount) : IRequest<Result<List<TopBottomProductDataModel>>>;
public record GetTopProductDataQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Int32 ResultCount) : IRequest<Result<List<TopBottomProductDataModel>>>;
public record GetBottomProductDataQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Int32 ResultCount) : IRequest<Result<List<TopBottomProductDataModel>>>;

public record GetTopMerchantDataQuery(String AccessToken, Guid EstateId, Int32 ResultCount) : IRequest<Result<List<TopBottomMerchantDataModel>>>;
public record GetBottomMerchantDataQuery(String AccessToken, Guid EstateId, Int32 ResultCount) : IRequest<Result<List<TopBottomMerchantDataModel>>>;
public record GetTopMerchantDataQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Int32 ResultCount) : IRequest<Result<List<TopBottomMerchantDataModel>>>;
public record GetBottomMerchantDataQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Int32 ResultCount) : IRequest<Result<List<TopBottomMerchantDataModel>>>;

public record GetTopOperatorDataQuery(String AccessToken, Guid EstateId, Int32 ResultCount) : IRequest<Result<List<TopBottomOperatorDataModel>>>;
public record GetBottomOperatorDataQuery(String AccessToken, Guid EstateId, Int32 ResultCount) : IRequest<Result<List<TopBottomOperatorDataModel>>>;
public record GetTopOperatorDataQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Int32 ResultCount) : IRequest<Result<List<TopBottomOperatorDataModel>>>;
public record GetBottomOperatorDataQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Int32 ResultCount) : IRequest<Result<List<TopBottomOperatorDataModel>>>;

public record GetLastSettlementQuery(String AccessToken, Guid EstateId) : IRequest<Result<LastSettlementModel>>;
public record GetLastSettlementQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId) : IRequest<Result<LastSettlementModel>>;

public record GetMerchantQuery(String AccessToken, Guid EstateId, Guid MerchantId) : IRequest<Result<MerchantModel>>;
public record GetMerchantQuery(CorrelationId CorrelationId, String AccessToken, Guid EstateId, Guid MerchantId) : IRequest<Result<MerchantModel>>;
}
}
11 changes: 11 additions & 0 deletions EstateManagementUI.IntegrationTests/Common/DockerHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,17 @@ protected override List<String> GetRequiredProjections()
return requiredProjections;
}

public override ContainerBuilder SetupTransactionProcessorContainer()
{

List<String> variables = new List<String>();
variables.Add($"OperatorConfiguration:PataPawaPrePay:Url=http://{this.TestHostContainerName}:{DockerPorts.TestHostPort}/api/patapawaprepay");

this.AdditionalVariables.Add(ContainerType.FileProcessor, variables);

return base.SetupTransactionProcessorContainer();
}

/// <summary>
/// Starts the containers for scenario run.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,26 +30,26 @@
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="9.0.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.5" />
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="9.0.5" />
<PackageReference Include="SecurityService.Client" Version="2025.5.2-build82" />
<PackageReference Include="SecurityService.IntegrationTesting.Helpers" Version="2025.5.2-build82" />
<PackageReference Include="SecurityService.Client" Version="2025.7.2-build89" />
<PackageReference Include="SecurityService.IntegrationTesting.Helpers" Version="2025.7.2-build89" />
<PackageReference Include="Shouldly" Version="4.3.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="Reqnroll.Tools.MsBuild.Generation" Version="2.4.1" />
<PackageReference Include="NUnit" Version="4.3.2" />
<PackageReference Include="NUnit3TestAdapter" Version="5.0.0" />
<PackageReference Include="Reqnroll" Version="2.4.1" />
<PackageReference Include="Reqnroll.NUnit" Version="2.4.1" />
<PackageReference Include="Shared.IntegrationTesting" Version="2025.6.2" />
<PackageReference Include="Shared.IntegrationTesting" Version="2025.7.10" />
<PackageReference Include="Selenium.Support" Version="4.29.0" />
<PackageReference Include="Selenium.WebDriver" Version="4.29.0" />

<PackageReference Include="MessagingService.IntegrationTesting.Helpers" Version="2025.3.2-build77" />
<PackageReference Include="MessagingService.IntegrationTesting.Helpers" Version="2025.7.2-build82" />

<PackageReference Include="TransactionProcessor.Client" Version="2025.5.2-build186" />
<PackageReference Include="TransactionProcessor.Client" Version="2025.7.2-build189" />

<PackageReference Include="TransactionProcessor.Database" Version="2025.5.2-build186" />
<PackageReference Include="TransactionProcessor.Database" Version="2025.7.2-build189" />

<PackageReference Include="TransactionProcessor.IntegrationTesting.Helpers" Version="2025.5.2-build186" />
<PackageReference Include="TransactionProcessor.IntegrationTesting.Helpers" Version="2025.7.2-build189" />
</ItemGroup>

<ItemGroup>
Expand Down
Loading
Loading