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
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="EstateManagement.Client" Version="2024.6.3-build111" />
<PackageReference Include="EstateManagement.Database" Version="2024.6.3-build111" />
<PackageReference Include="EstateManagement.Client" Version="2024.6.5" />
<PackageReference Include="EstateManagement.Database" Version="2024.6.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.3" />
<PackageReference Include="MessagingService.Client" Version="2024.4.2" />
<PackageReference Include="SecurityService.Client" Version="2024.4.2" />
<PackageReference Include="Shared.DomainDrivenDesign" Version="2024.6.4" />
<PackageReference Include="Shared.EventStore" Version="2024.6.4" />
<PackageReference Include="SecurityService.Client" Version="2024.5.1" />
<PackageReference Include="Shared.DomainDrivenDesign" Version="2024.7.1" />
<PackageReference Include="Shared.EventStore" Version="2024.7.1" />
<PackageReference Include="MediatR" Version="12.2.0" />
<PackageReference Include="System.IO.Abstractions" Version="21.0.2" />
<PackageReference Include="System.ServiceModel.Duplex" Version="6.0.0" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="ClientProxyBase" Version="2024.6.4" />
<PackageReference Include="ClientProxyBase" Version="2024.7.1" />
</ItemGroup>

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

<ItemGroup>
<PackageReference Include="Shared.DomainDrivenDesign" Version="2024.6.4" />
<PackageReference Include="Shared.DomainDrivenDesign" Version="2024.7.1" />
</ItemGroup>

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

<ItemGroup>
<PackageReference Include="Shared.EventStore" Version="2024.6.4" />
<PackageReference Include="Shared.EventStore" Version="2024.7.1" />
</ItemGroup>

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

<ItemGroup>
<PackageReference Include="EstateManagement.Client" Version="2024.6.3-build111" />
<PackageReference Include="EstateManagement.IntegrationTesting.Helpers" Version="2024.6.3-build111" />
<PackageReference Include="EstateManagement.Client" Version="2024.6.5" />
<PackageReference Include="EstateManagement.IntegrationTesting.Helpers" Version="2024.6.5" />
<PackageReference Include="Reqnroll" Version="1.0.1" />
</ItemGroup>

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

<ItemGroup>
<PackageReference Include="ClientProxyBase" Version="2024.6.4" />
<PackageReference Include="ClientProxyBase" Version="2024.7.1" />
<PackageReference Include="Ductus.FluentDocker" Version="2.10.59" />
<PackageReference Include="EstateManagement.Client" Version="2024.6.3-build111" />
<PackageReference Include="EstateManagement.IntegrationTesting.Helpers" Version="2024.6.3-build111" />
<PackageReference Include="EstateManagement.Client" Version="2024.6.5" />
<PackageReference Include="EstateManagement.IntegrationTesting.Helpers" Version="2024.6.5" />
<PackageReference Include="EventStoreProjections" Version="2023.12.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="SecurityService.Client" Version="2024.4.2" />
<PackageReference Include="SecurityService.IntegrationTesting.Helpers" Version="2024.4.2" />
<PackageReference Include="Shared.IntegrationTesting" Version="2024.6.4" />
<PackageReference Include="SecurityService.Client" Version="2024.5.1" />
<PackageReference Include="SecurityService.IntegrationTesting.Helpers" Version="2024.5.1" />
<PackageReference Include="Shared.IntegrationTesting" Version="2024.7.1" />
<PackageReference Include="Shouldly" Version="4.2.1" />
<PackageReference Include="Reqnroll.Tools.MsBuild.Generation" Version="1.0.1" />
<PackageReference Include="NUnit" Version="4.1.0" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.3" />
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.2" />
<PackageReference Include="Shared" Version="2024.6.4" />
<PackageReference Include="Shared" Version="2024.7.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.3" />
<PackageReference Include="Shared.EventStore" Version="2024.6.4" />
<PackageReference Include="Shared.EventStore" Version="2024.7.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.3">
<PrivateAssets>all</PrivateAssets>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="EstateManagement.Estate.DomainEvents" Version="2024.6.3-build111" />
<PackageReference Include="EstateManagement.Merchant.DomainEvents" Version="2024.6.3-build111" />
<PackageReference Include="FileProcessor.File.DomainEvents" Version="2024.4.3-build56" />
<PackageReference Include="FileProcessor.FileImportLog.DomainEvents" Version="2024.4.3-build56" />
<PackageReference Include="EstateManagement.Estate.DomainEvents" Version="2024.6.5" />
<PackageReference Include="EstateManagement.Merchant.DomainEvents" Version="2024.6.5" />
<PackageReference Include="FileProcessor.File.DomainEvents" Version="2024.5.2" />
<PackageReference Include="FileProcessor.FileImportLog.DomainEvents" Version="2024.5.2" />

