26 lines
938 B
C#
26 lines
938 B
C#
|
|
using Microsoft.ApplicationInsights;
|
|||
|
|
|
|||
|
|
namespace PlanTempus.Components.Users.Create;
|
|||
|
|
|
|||
|
|
public class CreateUserHandlerDecorator : ICommandHandler<CreateUserCommand, CreateUserResult>
|
|||
|
|
{
|
|||
|
|
private readonly ICommandHandler<CreateUserCommand, CreateUserResult> _decoratedHandler;
|
|||
|
|
private readonly TelemetryClient _telemetryClient;
|
|||
|
|
|
|||
|
|
public CreateUserHandlerDecorator(
|
|||
|
|
ICommandHandler<CreateUserCommand, CreateUserResult> decoratedHandler,
|
|||
|
|
TelemetryClient telemetryClient)
|
|||
|
|
{
|
|||
|
|
_decoratedHandler = decoratedHandler;
|
|||
|
|
_telemetryClient = telemetryClient;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public async Task<CreateUserResult> Handle(CreateUserCommand command)
|
|||
|
|
{
|
|||
|
|
_telemetryClient.TrackTrace($"Before handling {nameof(CreateUserCommand)}");
|
|||
|
|
var result = await _decoratedHandler.Handle(command);
|
|||
|
|
_telemetryClient.TrackTrace($"After handling {nameof(CreateUserCommand)}");
|
|||
|
|
return result;
|
|||
|
|
}
|
|||
|
|
}
|