Add MediatR pipeline behaviors for SignCommand
Introduced MediatR to the project by adding the `using MediatR;` directive in `DependencyInjection.cs`. Registered pipeline behaviors for the `Signature.Commands.SignCommand` to enforce a structured execution order: 1. AnnotationBehavior: Saves annotations. 2. DocStatusBehavior: Creates document status. 3. HistoryBehavior: Records history. 4. SendSignedMailBehavior: Sends notification email (executes last). These changes improve the command handling pipeline by ensuring sequential and reliable execution of behaviors.
This commit is contained in:
@@ -7,6 +7,7 @@ using Microsoft.Extensions.DependencyInjection;
|
|||||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||||
using QRCoder;
|
using QRCoder;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using MediatR;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application;
|
namespace EnvelopeGenerator.Application;
|
||||||
|
|
||||||
@@ -56,6 +57,19 @@ public static class DependencyInjection
|
|||||||
services.AddMediatR(cfg =>
|
services.AddMediatR(cfg =>
|
||||||
{
|
{
|
||||||
cfg.RegisterServicesFromAssembly(Assembly.GetExecutingAssembly());
|
cfg.RegisterServicesFromAssembly(Assembly.GetExecutingAssembly());
|
||||||
|
|
||||||
|
// Register SignCommand pipeline behaviors in execution order
|
||||||
|
// 1. AnnotationBehavior - Saves annotations (executes first)
|
||||||
|
cfg.AddBehavior<IPipelineBehavior<Signature.Commands.SignCommand, Unit>, Signature.Behaviors.AnnotationBehavior>();
|
||||||
|
|
||||||
|
// 2. DocStatusBehavior - Creates document status (executes second)
|
||||||
|
cfg.AddBehavior<IPipelineBehavior<Signature.Commands.SignCommand, Unit>, Signature.Behaviors.DocStatusBehavior>();
|
||||||
|
|
||||||
|
// 3. HistoryBehavior - Records history (executes third)
|
||||||
|
cfg.AddBehavior<IPipelineBehavior<Signature.Commands.SignCommand, Unit>, Signature.Behaviors.HistoryBehavior>();
|
||||||
|
|
||||||
|
// 4. SendSignedMailBehavior - Sends notification email (executes LAST, only if all previous succeed)
|
||||||
|
cfg.AddBehavior<IPipelineBehavior<Signature.Commands.SignCommand, Unit>, Signature.Behaviors.SendSignedMailBehavior>();
|
||||||
});
|
});
|
||||||
|
|
||||||
return services;
|
return services;
|
||||||
|
|||||||
Reference in New Issue
Block a user