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 QRCoder;
|
||||
using System.Reflection;
|
||||
using MediatR;
|
||||
|
||||
namespace EnvelopeGenerator.Application;
|
||||
|
||||
@@ -56,6 +57,19 @@ public static class DependencyInjection
|
||||
services.AddMediatR(cfg =>
|
||||
{
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user