<PackageReference Include="Shared" Version="2024.6.4" />
<PackageReference Include="Shared.EventStore" Version="2024.6.4" />
<PackageReference Include="Shared" Version="2024.7.1" />
<PackageReference Include="Shared.EventStore" Version="2024.7.1" />
</ItemGroup>

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

<ItemGroup>
<PackageReference Include="Shared.DomainDrivenDesign" Version="2024.6.4" />
<PackageReference Include="Shared.DomainDrivenDesign" Version="2024.7.1" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<ItemGroup>
<PackageReference Include="Grpc.Net.Client" Version="2.61.0" />
<PackageReference Include="Shared.EventStore" Version="2024.6.4" />
<PackageReference Include="Shared.EventStore" Version="2024.7.1" />
</ItemGroup>

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

<ItemGroup>
<PackageReference Include="Shared.DomainDrivenDesign" Version="2024.6.4" />
<PackageReference Include="Shared.DomainDrivenDesign" Version="2024.7.1" />
</ItemGroup>

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

<ItemGroup>
<PackageReference Include="Grpc.Net.Client" Version="2.61.0" />
<PackageReference Include="Shared.EventStore" Version="2024.6.4" />
<PackageReference Include="Shared.EventStore" Version="2024.7.1" />
</ItemGroup>

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

<ItemGroup>
<PackageReference Include="Shared.DomainDrivenDesign" Version="2024.6.4" />
<PackageReference Include="Shared.DomainDrivenDesign" Version="2024.7.1" />
</ItemGroup>

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

<ItemGroup>
<PackageReference Include="Grpc.Net.Client" Version="2.61.0" />
<PackageReference Include="Shared.EventStore" Version="2024.6.4" />
<PackageReference Include="Shared.EventStore" Version="2024.7.1" />
</ItemGroup>

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

<ItemGroup>
<PackageReference Include="Shared.DomainDrivenDesign" Version="2024.6.4" />
<PackageReference Include="Shared.DomainDrivenDesign" Version="2024.7.1" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

<ItemGroup>
<PackageReference Include="Grpc.Net.Client" Version="2.61.0" />
<PackageReference Include="Shared.EventStore" Version="2024.6.4" />
<PackageReference Include="Shared.EventStore" Version="2024.7.1" />
</ItemGroup>

<ItemGroup>
Expand Down
40 changes: 39 additions & 1 deletion TransactionProcessor/Bootstrapper/MiscRegistry.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
namespace TransactionProcessor.Bootstrapper
using Microsoft.Extensions.Logging;

namespace TransactionProcessor.Bootstrapper
{
using System.Collections.Generic;
using System;
using System.Diagnostics.CodeAnalysis;
using System.IO.Abstractions;
using BusinessLogic.Common;
Expand All @@ -8,6 +12,9 @@
using Factories;
using Lamar;
using Microsoft.Extensions.DependencyInjection;
using NuGet.Protocol.Plugins;
using Shared.General;
using Shared.Middleware;

/// <summary>
///
Expand All @@ -29,8 +36,39 @@ public MiscRegistry()
this.AddSingleton<IFeeCalculationManager, FeeCalculationManager>();
this.AddSingleton<IVoucherManagementManager, VoucherManagementManager>();
this.AddSingleton<IMemoryCacheWrapper, MemoryCacheWrapper>();

bool logRequests = ConfigurationReaderExtensions.GetValueOrDefault<Boolean>("MiddlewareLogging", "LogRequests", true);
bool logResponses = ConfigurationReaderExtensions.GetValueOrDefault<Boolean>("MiddlewareLogging", "LogResponses", true);
LogLevel middlewareLogLevel = ConfigurationReaderExtensions.GetValueOrDefault<LogLevel>("MiddlewareLogging", "MiddlewareLogLevel", LogLevel.Warning);

RequestResponseMiddlewareLoggingConfig config =
new RequestResponseMiddlewareLoggingConfig(middlewareLogLevel, logRequests, logResponses);

this.AddSingleton(config);
}

#endregion
}

public static class ConfigurationReaderExtensions
{
public static T GetValueOrDefault<T>(String sectionName, String keyName, T defaultValue)
{
try
{
var value = ConfigurationReader.GetValue(sectionName, keyName);

if (String.IsNullOrEmpty(value))
{
return defaultValue;
}

return (T)Convert.ChangeType(value, typeof(T));
}
catch (KeyNotFoundException kex)
{
return defaultValue;
}
}
}
}
22 changes: 14 additions & 8 deletions TransactionProcessor/Bootstrapper/OperatorRegistry.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
namespace TransactionProcessor.Bootstrapper
using Shared.Middleware;

namespace TransactionProcessor.Bootstrapper
{
using System;
using System.Diagnostics.CodeAnalysis;
Expand Down Expand Up @@ -47,13 +49,17 @@ public OperatorRegistry()
this.For<IOperatorProxy>().Add<PataPawaPrePayProxy>().Named("PataPawaPrePay").Singleton();
this.For<IOperatorProxy>().Add<VoucherManagementProxy>().Named("Voucher").Singleton();

this.AddTransient<Func<PataPawaPostPayServiceClient, String,String, IPataPawaPostPayService>>(context => (client,clientName,
url) => {
client.Endpoint.SetTraceLogging(clientName);
IPataPawaPostPayService channel =
client.ChannelFactory.CreateChannel(new EndpointAddress(url));
return channel;
});

this.AddTransient<Func<PataPawaPostPayServiceClient, String, String, IPataPawaPostPayService>>(context =>
(client, clientName,
url) =>
{
var loggingConfig = Startup.Container.GetInstance<RequestResponseMiddlewareLoggingConfig>();
client.Endpoint.SetTraceLogging(clientName, loggingConfig);
IPataPawaPostPayService channel =
client.ChannelFactory.CreateChannel(new EndpointAddress(url));
return channel;
});


this.AddTransient<Func<String, IOperatorProxy>>(context => operatorIdentifier => {
Expand Down
46 changes: 39 additions & 7 deletions TransactionProcessor/Common/ClientMessageLogger.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
namespace TransactionProcessor.Common;
using Microsoft.Extensions.Logging;
using Shared.Middleware;

namespace TransactionProcessor.Common;

using System;
using System.Diagnostics.CodeAnalysis;
Expand All @@ -13,27 +16,56 @@ internal sealed class ClientMessageLogger :
#region Fields

private readonly String ClientName;
private readonly RequestResponseMiddlewareLoggingConfig Config;

private enum LogType
{
Request,
Response
}

#endregion

#region Constructors

public ClientMessageLogger(String clientName){
public ClientMessageLogger(String clientName, RequestResponseMiddlewareLoggingConfig config)
{
this.ClientName = clientName;
Config = config;
}

#endregion

#region Methods

public void AfterReceiveReply(ref Message reply, Object correlationState){
Logger.LogInformation($"Received SOAP reply from {this.ClientName}:\r\n{reply}");
}
public void AfterReceiveReply(ref Message reply, Object correlationState) => LogMessage(LogType.Request,$"Received SOAP reply from {this.ClientName}:\r\n{reply}");


public Object BeforeSendRequest(ref Message request, IClientChannel channel){
Logger.LogInformation($"Sending SOAP request to {this.ClientName}:\r\n{request}");
public Object BeforeSendRequest(ref Message request, IClientChannel channel)
{
LogMessage(LogType.Response, $"Sending SOAP request to {this.ClientName}:\r\n{request}");
return null;
}


private void LogMessage(LogType type, String message)
{
if (Config.LogRequests == false && type == LogType.Request)
return;
if (Config.LogResponses == false && type == LogType.Response)
return;

Action action = Config.LoggingLevel switch
{
LogLevel.Warning => () => Logger.LogWarning(message),
LogLevel.Information => () => Logger.LogInformation(message),
LogLevel.Debug => () => Logger.LogDebug(message),
LogLevel.Trace => () => Logger.LogTrace(message),
_ => () => Logger.LogInformation(message)
};

action();
}

#endregion
}
11 changes: 8 additions & 3 deletions TransactionProcessor/Common/ClientMessageLoggingBehavior.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
namespace TransactionProcessor.Common;
using Shared.Middleware;

namespace TransactionProcessor.Common;

using System;
using System.ServiceModel.Channels;
Expand All @@ -10,13 +12,16 @@ internal sealed class ClientMessageLoggingBehavior :
#region Fields

private readonly String ClientName;
private readonly RequestResponseMiddlewareLoggingConfig Config;

#endregion

#region Constructors

public ClientMessageLoggingBehavior(String clientName){
public ClientMessageLoggingBehavior(String clientName, RequestResponseMiddlewareLoggingConfig config)
{
this.ClientName = clientName;
Config = config;
}

#endregion
Expand All @@ -27,7 +32,7 @@ public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterColle
}

public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime){
clientRuntime.ClientMessageInspectors.Add(new ClientMessageLogger(this.ClientName));
clientRuntime.ClientMessageInspectors.Add(new ClientMessageLogger(this.ClientName, this.Config));
}

public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher){
Expand Down
Loading